Re: [PATCH v2] arm64: entry.S: Do not preempt from IRQ before all cpufeatures are enabled

From: Will Deacon
Date: Wed Oct 16 2019 - 11:53:36 EST


Hi James,

On Wed, Oct 16, 2019 at 10:35:13AM +0100, James Morse wrote:
> On 15/10/2019 21:07, Will Deacon wrote:
> > Patch looks good apart from one thing...
> >
> > On Tue, Oct 15, 2019 at 06:25:44PM +0100, James Morse wrote:
> >> diff --git a/include/linux/sched.h b/include/linux/sched.h
> >> index 2c2e56bd8913..67a1d86981a9 100644
> >> --- a/include/linux/sched.h
> >> +++ b/include/linux/sched.h
> >> @@ -223,6 +223,7 @@ extern long schedule_timeout_uninterruptible(long timeout);
> >> extern long schedule_timeout_idle(long timeout);
> >> asmlinkage void schedule(void);
> >> extern void schedule_preempt_disabled(void);
> >> +asmlinkage void preempt_schedule_irq(void);
> >
> > I don't understand the need for this hunk, since we're only calling the
> > function from C now. Please could you explain?
>
> (A prototype is needed to make the thing build[0], but)

Got it, thanks. I'm surprised the prototype doesn't exist already, but it
looks like we'll be the first C caller.

I'll queue this as a fix.

Will