Messages in this thread | | | Date | Fri, 6 Jun 2008 09:41:22 -0700 | From | "Paul E. McKenney" <> | Subject | Re: Recoverable MCA interrupts from NMI handlers? IPMI and RCU? |
| |
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
| |