[dpdk-dev] [PATCH v2 4/4] net/mlx5: driver support for shared action

Ferruh Yigit ferruh.yigit at intel.com
Mon Oct 26 17:38:09 CET 2020


On 10/23/2020 11:24 AM, Andrey Vesnovaty wrote:
> Implement shared action create/destroy/update/query. The current
> implementation support is limited to shared RSS action only. The shared
> RSS action create operation prepares hash RX queue objects for all
> supported permutations of the hash.  The shared RSS action update
> operation relies on functionality to modify hash RX queue introduced in
> one of the previous commits in this patch series.
> 
> Implement RSS shared action and handle shared RSS on flow apply and
> release. The lookup for hash RX queue object for RSS action is limited
> to the set of objects stored in the shared action itself and when
> handling shared RSS action. The lookup for hash RX queue object inside
> shared action is performed by hash only.
> 
> Current implementation limited to DV flow driver operations i.e. verbs
> flow driver operations doesn't support shared action.
> 
> Signed-off-by: Andrey Vesnovaty <andreyv at nvidia.com>

<...>

> +static uint32_t
> +__flow_dv_rss_get_hrxq(struct rte_eth_dev *dev, struct rte_flow *flow,
> +			   struct mlx5_flow *dev_flow,
> +			   struct mlx5_hrxq **hrxq)
> +{
> +	struct mlx5_priv *priv = dev->data->dev_private;
> +	uint32_t hrxq_idx;
> +
> +	if (flow->shared_rss) {
> +		hrxq_idx = __flow_dv_action_rss_hrxq_lookup
> +				(flow->shared_rss, dev_flow->hash_fields,
> +				 !!(dev_flow->handle->layers &
> +				    MLX5_FLOW_LAYER_TUNNEL));
> +		if (hrxq_idx) {
> +			*hrxq = mlx5_ipool_get(priv->sh->ipool[MLX5_IPOOL_HRXQ],
> +					       hrxq_idx);
> +			rte_atomic32_inc(&(*hrxq)->refcnt);

I remember adding more 'rte_atomicNN_xxx' to driver has been discussed before, 
and it has been mentioned that a seperate commit will be done to replace all 
instances, I would like to remind it, and is that work planned for the -rc2?




More information about the dev mailing list