Re: Debug: sleeping function called from invalid context

Andrew Morton
2003-08-19T03:33:48Z

"Randy.Dunlap" <rddunlap@osdl.org> wrote:
>
> Debug: sleeping function called with interrupts disabled at
> include/asm/uaccess.h:473

OK, now my vague understanding of what's going on is that the app has
chosen to disable local interupts (via iopl()) and has taken a vm86 trap.
I guess we'd see the same thing if the app performed some sleeping syscall
while interrupts are disabled.

If that is correct then it really is just a false positive.

It could also point at a bug in the application; it is presumably disabling
interrupts for some form of locking, atomicity or timing guarantee. But it
will not lock against other CPUs and the fact that it trapped into the
kernel indicates tat it may not be getting the atomicity which it desires.