Hello!

> I'm uncertain what you mean by "bug".

By word "bug" I mean bug. 8)

Do not bother too much, it was not kick to your side this time.
It is bug in design and it did not bother anyone too much,
because it is never triggered in normal curcumstances.

> The kernel isn't notified of each completed transmission, unless the card
> only buffers a single packet.

Exactly.

> Normally a driver sets dev->tbusy while it's queuing a packet for
> transmission, and clears dev->tbusy just before the function returns.

BTW I try to deliver the thought to you from time to time, that driver
should not set tbusy on entry to transmission routine. Nobody ever need it.
It is true since.... Well, it always was true, and when it was not true,
kernel did not work. And if driver set it, it must mark NET_BH after resetting.

> The kernel is notified by mark_bh(NET_BH) only when the driver's Tx queue
> was previously full but once again has room.

Exactly. It means that correct kernel would never stop feeding packets
until driver is not tbusy or queue is not empty. In some curcumstances
it does stop and it is bug, which I talk about. In 2.0 and 2.2 without
shaping packet cannot fall to software queue, if driver is not throttled.
But in 2.3 it becomes more serious problem.

Alexey
-
To unsubscribe from this list: send the line "unsubscribe linux-net" in
the body of a message to [EMAIL PROTECTED]

Reply via email to