linux/drivers/net/ethernet/intel/igb
Jesse Brandeburg 32b3e08fff drivers/net/intel: use napi_complete_done()
As per Eric Dumazet's previous patches:
(see commit (24d2e4a507) - tg3: use napi_complete_done())

Quoting verbatim:
Using napi_complete_done() instead of napi_complete() allows
us to use /sys/class/net/ethX/gro_flush_timeout

GRO layer can aggregate more packets if the flush is delayed a bit,
without having to set too big coalescing parameters that impact
latencies.
</end quote>

Tested
configuration: low latency via ethtool -C ethx adaptive-rx off
				rx-usecs 10 adaptive-tx off tx-usecs 15
workload: streaming rx using netperf TCP_MAERTS

igb:
MIGRATED TCP MAERTS TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to 10.0.0.1 () port 0 AF_INET : demo
...
Interim result:  941.48 10^6bits/s over 1.000 seconds ending at 1440193171.589

Alignment      Offset         Bytes    Bytes       Recvs   Bytes    Sends
Local  Remote  Local  Remote  Xfered   Per                 Per
Recv   Send    Recv   Send             Recv (avg)          Send (avg)
    8       8      0       0 1176930056  1475.36    797726   16384.00  71905

MIGRATED TCP MAERTS TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to 10.0.0.1 () port 0 AF_INET : demo
...
Interim result:  941.49 10^6bits/s over 0.997 seconds ending at 1440193142.763

Alignment      Offset         Bytes    Bytes       Recvs   Bytes    Sends
Local  Remote  Local  Remote  Xfered   Per                 Per
Recv   Send    Recv   Send             Recv (avg)          Send (avg)
    8       8      0       0 1175182320  50476.00     23282   16384.00  71816

i40e:
Hard to test because the traffic is incoming so fast (24Gb/s) that GRO
always receives 87kB, even at the highest interrupt rate.

Other drivers were only compile tested.

Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
Tested-by: Andrew Bowers <andrewx.bowers@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
2015-10-16 04:33:46 -07:00
..
e1000_82575.c igb: add support for 1512 PHY 2015-08-18 14:06:04 -07:00
e1000_82575.h igb: add flags to set eee advertisement mode 2014-09-06 05:00:39 -07:00
e1000_defines.h igb: add support for 1512 PHY 2015-08-18 14:06:04 -07:00
e1000_hw.h igb: remove blocking phy read from inside spinlock 2014-10-02 02:30:39 -07:00
e1000_i210.c igb: Workaround for i210 Errata 25: Slow System Clock 2014-07-10 01:48:28 -07:00
e1000_i210.h igb: Workaround for i210 Errata 25: Slow System Clock 2014-07-10 01:48:28 -07:00
e1000_mac.c igb: Cleanups to fix msleep warnings 2014-04-24 17:41:15 -07:00
e1000_mac.h igb: Cleanups to change comment style on license headers 2014-04-24 17:26:27 -07:00
e1000_mbx.c igb: Cleanups to change comment style on license headers 2014-04-24 17:26:27 -07:00
e1000_mbx.h igb: Cleanups to change comment style on license headers 2014-04-24 17:26:27 -07:00
e1000_nvm.c igb/ixgbe: remove return statements for void functions 2014-05-23 05:28:41 -07:00
e1000_nvm.h igb: Cleanups to change comment style on license headers 2014-04-24 17:26:27 -07:00
e1000_phy.c igb: add support for 1512 PHY 2015-08-18 14:06:04 -07:00
e1000_phy.h igb: add support for 1512 PHY 2015-08-18 14:06:04 -07:00
e1000_regs.h igb: implement high frequency periodic output signals 2015-08-18 14:06:04 -07:00
igb_ethtool.c drivers/net: get rid of unnecessary initializations in .get_drvinfo() 2015-10-16 00:24:10 -07:00
igb_hwmon.c igb: Cleanups to change comment style on license headers 2014-04-24 17:26:27 -07:00
igb_main.c drivers/net/intel: use napi_complete_done() 2015-10-16 04:33:46 -07:00
igb_ptp.c net: igb: avoid using timespec 2015-10-05 03:16:42 -07:00
igb.h net: igb: avoid using timespec 2015-10-05 03:16:42 -07:00
Makefile igb: Update license text to remove FSF address and update copyright. 2014-02-26 15:54:52 -05:00