Yes I know Paul posted this patch first...
--- linux/arch/i386/kernel/irq.c.orig Fri Mar 28 14:37:06 1997
+++ linux/arch/i386/kernel/irq.c Fri Mar 28 14:37:10 1997
@@ -485,8 +485,8 @@
#else
-#define irq_enter(cpu, irq) do { } while (0)
-#define irq_exit(cpu, irq) do { } while (0)
+#define irq_enter(cpu, irq) atomic_inc(&intr_count)
+#define irq_exit(cpu, irq) atomic_dec(&intr_count)
#endif
This is not the real fix. In fact Linus and myself are going to
delete intr_count altogether as it is a brain damaged concept
especially with the new SMP code. Any instance you see referencing
intr_count in the traditional send, ie.
if(intr_count)
processing_if_in_interrupt_handler();
change that test to
if(in_interrupt())
and make sure that file gets asm/hardirq.h included
---------------------------------------------////
Yow! 11.26 MB/s remote host TCP bandwidth & ////
199 usec remote TCP latency over 100Mb/s ////
ethernet. Beat that! ////
-----------------------------------------////__________ o
David S. Miller, davem@caip.rutgers.edu /_____________/ / // /_/ ><