Re: [patch] IDE problems on SMP, fixed? (fwd)

Wed, 29 Jul 1998 21:28:23 +0200 (CEST)

On Wed, 29 Jul 1998, Gadi Oxman wrote:

> Between the two places we only have a couple of non-functional if()'s
> and assignments to static variables on the stack.

no, no. Sorry. the patch completely removes the ide__sti() for my config,
i have 0 'DISK_RECOVERY...' define. I added it to that other place only
because the timer is read there (jiffies), and we need sti() for that.

I will do some more experimentation soon. I'm afraid it might be some very
nontrivial timing issue though, at some 'magical' instruction boundary the
system starts to fail. That poor instruction probably has nothing to do
with that failure ...

Also i have enabled all kinds of spinlock and IDE debugging, but nothing
came to the console until the lockup. The lockup looks like this:

>>EIP: c011273d <smp_apic_timer_interrupt+49/50>
Trace: c010c921 <apic_timer_interrupt+1d/28>
Trace: c01768d8 <ide_do_request+2d4/53c>
Trace: c0176bb9 <do_hwgroup_request+49/5c>
Trace: c0176be0 <do_ide0_request+14/28>
Trace: c01742f9 <unplug_device+45/54>
Trace: c017a15c <md_thread+178/19c>
Trace: c017a15c <md_thread+178/19c>
Trace: c0179f19 <md_register_thread+81/bc>

the lockup happens somewhere after we enter smp_apic_timer_interrupt(). I
suspect it's the irq_enter() within smp_local_timer_interrupt().

(the trace is not 'exact', the two md_thread entries do not make any
sense, obviously, only one of them is real)

-- mingo

To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to
Please read the FAQ at