Messages in this thread | | | Subject | RE: [Bonding-devel][PATCH]Zero Copy Transmit Support (Update) | Date | Thu, 18 Nov 2004 11:02:12 -0800 | From | "Godse, Radheka" <> |
| |
> - > + > + /* We let the bond device publish all hardware > + * acceleration features possible. This is OK, > + * since if an skb is passed from the bond to > + * a slave that doesn't support one of those > + * features, everything is fixed in the > + * dev_queue_xmit() function (e.g. calculate > + * check sum, linearize the skb, etc.). > + */
This is very inefficient if the bond slaves don't support these features.
I believe you when you say you saw improvement in the case where the slaves do support TSO, but if you test a non-TSO slave case I bet you'll see a marked decrease in system utilization at least. ...
Note: 2.6.2 patch enables Zero Copy Transmit support by default while registering the bond device... but, I continue to see better CPU utilization (~50% improvement) when this patch was tested in various scenarios(see data below). Test results are from a dual Itanium 2 1.4GHz system but I saw a similar trend on a PIII Xeon 550MHz x 8 system.
bond-patch-2.6.1 and 82546EB Copper NICs with hardware acceleration support, Test results with TSO on and off ETH1 ETH2 Throughput/Performance System Utilization on off 1870 35 % on on 1870 35 % off off 1871 34 %
bond-patch-2.6.2 and 82546EB Copper NICs with hardware acceleration support, Test results with TSO on and off ETH1 ETH2 Throughput/Performance System Utilization on off 1879 14 % on on 1880 14.08 % off off 1879 13 % ------------------------------------------------------------------
bond-patch-2.6.1 and 82543GC NICs without hardware support for TSO ETH1 ETH2 Throughput/Performance System Utilization off off 1815 36.85 % bond-patch-2.6.2 and 82543GC NICs without hardware support for TSO ETH1 ETH2 Throughput/Performance System Utilization off off 1848 11.85 % ------------------------------------------------------------------
bond-patch-2.6.1, and one 82546EB NIC with & one 82543GC NIC without hardware support for TSO ETH1 ETH2 Throughput/Performance System Utilization
on off 1817 30.69 %
bond-patch-2.6.2, and one 82546EB NIC with & one 82543GC NIC without hardware support for TSO ETH1 ETH2 Throughput/Performance System Utilization on off 1836 24.54 % ------------------------------------------------------------------
bond-patch-2.6.1 and 82543GC NICs Test results with all HW acceleration bits on for 1 NIC and turned off for the other NIC ETH1 ETH2 Throughput/Performance System Utilization on off 1851 35 %
bond-patch-2.6.2 and 82543GC NICs Test results with all HW acceleration bits on for 1 NIC and turned off for the other NIC ETH1 ETH2 Throughput/Performance System Utilization on off 1822 17 % ------------------------------------------------------------------
bond-patch-2.6.1 and 82543GC NICs Test results with all HW acceleration bits turned off for both NICs ETH1 ETH2 Throughput/Performance System Utilization off off 1816 35 % bond-patch-2.6.2 and 82543GC NICs Test results with all HW acceleration bits turned off for both NICs ETH1 ETH2 Throughput/Performance System Utilization off off 1604 16.23 % - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |