> -----Original Message-----
> From: Ferruh Yigit <ferruh.yi...@intel.com>
> Sent: Monday, October 26, 2020 18:38
> To: Andrey Vesnovaty <andr...@nvidia.com>; dev@dpdk.org
> Cc: j...@marvell.com; jerinjac...@gmail.com; NBU-Contact-Thomas Monjalon
> <tho...@monjalon.net>; step...@networkplumber.org;
> bruce.richard...@intel.com; Ori Kam <or...@nvidia.com>; Slava Ovsiienko
> <viachesl...@nvidia.com>; andrey.vesnov...@gmail.com; m...@ashroe.eu;
> nhor...@tuxdriver.com; ajit.khapa...@broadcom.com;
> samik.gu...@broadcom.com; Matan Azrad <ma...@nvidia.com>; Shahaf
> Shuler <shah...@nvidia.com>
> Subject: Re: [PATCH v2 4/4] net/mlx5: driver support for shared action
> 
> 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 <andr...@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?
> 
There is coming common patch to resolve all rte_atomic_xxx issues including 
mentioned ones.
We decided to keep this atomic in order not to trigger massive changes in this 
"shared action" patch
as not relevant to the feature.

With best regards, Slava

Reply via email to