On Tue, 11 Feb 2025 16:49:58 +0800 Wenbo Cao <caowe...@mucse.com> wrote:
> diff --git a/drivers/net/rnp/base/rnp_hw.h b/drivers/net/rnp/base/rnp_hw.h > index da2c1d3b0e..ea4e1b8d83 100644 > --- a/drivers/net/rnp/base/rnp_hw.h > +++ b/drivers/net/rnp/base/rnp_hw.h > @@ -120,6 +120,9 @@ struct rnp_hw { > bool lane_is_sgmii[RNP_MAX_PORT_OF_PF]; > struct rnp_mbx_info mbx; > struct rnp_fw_info fw_info; > + > + spinlock_t rxq_reset_lock; /* reset op isn't thread safe */ > + spinlock_t txq_reset_lock; /* reset op isn't thread safe */ > }; > In DPDK control operations do not need to be thread safe. Many other drivers do not allow start/stop in one thread while tx/rx are happening etc. This is because rx/tx should not have overhead of any locks. The cost of one spinlock at 10G will drop performance a lot