Re: 2.6.14-rc3-rt2

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Ingo,

I just notice that I get the following output:

BUG: gdm:4351 task might have lost a preemption check!
 [<c010433f>] dump_stack+0x1f/0x30 (20)
 [<c011c06f>] preempt_enable_no_resched+0x5f/0x70 (20)
 [<c011b6c9>] sys_sched_yield+0x69/0xb0 (24)
 [<c01033d6>] syscall_call+0x7/0xb (-8116)
---------------------------
| preempt count: 00000000 ]
| 0-level deep critical section nesting:
----------------------------------------

------------------------------
| showing all locks held by: |  (gdm/4351 [dbb727a0, 118]):
------------------------------


I looked at this a little and the offending code is here in
sys_sched_yield:

	/*
	 * Since we are going to call schedule() anyway, there's
	 * no need to preempt or enable interrupts:
	 */
	spin_unlock_no_resched(&rq->lock);

	__schedule();

So what's the reason for the message?  Is it to detect when a preemption
count goes to zero and isn't rescheduled?  At least in this part of the
kernel it's ok because it is just about to call schedule.  So is there
some way to flag this call to not produce the message?  Since the message
is only outputed once, it seems useless if it only gets outputted on a
false positive.

-- 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]
  Powered by Linux