Le mercredi 11 mai 2011 à 10:53 +0200, Richard Scheffenegger a écrit : > Well, the transmit descriptors (header + pointer to the data to be > segmented) is in the hand of the hw driver... > The hw driver could at least check if the current list of transmit > descriptors is for different tcp sessions > (or interspaced non-tcp traffic), and could interleave these descriptors > (reorder them, before they are processed > by hardware - while obviously maintaining relative ordering between the > descriptors belonging to the same flow. > > Also, I think this feature could be utilized for pacing to some extent - > interspace the (valid) traffic descriptors > with descriptors that will cause "invalid" packets to be sent (ie. dst mac > == src max; should be dropped by the first switch). It's been well known > that properly paced traffic is much more resilient than traffic being sent > in short bursts of wirespeed trains of packets. (TSO defeats the > self-clocking of TCP with ACKs).
In French, we would say "Avoir le beurre et l'argent du beurre" ;) GSO is for high performance data xmits, usually in LAN. Dont expect NICS perform the hard/smart work for you. Of course hardware vendors claim they can do this, but this is mostly done with vendor specific methods, and you might spend a lot of time tuning hardware. If you want AQM, better use a well chosen qdisc setup (depending on the workload), and disable TSO/GSO. This will work well with all hardware, and presumably last for longer times (including hardware changes) _______________________________________________ Bloat mailing list [email protected] https://lists.bufferbloat.net/listinfo/bloat
