[vortex-bug] Tx int. mitigation

Bogdan Costescu Bogdan.Costescu@IWR.Uni-Heidelberg.De
Thu, 14 Dec 2000 19:51:44 +0100 (CET)


On Thu, 14 Dec 2000, Donald Becker wrote:

> Many of my drivers take this approach for the normal case, but they always
> have a fall-back that handles the no-Rx case.

There's where I got this ideea 8-)

> because we are talking at least 10msec, which is far too long.

Let's see: 16 packets (a full ring), all max sized (1524 bytes), at 10
MBit/s take 19.5 ms (I hope my math is OK) - and this is in the happy
situation of no collisions. That's how the Tx mitigation would do with the
current code (actually, only 15 packets because of the "bug" that
started this thread).

> The only reasonable solution is to set the Boomerang hardware timer with an
> estimate of how much time before we send a few (2-4) packets. ...

I don't understand why you base the timer interval on packets. If there is
a value that is enough for the upper levels (say 1 ms), why bothering with
packet time ?

> ... I fear that
> the code to handle potential race conditions is pretty ugly.

If the ISR is only scavenging (not setting/clearing tbusy/tx_full), only
dirty_tx needs to be modified. That's easier than the current situation.

> The debugging is always for bad IRQs connections, non-bus-master slots and
> bad cables.

I thought that you were talking about debugging of this path... but you're
right!

Sincerely,

Bogdan Costescu

IWR - Interdisziplinaeres Zentrum fuer Wissenschaftliches Rechnen
Universitaet Heidelberg, INF 368, D-69120 Heidelberg, GERMANY
Telephone: +49 6221 54 8869, Telefax: +49 6221 54 8868
E-mail: Bogdan.Costescu@IWR.Uni-Heidelberg.De