On Fri, 2006-08-25 at 22:33 +0000, Marc Bevand wrote: > Still, it would be great if ASF could be disabled, because I have > noticed that when ASF is enabled, the tg3 driver automatically disables > TSO (TCP Segmentation Offloading). Here is a dmesg output from a server > where I am seeing that behavior: > > eth0: Tigon3 [partno(BCM95704A6) rev 2100 PHY(5704)] (PCIX:133MHz:64-bit) \ > 10/100/1000BaseT Ethernet 00:30:48:59:c4:94 > eth0: RXcsums[1] LinkChgREG[0] MIirq[0] ASF[1] Split[0] WireSpeed[1] > TSOcap[0] > [...] > eth1: Tigon3 [partno(BCM95704A6) rev 2100 PHY(5704)] (PCIX:133MHz:64-bit) \ > 10/100/1000BaseT Ethernet 00:30:48:59:c4:95 > eth1: RXcsums[1] LinkChgREG[0] MIirq[0] ASF[0] Split[0] WireSpeed[1] > TSOcap[1] > > Both interfaces are fundamentally TSO-capable, but since ASF is enabled > on eth0, tg3 disables TSO on this interface. Of course at this point it > is not even possible to use ethtool to re-enable it because the driver > considers eth0 as not TSO-capable at all. >
The reason is that TSO on 5704 and older chips is done by firmware. ASF is also implemented by firmware. If ASF is enabled, there is no room to do TSO and ASF at the same time. Firmware-based TSO is actually slower than no TSO. The only benefit is a little better CPU utilization. On the newer chips, TSO is done by hardware which solves both the ASF and throughput problems. - To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html