Question on Schedule and Preemption

From: Liu haixiang
Date: Tue Apr 18 2006 - 03:15:04 EST


Hi All,

Now I am developing drivers on Linux 2.6.

My problem is that from time to time, I will get log meesage from
kernel: "scheduling while atomic ..." and the stack will be dumped by
the kernel.

Then I investigate the code in sched.c but don't understand. Anybody
can clarify this piece of code for me?

if (likely(!current->exit_state)) {
if (unlikely(in_atomic())) {
printk(KERN_ERR "scheduling while atomic: "
"%s/0x%08x/%d\n",
current->comm, preempt_count(), current->pid);
dump_stack();
}
}

Thanks a lot

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