* [PATCH] ixgbe: reduce PTP rx path overhead
@ 2012-10-24 15:17 Jiri Benc
2012-10-25 7:35 ` Jeff Kirsher
0 siblings, 1 reply; 2+ messages in thread
From: Jiri Benc @ 2012-10-24 15:17 UTC (permalink / raw)
To: netdev
Cc: e1000-devel, Jeff Kirsher, Jesse Brandeburg, John Ronciak,
Andy Gospodarek
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 ixge 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>
---
drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c | 6 ++++--
1 files changed, 4 insertions(+), 2 deletions(-)
diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c b/drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c
index 5e71ddb..842ba15 100644
--- a/drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c
+++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c
@@ -554,12 +554,14 @@ void ixgbe_ptp_rx_hwtstamp(struct ixgbe_q_vector *q_vector,
adapter = q_vector->adapter;
hw = &adapter->hw;
+ if (likely(!ixgbe_ptp_match(skb, adapter->rx_hwtstamp_filter)))
+ return;
+
tsyncrxctl = IXGBE_READ_REG(hw, IXGBE_TSYNCRXCTL);
/* Check if we have a valid timestamp and make sure the skb should
* have been timestamped */
- if (likely(!(tsyncrxctl & IXGBE_TSYNCRXCTL_VALID) ||
- !ixgbe_ptp_match(skb, adapter->rx_hwtstamp_filter)))
+ if (!(tsyncrxctl & IXGBE_TSYNCRXCTL_VALID))
return;
/*
--
1.7.6.5
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [PATCH] ixgbe: reduce PTP rx path overhead
2012-10-24 15:17 [PATCH] ixgbe: reduce PTP rx path overhead Jiri Benc
@ 2012-10-25 7:35 ` Jeff Kirsher
0 siblings, 0 replies; 2+ messages in thread
From: Jeff Kirsher @ 2012-10-25 7:35 UTC (permalink / raw)
To: Jiri Benc
Cc: netdev, e1000-devel, Jesse Brandeburg, John Ronciak,
Andy Gospodarek
[-- Attachment #1: Type: text/plain, Size: 1336 bytes --]
On Wed, 2012-10-24 at 17:17 +0200, Jiri Benc wrote:
> 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 ixge 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>
> ---
> drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c | 6 ++++--
> 1 files changed, 4 insertions(+), 2 deletions(-)
Thanks Jiri, I have added the patch to my queue.
[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 836 bytes --]
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2012-10-25 7:35 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-10-24 15:17 [PATCH] ixgbe: reduce PTP rx path overhead Jiri Benc
2012-10-25 7:35 ` Jeff Kirsher
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).