All of lore.kernel.org
 help / color / mirror / Atom feed
From: Stephen Hemminger <stephen@networkplumber.org>
To: Thomas Monjalon <thomas@monjalon.net>
Cc: "lihuisong (C)" <lihuisong@huawei.com>,
	Ferruh Yigit <ferruh.yigit@intel.com>,
	"Min Hu (Connor)" <humin29@huawei.com>,
	"dev@dpdk.org" <dev@dpdk.org>,
	Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>,
	Qi Zhang <qi.z.zhang@intel.com>, Ori Kam <orika@nvidia.com>,
	Olivier Matz <olivier.matz@6wind.com>,
	Ajit Khaparde <ajit.khaparde@broadcom.com>,
	"jerinj@marvell.com" <jerinj@marvell.com>,
	Slava Ovsiienko <viacheslavo@nvidia.com>,
	huangdaode <huangdaode@huawei.com>
Subject: Re: [PATCH 2/6] net/hns3: fix inconsistent enabled RSS behavior
Date: Wed, 2 Mar 2022 08:59:19 -0800	[thread overview]
Message-ID: <20220302085919.4ec08fb5@hermes.local> (raw)
In-Reply-To: <3844855.QkHrqEjB74@thomas>

On Wed, 02 Mar 2022 15:46:37 +0100
Thomas Monjalon <thomas@monjalon.net> wrote:

> 02/03/2022 15:07, Ori Kam:
> > From: lihuisong (C) <lihuisong@huawei.com>  
> > > 在 2022/3/1 0:42, Ferruh Yigit 写道:  
> > > > On 2/28/2022 3:21 AM, Min Hu (Connor) wrote:  
> > > >> From: Huisong Li <lihuisong@huawei.com>
> > > >>
> > > >> RSS will not be enabled if the RTE_ETH_MQ_RX_RSS_FLAG isn't be set in
> > > >> dev_configure phase. However, if this flag isn't set, RSS can be enabled
> > > >> through the ethdev ops and rte_flow API. This behavior is contrary to
> > > >> each
> > > >> other.
> > > >>
> > > >> Fixes: c37ca66f2b27 ("net/hns3: support RSS")
> > > >> Cc: stable@dpdk.org
> > > >>
> > > >> Signed-off-by: Huisong Li <lihuisong@huawei.com>  
> > > >
> > > >
> > > > Hi Huisong, Connor,
> > > >
> > > > Let's get a little more feedback for this patch, cc'ed more people.
> > > >
> > > >
> > > > To enable RSS, multi queue mode should be set to
> > > > 'RTE_ETH_MQ_RX_RSS_FLAG'.
> > > >
> > > > But I wonder if it is required to configure RSS via flow API,  
> > > 
> > > I do not know the original purpose of adding the RSS configuration in
> > > flow API.
> > >   
> > The purpose is simple, this allow to create RSS per rule and not a global one.
> > For example create RSS that sends TCP to some queues while othe RSS will send
> > UDP traffic to different queues.
> >   
> > > However, as far as I know, the hash algorithm can be configured via this
> > > API,
> > > 
> > > but not via ethdev ops API.
> > >   
> > > > and if other PMDs check this configuration for flow API?  
> > > 
> > > Some PMDs already have similar check in RSS releated ops or rte_flow API.
> > > 
> > > For example, hinic, axbge, bnxt, cnxk, otx2, and ena.  
> 
> I suggest removing these checks.
> 
> > From my view point those are two different settings.
> > The RTE_ETH_MQ_RX_RSS_FLAG is global per port while
> > rte_flow is per rule.
> > 
> > I think, that if a PMD needs this flag, in order to enable it also for rte_flow then
> > it should be documented in the release note of the PMD.
> > It is a valid use case that the default traffic will not have RSS and only rules created by
> > rte_flow will have the RSS, for matching traffc.  
> 
> I think RTE_ETH_MQ_RX_RSS_FLAG should not be required by any PMD
> for rte_flow RSS rules.
> 
> 

Agreed.

The ideal state around RSS would be:
   - global settings affect the default started queues when device is started.
     if RSS is enabled and 4 queues are started, then RSS would happen for received
     packets across those 4 queues.
   - when adding new flow related rx:
      - new queues could be started - BUT not part of original RSS
      - new rte_flow rule can do RSS against the new flow:
            example:
              start queues 4,5,6,7
              rte_flow match TCP port 80 and process on queues 4,5,6,7 with RSS

This is a mess today, most devices work differently and there is no reference software
implementation.  In an ideal state, there would be a reference software implementation
that implements all of rte_flow, and all new hardware support would have to work the same
as the reference implementation. And there would be a full CI test suite around rte_flow.

  reply	other threads:[~2022-03-02 16:59 UTC|newest]

Thread overview: 39+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-02-28  3:21 [PATCH 0/6] bugfixes for hns3 PMD Min Hu (Connor)
2022-02-28  3:21 ` [PATCH 1/6] net/hns3: remove duplicate macro definition Min Hu (Connor)
2022-02-28 17:46   ` Ferruh Yigit
2022-03-02 11:22     ` Ferruh Yigit
2022-02-28  3:21 ` [PATCH 2/6] net/hns3: fix inconsistent enabled RSS behavior Min Hu (Connor)
2022-02-28 16:42   ` Ferruh Yigit
2022-03-02  2:09     ` lihuisong (C)
2022-03-02 14:07       ` Ori Kam
2022-03-02 14:46         ` Thomas Monjalon
2022-03-02 16:59           ` Stephen Hemminger [this message]
2022-03-03  2:48             ` lihuisong (C)
2022-03-24  7:16             ` Harold Huang
2022-03-03  2:47         ` lihuisong (C)
2022-03-09  8:03           ` lihuisong (C)
2022-03-09  9:55             ` Ori Kam
2022-03-10  8:08               ` lihuisong (C)
2022-03-21  7:14                 ` lihuisong (C)
2022-03-22 17:13                   ` Thomas Monjalon
2022-03-23  3:05                     ` lihuisong (C)
2022-03-23  9:14                       ` Thomas Monjalon
2022-03-23 11:04                         ` lihuisong (C)
2022-03-23 19:04                           ` Thomas Monjalon
2022-03-23 19:50                             ` Ajit Khaparde
2022-03-24 12:44                               ` lihuisong (C)
2022-05-12 14:13               ` Ferruh Yigit
2022-02-28  3:21 ` [PATCH 3/6] net/hns3: remove unnecessary RSS switch Min Hu (Connor)
2022-02-28  3:21 ` [PATCH 4/6] net/hns3: fix the time waiting for PF reset completion Min Hu (Connor)
2022-02-28 17:09   ` Ferruh Yigit
2022-03-01  6:32     ` Min Hu (Connor)
2022-03-01 10:44       ` Ferruh Yigit
2022-03-02  0:35   ` [PATCH v2] " Min Hu (Connor)
2022-03-02 11:48     ` Ferruh Yigit
2022-02-28  3:21 ` [PATCH 5/6] net/hns3: fix RSS TC mode entry Min Hu (Connor)
2022-02-28  3:21 ` [PATCH 6/6] net/hns3: fix VF " Min Hu (Connor)
2022-04-06  6:56 ` [PATCH v2 0/2] fix RSS bugs Min Hu (Connor)
2022-04-06  6:57   ` [PATCH v2 1/2] ethdev: fix enabling RSS behavior inconsistent Min Hu (Connor)
2022-05-12 14:13     ` Ferruh Yigit
2022-04-06  6:57   ` [PATCH v2 2/2] net/hns3: remove unnecessary RSS switch Min Hu (Connor)
2022-05-12 14:13   ` [PATCH v2 0/2] fix RSS bugs Ferruh Yigit

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20220302085919.4ec08fb5@hermes.local \
    --to=stephen@networkplumber.org \
    --cc=ajit.khaparde@broadcom.com \
    --cc=andrew.rybchenko@oktetlabs.ru \
    --cc=dev@dpdk.org \
    --cc=ferruh.yigit@intel.com \
    --cc=huangdaode@huawei.com \
    --cc=humin29@huawei.com \
    --cc=jerinj@marvell.com \
    --cc=lihuisong@huawei.com \
    --cc=olivier.matz@6wind.com \
    --cc=orika@nvidia.com \
    --cc=qi.z.zhang@intel.com \
    --cc=thomas@monjalon.net \
    --cc=viacheslavo@nvidia.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.