Re: bugs in __schedule()

From: Satyam Sharma
Date: Tue Jun 26 2007 - 04:25:19 EST


Hi Gavin,

On 6/26/07, gshan <gshan@xxxxxxxxxxxxxxxxxx> wrote:
Here is the all output I have:

# ifconfig mgt0 10.0.51.27
BUG: scheduling while atomic: exe/0x00000101/752

Yup, you can't sleep in taskets, they're atomic.

caller is schedule+0x4c/0xe4
Call trace:
[c02dc4dc] __schedule+0x654/0x788
[c02dc6f4] schedule+0x4c/0xe4
[c02dbe24] __compat_down+0xc8/0x12c

So, you can't use / acquire semaphores in them. Use spinlocks.
If the shared data is also accessed from process context, use
spin_lock_bh() from the process context code.

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