On Sun, 2005-12-18 at 15:55 -0600, K.R. Foley wrote:
> dump_stack+0x1e/0x20 (20)
> [<c011c9df>] preempt_enable_no_resched+0x5f/0x70 (20)
> [<c0100ff2>] cpu_idle+0xb2/0x100 (40)
> [<c0111446>] start_secondary+0x296/0x340<6>
Ingo,
What's the reason for this printing out in cpu_idle?
#ifdef CONFIG_DEBUG_PREEMPT
void notrace preempt_enable_no_resched(void)
{
static int once = 1;
barrier();
dec_preempt_count();
if (once && !preempt_count()) {
once = 0;
printk(KERN_ERR "BUG: %s:%d task might have lost a preemption check!
\n",
current->comm, current->pid);
dump_stack();
}
}
EXPORT_SYMBOL(preempt_enable_no_resched);
#endif
I can understand the above when using preempt_enable_no_resched, when
you know that you still have preemption on, but sometimes (as in
cpu_idle) it is used just before calling schedule. So this check is
pretty much meaningless.
---
KR,
Does your kernel boot without CONFIG_DEBUG_PREEMPT?
-- Steve
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[Index of Archives]
[Kernel Newbies]
[Netfilter]
[Bugtraq]
[Photo]
[Stuff]
[Gimp]
[Yosemite News]
[MIPS Linux]
[ARM Linux]
[Linux Security]
[Linux RAID]
[Video 4 Linux]
[Linux for the blind]
[Linux Resources]