]> git.droids-corp.org - dpdk.git/commit
net/ice: fix performance for Rx timestamp
authorSimei Su <simei.su@intel.com>
Fri, 29 Oct 2021 12:56:03 +0000 (20:56 +0800)
committerQi Zhang <qi.z.zhang@intel.com>
Mon, 1 Nov 2021 01:21:10 +0000 (02:21 +0100)
commitf9c561ffbccc7611b046ebad7f248691fd0c59e1
treecd391e3eeeaab0fbe7c3baaa28aac1b8c71aa5de
parentd01201829b88fe823e0b99cd13a65e1711cd8973
net/ice: fix performance for Rx timestamp

In Rx data path, it reads hardware registers per packet, resulting in
big performance drop. This patch improves performance from two aspects:
(1) replace per packet hardware register read by per burst.
(2) reduce hardware register read time from 3 to 2 when the low value of
    time is not close to overflow.

Meanwhile, this patch refines "ice_timesync_read_rx_timestamp" and
"ice_timesync_read_tx_timestamp" API in which
"ice_tstamp_convert_32b_64b" is also used.

Fixes: 953e74e6b73a ("net/ice: enable Rx timestamp on flex descriptor")
Fixes: 646dcbe6c701 ("net/ice: support IEEE 1588 PTP")
Suggested-by: Harry van Haaren <harry.van.haaren@intel.com>
Signed-off-by: Simei Su <simei.su@intel.com>
Acked-by: Qi Zhang <qi.z.zhang@intel.com>
drivers/net/ice/ice_ethdev.c
drivers/net/ice/ice_ethdev.h
drivers/net/ice/ice_rxtx.c
drivers/net/ice/ice_rxtx.h