Default offload settings in Ethernet drivers
Subsystems (2)
Hi!
A discussion recently took place on the power mailing list on the subject of the impact of (hardware-assisted) offload functions on the power efficiency of the overall system.
The discussion was brought on by me noticing that not all drivers enable
all of their offload features by default (case in point: r8169).
Although the discussion may not be complete, early indications are that:
1. Hardware-assisted offloads improve power efficiency unless implemented in a separate CPU (TOE / Total Offloading);
2. It would probably be a good idea to enable hardware-assisted offloads other than TOE by default given the above.
I would therefore like to sollicit views here:
1. Would changing default offload settings in Ethernet drivers help to save the planet?
2. Which offload settings does it make sense to enable by default?
Thanks, Jan
Quoted 17 lines · On Thu, 11 Dec 2008 19:41:31 +0100 Jan Ceuleers <[email protected]>…
Hi!
A discussion recently took place on the power mailing list on the subject of the impact of (hardware-assisted) offload functions on the power efficiency of the overall system.
The discussion was brought on by me noticing that not all drivers enable
all of their offload features by default (case in point: r8169).Although the discussion may not be complete, early indications are that:
1. Hardware-assisted offloads improve power efficiency unless implemented in a separate CPU (TOE / Total Offloading);
2. It would probably be a good idea to enable hardware-assisted offloads other than TOE by default given the above.
Quoted 6 lines
I would therefore like to sollicit views here:
1. Would changing default offload settings in Ethernet drivers help to save the planet?
2. Which offload settings does it make sense to enable by default?
Go get a kill-a-watt meter and real hardware and measure. I don't think there will be any difference. Linux (mainline) doesn't do TOE. It does do segmentation offload, and any driver that can do segmentation offload enables it by default.
Quoted 4 lines
Go get a kill-a-watt meter and real hardware and measure. I don't think there will be any difference. Linux (mainline) doesn't do TOE. It does do segmentation offload, and any driver that can do segmentation offload enables it by default.
Further, it would seem reasonable to expect if a NIC has a feature the driver does not enable by default, the implication is that feature is not yet ready for regular use.
rick jones
Quoted 20 lines · Stephen Hemminger
Quoted 17 lines · On Thu, 11 Dec 2008 19:41:31 +0100 Jan Ceuleers <[email protected]>…
Hi!
A discussion recently took place on the power mailing list on the subject of the impact of (hardware-assisted) offload functions on the power efficiency of the overall system.
The discussion was brought on by me noticing that not all drivers enable
all of their offload features by default (case in point: r8169).Although the discussion may not be complete, early indications are that:
1. Hardware-assisted offloads improve power efficiency unless implemented in a separate CPU (TOE / Total Offloading);
2. It would probably be a good idea to enable hardware-assisted offloads other than TOE by default given the above.
Quoted 8 lines
Quoted 6 lines
I would therefore like to sollicit views here:
1. Would changing default offload settings in Ethernet drivers help to save the planet?
2. Which offload settings does it make sense to enable by default?
Go get a kill-a-watt meter and real hardware and measure.
[...]
Even then, the results will be highly dependent on the CPU's power- saving capabilities and on settings that affect the pattern of IRQs like interrupt moderation and number of queues used by multiqueue-capable drivers, not just on the offload settings. I would expect checksum generation/validation and segmentation in an ASIC to take less power than in a CPU, but on an already-busy CPU this might not be the case.
Power usage also depends on throughput, of course. If the test involves pushing data as fast as possible rather than simulating a specific workload then offload features may well probably increase throughput without reducing power consumption. So maybe the metric should be power/throughput... but there is unlikely to be a linear relationship between the two, so a single figure for this may be misleading.
Ben.
Signature · 3 lines
Ben Hutchings, Senior Software Engineer, Solarflare Communications Not speaking for my employer; that's the marketing department's job. They asked us to note that Solarflare product names are trademarked.
Quoted 3 lines · Stephen Hemminger
I don't think there will be any difference. Linux (mainline) doesn't do TOE. It does do segmentation offload, and any driver that can do segmentation offload enables it by default.
Stephen,
Thanks for your reply. My experience with the r8169 driver is that it does support rx checksumming, tx checksumming, scatter/gather and tcp segmentation, but out of the above only enables rx checksumming by default.
The other two ethernet drivers I have hardware for don't support any hardware-assisted offloads (that is: they all support generic segmentation offload but that isn't hardware-assisted and it is also not enabled by default).
Best regards, Jan
Quoted 7 lines · Jan Ceuleers
Quoted 3 lines · Stephen Hemminger
I don't think there will be any difference. Linux (mainline) doesn't do TOE. It does do segmentation offload, and any driver that can do segmentation offload enables it by default.
Stephen,
Quoted 8 lines
Thanks for your reply. My experience with the r8169 driver is that it does support rx checksumming, tx checksumming, scatter/gather and tcp segmentation, but out of the above only enables rx checksumming by default.
The other two ethernet drivers I have hardware for don't support any hardware-assisted offloads (that is: they all support generic segmentation offload but that isn't hardware-assisted and it is also not enabled by default).
Since v2.6.27, GSO is enabled by default for devices that can do TX scatter/gather and checksum offload.
Ben.
Signature · 3 lines
Ben Hutchings, Senior Software Engineer, Solarflare Communications Not speaking for my employer; that's the marketing department's job. They asked us to note that Solarflare product names are trademarked.