r8169 & TX offload
Subsystems (2)
Hello,
I've recently bought Realtek RTL8169S-32 chip based Gigabit Ethernet card:
# lspci -vv
Ethernet controller: Realtek Semiconductor Co., Ltd. RTL-8169 Gigabit Ethernet (rev 10)
Subsystem: Realtek Semiconductor Co., Ltd. RTL-8169 Gigabit
Ethernet
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV+ VGASnoop-
ParErr- Stepping- SERR+ FastB2B-
Status: Cap+ 66MHz+ UDF- FastB2B+ ParErr- DEVSEL=medium Quoted 1 line
TAbort- <TAbort- <MAbort- >SERR- <PERR-
Latency: 64 (8000ns min, 16000ns max), Cache Line Size 20
Interrupt: pin A routed to IRQ 10
Region 0: I/O ports at c400 [size=256]
Region 1: Memory at fe9fec00 (32-bit, non-prefetchable) [size=256]
Expansion ROM at fe9c0000 [disabled] [size=128K]
Capabilities: [dc] Power Management version 2
Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=375mA PME(D0-,D1+,D2+,D3hot+,D3cold+)
Status: D0 PME-Enable- DSel=0 DScale=0 PME-
I've noticed that all TX offload features (tx-checksumming, scatter-gather and TSO) are disabled by default and should be manually enabled by ethtool. I wonder, is there any particular reason for that? Why they are not enabled by default as it was done for e1000 or tg3? Are there any hidden drawbacks in enabling them?
Those offload options are definitely work. They give in my setup (32-bit 66MHz PCI, Xeon 1.7GHz CPU, open-iscsi) CPU offload from 75% to 45% and data write throughput improvement from 55MB/s to 59MB/s.
Regards,
Vlad
(please remove l-k from the Cc:, this ought to be sent to netdev)
Vladislav Bolkhovitin <[email protected]> :
Quoted 4 lines
I've recently bought Realtek RTL8169S-32 chip based Gigabit Ethernet card:
# lspci -vv
[...]
Quoted 3 lines
I've noticed that all TX offload features (tx-checksumming, scatter-gather and TSO) are disabled by default and should be manually enabled by ethtool. I wonder, is there any particular reason for that?
As far as I can tell, it is mostly a lack of pressure from the users and my desire to avoid a change of behavior.
Quoted 2 lines
Why they are not enabled by default as it was done for e1000 or tg3? Are there any hidden drawbacks in enabling them?
None that I know of. I had not noticed a huge difference and people did not comment a lot either...
Quoted 3 lines
Those offload options are definitely work. They give in my setup (32-bit 66MHz PCI, Xeon 1.7GHz CPU, open-iscsi) CPU offload from 75% to 45% and data write throughput improvement from 55MB/s to 59MB/s.
...but your datapoint is welcome.
Signature · 1 line
Ueimor
Quoted 1 line · Francois Romieu
(please remove l-k from the Cc:, this ought to be sent to netdev)
OK. Sorry, for some reason I thought I read in the MAINTAINERS file that LKML is the mailing list for r8169 driver.
Quoted 10 lines
Vladislav Bolkhovitin <[email protected]> :
Quoted 3 lines
I've recently bought Realtek RTL8169S-32 chip based Gigabit Ethernet card:
# lspci -vv[...]
Quoted 1 line
I've noticed that all TX offload features (tx-checksumming, scatter-gather and TSO) are disabled by default and should be manually enabled by ethtool. I wonder, is there any particular reason for that?
Quoted 7 lines
As far as I can tell, it is mostly a lack of pressure from the users and my desire to avoid a change of behavior.
Quoted 1 line
Why they are not enabled by default as it was done for e1000 or tg3? Are there any hidden drawbacks in enabling them?
None that I know of. I had not noticed a huge difference and people did not comment a lot either...
I think, 30% of CPU saving is worth enough to turn TX offload on, especially if a system does something more than just data transfers. Usually, such options are enabled by default unless there are some hidden important drawbacks, like stability issues. Hence, there are questions like mine: it's just too suspicious that something good doesn't have hidden issues if it isn't enabled by author ;)
Thanks for clarification.
Quoted 4 lines
Quoted 1 line
Those offload options are definitely work. They give in my setup (32-bit 66MHz PCI, Xeon 1.7GHz CPU, open-iscsi) CPU offload from 75% to 45% and data write throughput improvement from 55MB/s to 59MB/s.
...but your datapoint is welcome.