I have a few comments which are related.

As you gentlemen have noted, the "internal" driver queues and the issue of
layers above the driver being unaware of what is really happening at
the driver level (packets still sitting there or not etc) could be
detrimental to any QoS requirements. dev->tbusy is just too ambigous and
unless the driver holds no other packets in its inner buffers.
 
http://www.eecs.harvard.edu/~stein/ALTQ_Diff3.htm describes details in the
BSD case. I'd like to quote the conclusion there:

"In a high speed environment DMA transfers may be a requirement to avoid
subjecting the main processor to the high interrupt load that would
otherwise occur. We expect that the DMA logic of network cards will become
more and more complex as network speeds require that processing is
batched or offloaded from the main processor. We have observed that
these policies at the device and driver levels can have significant
effects on end-to-end traffic behavior."

Donald, despite the amount of work you foresee changing all the drivers
i think that an architecture change is required at this point. I think we
need to discuss a new architecture -- we should be able to squeeze in by
2.4.

cheers,
jamal

PS:- Please re-direct this discussion to netdev



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

Reply via email to