bug report

Manfred Spraul manfreds@colorfullife.com
Sat Jan 15 19:09:08 2000


I'm tracing syslog message someone else had with 2.2.14, rtl8139 on a
Dual-PIII Computer:
(driver version 1.07)
<<<<<<<<<<<<<
   After I started to use RTL8139 in 100 Mbit mode I started to get this
   under heavy traffic:
eth3: RTL8139 Interrupt line blocked, status 4.
eth3: RTL8139 Interrupt line blocked, status 4.
eth3: SMP simultaneous entry of an interrupt handler.
eth3: RTL8139 Interrupt line blocked, status 4.

This is
eth3: SMC1211TX EZCard 10/100 (RealTek RTL8139) at 0xe800, IRQ 16,
00:e0:29:33:f1:97.
There is also rtl8029 card on this same irq.
Box is Dual P3-450 with 2.2.14 kernel
>>>>>>>>>>>>>>>>>>

> eth3: RTL8139 Interrupt line blocked, status 4.
> eth3: RTL8139 Interrupt line blocked, status 4.
Is it possible that these messages where caused by the latency <"hardware
triggers interrupt", cpu acknowledges the interrupt>, and rtl8129_timer()
was running on the other cpu at exactly the same time?

> eth3: SMP simultaneous entry of an interrupt handler.
A possible explanation would be that rtl8129_interrupt() is running on both
cpus:
* one cpu because the hardware interrupt arrived
* one cpu because the timer called the function.

Alan proposed to add a spin_lock_irqsave() to rtl8129_interrupt() to protect
it against the calls from rtl8129_timer(). Do you agree?

--
    Manfred


 | To unsubscribe, send mail to Majordomo@cesdis.gsfc.nasa.gov, and within the
 |  body of the mail, include only the text:
 |   unsubscribe this-list-name youraddress@wherever.org
 | You will be unsubscribed as speedily as possible.