2003-02-27 11:34:17

by Roger Luethi

[permalink] [raw]
Subject: [0/2][via-rhine][ANNOUNCE] 1.17rc

Two more patches for the via-rhine driver. Please apply.

With these patches, the Rhine-II passes stress testing for the first time.
There are still a few issues, but the driver doesn't break down under load
like all previous ones did.

Roger


2003-02-27 11:35:17

by Roger Luethi

[permalink] [raw]
Subject: [1/2][via-rhine][PATCH] reset logic

Since Linus and Jeff raised the issue of PCI posted writes, I cleaned up
wait_for_reset() some more. Experiments show that with MMIO, a reset may
indeed take seemingly longer -- that is fixed by flushing that buffer.

Also, the driver now polls the appropriate register while waiting for the
reset to finish.


Attachments:
(No filename) (310.00 B)
via-rhine-1.17rc-01_reset.diff (1.37 kB)
Download all attachments

2003-02-27 11:35:35

by Roger Luethi

[permalink] [raw]
Subject: [2/2][via-rhine][PATCH] fix races

This patch addresses two distinct races:

- Until now, the driver started the chip for Tx regardless of errors
pending in the status register. Not good if an error occured while
we were queueing packets -- the chip counter had not been reset,
so Tx died. (We can't reliably get an interrupt for every error
condition)

- The Rhine-II (when under load) frequently produces a Tx descriptor
write-back race error. Failing to handle this means waiting for the
netdev watchdog. Fixed.

In addition, we must wait for the Tx engine to turn off on error
conditions before we scavenge the descriptor entries. Failing to do
so will typically lead to performance going down to about 10%: Burst,
timeout, burst, timeout.. (again, with a Rhine-II under load).


Attachments:
(No filename) (768.00 B)
via-rhine-1.17rc-02_tdwb_race.diff (7.15 kB)
Download all attachments

2003-02-27 12:25:33

by Roger Luethi

[permalink] [raw]

2003-03-01 12:05:13

by Roger Luethi

[permalink] [raw]
Subject: [via-rhine][PATCH] 1.17 release

Alas no rave reviews on lkml, but the private feedback I have received so
far on the recent changes has been excellent. The Rhine-II is now finally
usable with via-rhine. Time to call it 1.17. -- Please apply.

FWIW I think the four patches (including this one) leading up to 1.17 are
2.4 material, too. The drivers were identical at 1.16, and some kind souls
successfully tested 1.17 on 2.4. Given the low frequency of 2.4 releases
and the brokenness of the driver until now, it would seem like a good idea
to have it in 2.4.21.

Roger


Attachments:
(No filename) (538.00 B)
via-rhine-1.17-version_log.diff (701.00 B)
Download all attachments