[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