Re: [PATCH v2 1/2] maple_tree: Disable mas_wr_append() when other readers are possible

From: Liam R. Howlett
Date: Tue Sep 12 2023 - 10:18:05 EST


* Matthew Wilcox <willy@xxxxxxxxxxxxx> [230912 10:10]:
> On Mon, Sep 11, 2023 at 07:54:52PM -0400, Liam R. Howlett wrote:
> > Taking the mutex lock in kernel/irq/manage.c __setup_irq() is calling a
> > cond_resched().
> >
> > >From what Michael said [1] in this thread, since something has already
> > set TIF_NEED_RESCHED, it will eventually enable interrupts on us.
> >
> > I've traced this to running call_rcu() in kernel/rcu/tiny.c and
> > is_idle_task(current) is true, which means rcu runs:
> > /* force scheduling for rcu_qs() */
> > resched_cpu(0);
> >
> > the task is set idle in sched_init() -> init_idle() and never changed,
> > afaict.
>
> Should calling init_idle() be deferred until after interrupts are
> all set up?

At this point it is not platform specific code so I don't know what kind
of fallout I'll produce with a change like that, but I was wondering if
the thread running the boot process is really 'idle'?