Re: Recoverable MCA interrupts from NMI handlers? IPMI and RCU?

From: Paul E. McKenney
Date: Fri Jun 06 2008 - 12:41:40 EST


On Fri, Jun 06, 2008 at 09:12:44AM -0700, H. Peter Anvin wrote:
> Paul E. McKenney wrote:
> >Hello!
> >
> >A couple of questions about the x86 architecture...
> >
> >1. Can recoverable machine-check exceptions occur from within
> > NMI handlers? If so, there is a bug in preemptable RCU's
> > CONFIG_NO_HZ handling that could be fixed by a patch something
> > like the one shown below (untested, probably does not even
> > compile).
>
> In theory, recoverable #MC's can occur anywhere. It's an exception.

Thank you for the info! I guess I had better get busy testing the
patch, then.

> >2. Does the IPMI subsystem make use of RCU read-side primitives
> > from within SMI handlers? If so, we need the SMI handlers to
> > invoke rcu_irq_enter() upon entry and rcu_irq_exit() upon exit
> > when they are invoked from dynticks idle state. Or something
> > similar, depending on restrictions on code within SMI handlers.
>
> Not sure about that one. I clearly need to look carefully into this...
> SMI is quite "special" in that it sets up an entirely new environment;
> the concept of executing kernel code at SMI level makes me want to run
> away and hide.

Well, as long as the SMI handlers don't include calls to rcu_read_lock()
and rcu_read_unlock(), then they don't need to include any calls to
rcu_irq_enter() and rcu_irq_exit(). ;-)

Thanx, Paul
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/