Messages in this thread |  | | Date | Wed, 5 Nov 2008 14:01:13 +0100 | From | Ingo Molnar <> | Subject | Re: sys_sched_yield keeps locked irq before call of schedule() |
| |
* Zdenek Kabelac <zdenek.kabelac@gmail.com> wrote:
> Hi > > With recent 2.6.28-rc3 kernel I've noticed that schedule() is > sometime being called with locked IRQ > > Call Trace: > [<ffffffff81334592>] _spin_lock_irq+0x92/0xa0 > [<ffffffff8133126b>] schedule+0x13b/0x4cb > [<ffffffff81013c10>] ? native_sched_clock+0x70/0xa0 > [<ffffffff81040930>] ? sys_sched_yield+0x0/0x80 > [<ffffffff810409a5>] sys_sched_yield+0x75/0x80 > [<ffffffff8100c6bb>] system_call_fastpath+0x16/0x1b
is this some special warning you added? The stock kernel certainly does not emit this warning.
> Which is a result of the function sys_sched_yield() that calls > schedule() while it keeps irq. > > Is it correct to call the function schedule() which 'usually' > expects irq being unlocked and do some 'lenghty' operations (i.e. > debug statistics) which do not need to keep irq locked for such a > long time?
the debug statistics are all fast and we disable interrupts straight away when entering the schedule().
Ingo
|  |