bnxt_en: replace PTP spinlock with seqlock
authorVadim Fedorenko <vadfed@meta.com>
Sun, 3 Nov 2024 21:51:08 +0000 (13:51 -0800)
committerJakub Kicinski <kuba@kernel.org>
Wed, 6 Nov 2024 01:33:26 +0000 (17:33 -0800)
commit6c0828d00f07954d87ffc89dace1d0c2db2bec20
tree3078cb153403f4fa499e6dfed2890e4361192859
parentbb2ef9b92bdf7e2e3b5df9747e6f7dcf51587450
bnxt_en: replace PTP spinlock with seqlock

We can see high contention on ptp_lock while doing RX timestamping
on high packet rates over several queues. Spinlock is not effecient
to protect timecounter for RX timestamps when reads are the most
usual operations and writes are only occasional. It's better to use
seqlock in such cases.

Reviewed-by: Michael Chan <michael.chan@broadcom.com>
Signed-off-by: Vadim Fedorenko <vadfed@meta.com>
Link: https://patch.msgid.link/20241103215108.557531-2-vadfed@meta.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/ethernet/broadcom/bnxt/bnxt.c
drivers/net/ethernet/broadcom/bnxt/bnxt_ptp.c
drivers/net/ethernet/broadcom/bnxt/bnxt_ptp.h