[PATCH] #8 VIA Rhine (stalls, stats, backoff, clean up)

From: Roger Luethi (rl@hellgate.ch)
Date: Mon Jul 15 2002 - 08:36:15 EST


This patch is a more comprehensive and cleaned up version of earlier VIA
Rhine patches I posted in May. It should be self-explanatory. The change
summary reads:

- show confused chip where to continue after Tx error; this is known to fix
  at least some (hopefully all) of the infamous Rhine stalls under load

- location of collision counter is chip specific (underflow counter, too)

- allow selecting backoff algorithm -- added new module parameter;
  this is a trade-off; higher performance typically means many aborts due
  to excessive collisions and performance degradation for other users.
  Default comes from EEPROM and depends on the card.

- cosmetic cleanups

Note: Testing on several cards seems to indicate that waiting for the chip
before restarting the Tx engine is pointless; in the rare case where the
flag is not down by the time the driver is ready to restart, it will stay
up forever, but restarting the Tx engine immediately still works.

Beware: It seems that in certain cases, the interrupt status the driver
relies on for error handling is wrong. In those cases, only the respective
buffer descriptor carries the correct error information. Should this turn
out to be a problem in real life, the error handling handling can be moved
into via_rhine_rx(), or the correct error code can be passed to
via_rhine_error() alternatively.

Some changes in the statistics section are tentative. They are coded
according to the specs, and they assume that the old code worked for the
VT86C100A, and that all chips but the VT86C100A work like the VT6102, for
which the changes have been tested. FWIW, some counters work with the
VT6102 for the first time with this patch (it's not as if anybody cared, or
the broken counters wouldn't have gone unnoticed for such a long time).

The patch is against the latest version in Jeff's public tree. It is most
definitely an improvement for many Rhine users and should not create any
problems. Unless somebody finds bugs, I don't intend to release a new
version anytime soon.

Roger



-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Mon Jul 15 2002 - 22:00:30 EST