[PATCH v9 08/28] net/rnp: add queue setup and release operations

Stephen Hemminger stephen at networkplumber.org
Tue Feb 11 17:02:02 CET 2025


On Tue, 11 Feb 2025 16:49:58 +0800
Wenbo Cao <caowenbo at 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


More information about the dev mailing list