lkml.org 
[lkml]   [1997]   [Apr]   [29]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
From
SubjectRe: SMP _death_
Date
In article <Pine.LNX.3.91.970428084352.4337A-100000@chaos.analogic.com>,
Richard B. Johnson <root@analogic.com> wrote:
>The following patch seems to fix the SMP death problem on my machine.
>
>--- /usr/src/linux-2.1.36/arch/i386/kernel/irq.c.orig Mon Apr 28 01:31:43 1997
>+++ /usr/src/linux-2.1.36/arch/i386/kernel/irq.c Mon Apr 28 08:34:36 1997
>@@ -543,6 +543,7 @@
> {
> struct irqaction * action;
> int do_random, cpu = smp_processor_id();
>+ synchronize_irq();
> irq_enter(cpu, irq);
> kstat.interrupts[irq]++;

Could you try putting the "synchronize_irq()" call into the
"disable_irq()" function instead (arch/i386/kernel/irq.c), which should
fix at least one potential bug in the SCSI mid-layer code (not a bug in
the SCSI code itself, but a bug in disable_irq()).

That particular fix is in my pre-patch-2.1.37, but I have to say that
while my current pre-patch is very interesting indeed, it may be more
prudent to apply just the disable_irq() part.

(But _real_ men get the pre-patch, just to see what magical speedups
have happened: SMP system call latency is noticeably better).

Linus

\
 
 \ /
  Last update: 2005-03-22 13:39    [W:0.112 / U:0.080 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site