lkml.org 
[lkml]   [2005]   [Oct]   [5]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: 2.6.14-rc3-rt2

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 majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2005-10-05 15:39    [W:0.129 / U:16.536 seconds]
©2003-2017 Jasper Spaans. hosted at Digital OceanAdvertise on this site