• Jiri Benc's avatar
    ixgbe: reduce PTP rx path overhead · f42df167
    Jiri Benc authored
    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: default avatarJesper Brouer <jbrouer@redhat.com>
    Signed-off-by: default avatarJiri Benc <jbenc@redhat.com>
    Signed-off-by: default avatarAndy Gospodarek <gospo@redhat.com>
    Tested-by: default avatarPhil Schmitt <phillip.j.schmitt@intel.com>
    Signed-off-by: default avatarJeff Kirsher <jeffrey.t.kirsher@intel.com>
    f42df167
ixgbe_ptp.c 28.7 KB