Re: BUG: using smp_processor_id() in preemptible [00000000] code:pm-suspend/17334

From: Avi Kivity
Date: Wed Jun 04 2008 - 07:16:47 EST


Jiri Kosina wrote:
On Wed, 4 Jun 2008, Thomas Gleixner wrote:

OK, so it looks like KVM could be wrongly enabling IRQs/preemption on the resume path. The original bug-report is on http://lkml.org/lkml/2008/4/7/130
sysdev_resume() is supposed to run with interrupts disabled, at least
it was that way when the timekeeping_resume code was written.

True. However in Zdenek's case, interrupts/preemption gets enabled somewhere during the resume, which correctly triggers the warning.


We might add a check to the generic resume controller, to check after each ->resume() method and warn in case of interrupts enabled. That will pinpoint the offending driver immediately.

--
Do not meddle in the internals of kernels, for they are subtle and quick to panic.

--
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/