Messages in this thread |  | | Date | Tue, 8 Apr 2008 00:23:52 +0200 | From | Andi Kleen <> | Subject | Re: BUG: using smp_processor_id() during suspend with 2.6.25-rc8 |
| |
On Tue, Apr 08, 2008 at 12:11:17AM +0200, Jiri Kosina wrote: > On Tue, 8 Apr 2008, Andi Kleen wrote: > > > > I know. However preempt_count is a little bit inconsistent in such cases > > > though. > > And? interrupts off beats preempt count anyways. Why did you write the > > patch? Was there a (incorrect) warning triggered? > > Reported at http://lkml.org/lkml/2008/4/7/130 > > BTW is also mce_init() (called from mce_resume()) guaranteed to run with > IRQs off?
[cc rafael]
The mce resume is a sysdev.
sysdevs were always supposed to run completely with interrupts off. If they don't anymore that's some kind of higher level resume code bug which you need to fix there, not hack around in the low level code.
If it does that it likely broke more code too.
Obviously turning on preemption anywhere around the machine check is fatal because it touches CPU state and if you reschedule you could switch to another CPU and change or access the wrong CPU's state.
-Andi
|  |