Skip to contentSkip to conversation

3c59x: shared interrupt problem

DISCUSSION Gerhard Pircher 2 participants 3 messages Mar 11, 2009 – Mar 12, 2009

Subsystems (2)
lore
Share & tools
lore
#0 lore raw

-------- Original-Nachricht --------

Quoted 21 lines

Datum: Wed, 11 Mar 2009 12:31:30 +0100
Von: Steffen Klassert <[email protected]>
An: Gerhard Pircher <[email protected]>
CC: [email protected], [email protected], [email protected]
Betreff: Re: 3c59x: shared interrupt problem

Quoted 10 lines · Gerhard Pircher
Quoted 6 lines

This basically reverts a patch from akpm (bitkeeper cset 1.1046.95.8) This patch was to workaround lots of "nobody cared" warnings generated by boomerang_interrupt().
I added Andrew to the Cc, perhaps he can remember some details on this.

I'm afraid this patch didn't fix the problem. I'm using scp to copy a big ISO file from my PC to the AmigaOne and the network transfer still stalls.
I made a photo from the kernel oops printed out during shutdown.

Your photo shows exactly such a "nobody cared" warning that Andrew wanted to get rid of with his patch.

Quoted 8 lines
Quoted 2 lines

BTW: shouldn't the driver use vortex_interrupt() to handle interrupts for a 3c920?

It depends on the content of your NIC's eeprom which ISR the driver will use.
If your NIC is full bus master capable boomerang_interrupt() will be used, if not vortex_interrupt() will be used. As far as I know the 3c920 is of "tornado" type, so it should be full bus master capable.

Okay, I thought there is something wrong, because the 3c920 is listed in the "vortex" device table.

Quoted 5 lines

Your first report showed dnComplete as a pending interrupt source. Since the driver uses tx_interrupt_mitigation, this happens just if the tx ring is full. Could you please test the patch below? This disables tx_interrupt_mitigation, so the dnComplete interrupt will be triggered with every packet.

I disabled tx_interrupt_mitigation and tested it with and w/o the patch for boomerang_interrupt(). The network transfer stalls in both cases sooner or later.

Here are two photos from the kernel output:
- no tx_interrupt_mitigation and patch for booomerang_interrupt():
http://boot.homelinux.org:8080/kernel/oops_boomerang_irq_tx_irq_mitig.jpg
- no tx_interrupt_mitigation only:
http://boot.homelinux.org:8080/kernel/oops_tx_irq_mitig.jpg

Thanks!

best regards,

Gerhard

Signature · 1 line
Psssst! Schon vom neuen GMX MultiMessenger gehört? Der kann`s mit allen: http://www.gmx.net/de/go/multimessenger01
#1 lore raw
Quoted 10 lines · Gerhard Pircher
Quoted 6 lines

Your first report showed dnComplete as a pending interrupt source. Since the driver uses tx_interrupt_mitigation, this happens just if the tx ring is full. Could you please test the patch below? This disables tx_interrupt_mitigation, so the dnComplete interrupt will be triggered with every packet.

I disabled tx_interrupt_mitigation and tested it with and w/o the patch for boomerang_interrupt(). The network transfer stalls in both cases sooner or later.

Quoted 6 lines

Here are two photos from the kernel output:
- no tx_interrupt_mitigation and patch for booomerang_interrupt():
http://boot.homelinux.org:8080/kernel/oops_boomerang_irq_tx_irq_mitig.jpg
- no tx_interrupt_mitigation only:
http://boot.homelinux.org:8080/kernel/oops_tx_irq_mitig.jpg

Your pictures show just a message at shutdown. Are there any other unusual messages from the 3c59x driver in your logs? In particular I'm interested in "transmit timed out" messages.

#2 lore raw

-------- Original-Nachricht --------

Quoted 20 lines

Datum: Thu, 12 Mar 2009 15:39:30 +0100
Von: Steffen Klassert <[email protected]>
An: Gerhard Pircher <[email protected]>
CC: [email protected], [email protected], [email protected]
Betreff: Re: 3c59x: shared interrupt problem

Quoted 6 lines · Gerhard Pircher
Quoted 6 lines

Your first report showed dnComplete as a pending interrupt source. Since the driver uses tx_interrupt_mitigation, this happens just if the tx ring is full. Could you please test the patch below? This disables tx_interrupt_mitigation, so the dnComplete interrupt will be triggered with every packet.

Quoted 7 lines

I disabled tx_interrupt_mitigation and tested it with and w/o the patch for boomerang_interrupt(). The network transfer stalls in both cases sooner or later.

Here are two photos from the kernel output:
- no tx_interrupt_mitigation and patch for booomerang_interrupt():

Quoted 8 lines

http://boot.homelinux.org:8080/kernel/oops_boomerang_irq_tx_irq_mitig.jpg

Quoted 3 lines

- no tx_interrupt_mitigation only:
http://boot.homelinux.org:8080/kernel/oops_tx_irq_mitig.jpg

Your pictures show just a message at shutdown. Are there any other unusual messages from the 3c59x driver in your logs? In particular I'm interested in "transmit timed out" messages.

Unfortunately no. But I had disabled debugging in the driver until now, as it slows down the network transfer considerably. I'll rerun the test with debugging enabled.

I'm going to retry 'git bisect' next week. Maybe I find a way to compile a bootable image for older kernel versions.

Thanks!

Gerhard

Signature · 2 lines
Nur bis 16.03.! DSL-Komplettanschluss inkl. WLAN-Modem für nur 
17,95 ¿/mtl. + 1 Monat gratis!* http://dsl.gmx.de/?ac=OM.AD.PD003K11308T4569a