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