Jadro 2.6.3 bad: scheduling while atomic!

Jirka Kosina jikos na jikos.cz
Čtvrtek Červenec 8 10:16:27 CEST 2004


On Thu, 8 Jul 2004, Ladislav Vaiz wrote:

> na notebooku s 2.6.3 (Sarge) a xircom sitovkou se mi objevuje v logu:
> Jul 7 21:41:25 marvin kernel: bad: scheduling while atomic!
> Jul 7 21:41:25 marvin kernel: Call Trace:
> Jul 7 21:41:25 marvin kernel: [<c011dcd6>] schedule+0x596/0x5a0
> Jul 7 21:41:25 marvin kernel: [<c0129ce3>] schedule_timeout+0x63/0xc0
> Jul 7 21:41:25 marvin kernel: [<c0129c70>] process_timeout+0x0/0x10
> Jul 7 21:41:25 marvin kernel: [<c8a3dfcf>] do_reset+0x8f/0x400 [xirc2ps_cs]
> Jul 7 21:41:25 marvin kernel: [<c0121ab0>] printk+0x130/0x190
> Jul 7 21:41:25 marvin kernel: [<c0223ab0>] dev_watchdog+0x0/0xd0
> Jul 7 21:41:25 marvin kernel: [<c8a3d9c9>] do_tx_timeout+0x39/0x90 [xirc2ps_cs]
> Jul 7 21:41:25 marvin kernel: [<c0223b6f>] dev_watchdog+0xbf/0xd0
> Jul 7 21:41:25 marvin kernel: [<c01299bb>] run_timer_softirq+0xcb/0x1c0
> Jul 7 21:41:25 marvin kernel: [<c0125535>] do_softirq+0x95/0xa0
> Jul 7 21:41:25 marvin kernel: [<c010da3b>] do_IRQ+0xfb/0x130
> Jul 7 21:41:25 marvin kernel: [<c010bcf8>] common_interrupt+0x18/0x20

Znamena to ze byl zavolan schedule() (pozadavek na prepnuti kontextu 
procesu) v dobe, kdy (na kernelu se zapnutym CONFIG_PREEMPT) neni 
preempt_count() a tedy neni bezpecne reschedulovat. Muze to znamenat dve 
veci - bud chybu v nekterem miste kernelu v zamykani spinlocku, nebo chybu 
v preemptivnim kernelu. Muzete zkusit nekolik veci:

- upgradovat na novy kernel, jestli uz to nahodou neni vyreseno 
- vypnout CONFIG_PREEMPT
- v pripadne ze neuspejete ani s jednim, reportovat chybu na patricne 
misto (pokud je to vanilla kernel tak do lkml, pokud je to distribucni 
kernel tak distributorovi).

-- 
JiKos.


Další informace o konferenci Linux