Skip to contentSkip to conversation

eata irq abuse (was: Re: Linux 2.5.60)

DISCUSSION Manfred Spraul 2 participants 2 messages Feb 11, 2003 SCSI

lore
Share & tools
lore
#0 lore raw
Quoted 1 line · Zephaniah

kernel BUG at mm/slab.c:1102!

Slab notices that a function that expects enabled local interrupts is called with disabled local interrupts.

Quoted 2 lines
Call Trace:
[<c014a3b3>] do_tune_cpucache+0x83/0x240

do_tune_cpucache:
the function call smp_call_function(), and that is only permitted with enabled local interrupts. The complain is correct.

Quoted 3 lines
[<c014a300>] do_ccpupdate_local+0x0/0x30
[<c014a5c1>] enable_cpucache+0x51/0x80
[<c0148ea5>] kmem_cache_create+0x4a5/0x560

Within kmem_cache_create. kmem_cache_create checks for in_interrupt(), thus someone probably does

	spin_lock_irqsave();
	kmem_cache_create();
Quoted 1 line

[<c0285dd2>] scsi_setup_command_freelist+0xa2/0x130

calls kmem_cache_create()

Quoted 1 line

[<c02887e0>] scsi_register+0x3c0/0x660

calls scsi_setup_command_freelist

Quoted 1 line

[<c02919a1>] get_pci_dev+0x31/0x50

?? probably stale

Quoted 1 line

[<c0291df2>] port_detect+0x3c2/0xe50

Do you have an eata scsi controller?

Ugs.
eata2x_detect():
* spin_lock_irqsave();
* calls port_detect();
* * spin_unlock();
* * scsi_register.

Eata maintainers: Is that necessary?
Why do the interrupts remain disabled across scsi_register? Is that a bug workaround, or an oversight?
I'd use

	spin_unlock_irq();
	scsi_register();
	spin_lock_irq();

--
Manfred

#1 lore raw
Quoted 3 lines · Manfred Spraul
Quoted 1 line

[<c0291df2>] port_detect+0x3c2/0xe50

Do you have an eata scsi controller?

Yes I do, does exactly what I need most of the time.

The problem goes away if I compile SCSI as modules, however it happens when I try to load the modules, so..

Anything I can do to help?

Zephaniah E. Hull.

Signature · 7 lines
	1024D/E65A7801 Zephaniah E. Hull <[email protected]>
	   92ED 94E4 B1E6 3624 226D  5727 4453 008B E65A 7801
	    CCs of replies from mailing lists are requested.

"This system operates under martial law. The constitution is suspended. You
 have no rights except as declared by the area commander. Violators will be
  shot. Repeat violators will be repeatedly shot...."       -from "A_W_O_L"