Re: [RFC 2/2] rcu: Remove ->dynticks_nmi_nesting from struct rcu_dynticks

From: Joel Fernandes
Date: Fri Jun 22 2018 - 16:05:54 EST


On Fri, Jun 22, 2018 at 02:32:47PM -0400, Steven Rostedt wrote:
> On Fri, 22 Jun 2018 11:19:16 -0700
> Joel Fernandes <joel@xxxxxxxxxxxxxxxxx> wrote:
>
> > Sure. So in a later thread you mentioned "usermode helpers". I took a closer
> > look at that subsystem, and it seems you can execute usermode helpers from
> > atomic sections with help of UMH_NO_WAIT flag.
> >
> > Then I checked where this flag is used and it turns out its from the
> > mce_work_trigger function in x86/kernel/cpu/mcheck/dev-mcelog.c which can be
> > called infact from an interrupt context (mce_notify_irq).
> >
> > Is this the usecase you remember causing this weird transitions to userspace?
>
> But this case still looks like it uses work queues, it just doesn't
> wait for the result.
>
> I'll have to look at the code from what it looked like back in 2011, to
> see if there was an actual issue here back then.

Good point Steve. So I guess in the current kernel sources, there's no code
that uses UMH in IRQ context AFAICT. I'll go through the google group thread
Paul pointed as well to study the history of the problem a bit more.

thanks,

- Joel