android_kernel_oneplus_msm8998/drivers/net/ethernet/intel/ixgbe
Jiri Benc f42df16756 ixgbe: reduce PTP rx path overhead
Hw timestamping code caused performance regression in ixgbe driver when the
timestamping is not enabled. The culprit is IXGBE_READ_REG call in the Rx
path which is executed for every received skb. This call is not needed when
the timestamping is disabled or for non-ptp packets.

netperf results:

The ixgbe side of the connection was acting as a server, the netperf command
line on the other side was:
netperf -H 192.168.1.23 -T0,0 -t UDP_STREAM -l 20

The values below mean throughput as reported by netperf (local/remote), for
3 runs, with timestamping not enabled.

3.7.0-rc1+ with CONFIG_IXGBE_PTP off:
5373.83 / 3329.32
5721.88 / 3033.89
5653.42 / 3112.38

3.7.0-rc1+ with CONFIG_IXGBE_PTP on:
5233.64 / 1226.85
5448.67 / 1039.32
5421.36 / 1095.66

Patched 3.7.0-rc1+ with CONFIG_IXGBE_PTP on:
5594.72 / 2942.53
5428.95 / 3110.16
5343.56 / 3200.48

Reported-by: Jesper Brouer <jbrouer@redhat.com>
Signed-off-by: Jiri Benc <jbenc@redhat.com>
Signed-off-by: Andy Gospodarek <gospo@redhat.com>
Tested-by: Phil Schmitt <phillip.j.schmitt@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
2012-10-29 23:34:30 -07:00
..
ixgbe.h ixgbe: Add support for pipeline reset 2012-10-29 22:14:48 -07:00
ixgbe_82598.c ixgbe: Update link flow control to correctly handle multiple packet buffer DCB 2012-05-04 03:25:24 -07:00
ixgbe_82599.c ixgbe: Add support for pipeline reset 2012-10-29 22:14:48 -07:00
ixgbe_common.c ixgbe: Add support for pipeline reset 2012-10-29 22:14:48 -07:00
ixgbe_common.h ixgbe: Add function ixgbe_reset_pipeline_82599 2012-10-22 21:17:05 -07:00
ixgbe_dcb.c ixgbe: Use num_tcs.pg_tcs as upper limit for TC when checking based on UP 2012-07-21 16:05:28 -07:00
ixgbe_dcb.h ixgbe: Populate the prio_tc_map in ixgbe_setup_tc 2012-07-14 14:29:19 -07:00
ixgbe_dcb_82598.c ixgbe: Clean up priority based flow control 2012-05-09 22:15:40 -07:00
ixgbe_dcb_82598.h
ixgbe_dcb_82599.c ixgbe: Clean up priority based flow control 2012-05-09 22:15:40 -07:00
ixgbe_dcb_82599.h
ixgbe_dcb_nl.c ixgbe: Populate the prio_tc_map in ixgbe_setup_tc 2012-07-14 14:29:19 -07:00
ixgbe_debugfs.c ixgbe: added reg_ops file to debugfs 2012-09-15 16:36:45 -07:00
ixgbe_ethtool.c ixgbe: Fix possible memory leak in ixgbe_set_ringparam 2012-10-22 21:17:19 -07:00
ixgbe_fcoe.c ixgbe: Enable jumbo frames support w/ SR-IOV 2012-10-19 04:04:14 -07:00
ixgbe_fcoe.h ixgbe: Make FCoE allocation and configuration closer to how rings work 2012-07-19 18:18:49 -07:00
ixgbe_lib.c ixgbe: Initialize q_vector cpu and affinity masks correctly 2012-10-19 03:52:02 -07:00
ixgbe_main.c ixgbe: add/update descriptor maps in comments 2012-10-29 22:32:14 -07:00
ixgbe_mbx.c
ixgbe_mbx.h ixgbe: Add support for GET_QUEUES message to get DCB configuration 2012-10-22 21:14:54 -07:00
ixgbe_phy.c ixgbe: add support for 1G SX modules 2012-06-20 01:37:04 -07:00
ixgbe_phy.h
ixgbe_ptp.c ixgbe: reduce PTP rx path overhead 2012-10-29 23:34:30 -07:00
ixgbe_sriov.c ixgbe: Return success or failure on VF MAC filter set 2012-10-29 22:32:07 -07:00
ixgbe_sriov.h ixgbe: Change how we check for pre-existing and assigned VFs 2012-07-21 16:02:56 -07:00
ixgbe_sysfs.c drivers/net/ethernet: Fix (nearly-)kernel-doc comments for various functions 2012-07-10 23:13:46 -07:00
ixgbe_type.h ixgbe: add WOL support for new subdevice id 2012-10-22 21:15:57 -07:00
ixgbe_x540.c ixgbe: Correctly set SAN MAC RAR pool to default pool of PF 2012-07-19 18:19:37 -07:00
Makefile ixgbe: add debugfs support 2012-09-15 16:15:00 -07:00