DPDK patches and discussions
 help / color / mirror / Atom feed
From: "lihuisong (C)" <lihuisong@huawei.com>
To: Ferruh Yigit <ferruh.yigit@amd.com>,
	Dongdong Liu <liudongdong3@huawei.com>, <dev@dpdk.org>,
	<thomas@monjalon.net>, <andrew.rybchenko@oktetlabs.ru>
Cc: <stable@dpdk.org>, <yisen.zhuang@huawei.com>, Ori Kam <orika@nvidia.com>
Subject: Re: [PATCH 06/16] net/hns3: separate the setting of hash algorithm
Date: Wed, 29 Mar 2023 09:58:41 +0800	[thread overview]
Message-ID: <3fc85100-20ef-d0ea-cd49-53be897fe868@huawei.com> (raw)
In-Reply-To: <db66718c-e1b7-a619-9da5-6d663bacf160@amd.com>


在 2023/3/11 3:36, Ferruh Yigit 写道:
> On 3/10/2023 9:35 AM, Dongdong Liu wrote:
>> From: Huisong Li <lihuisong@huawei.com>
>>
>> Currently, the setting of hash algorithm comes from the
>> default configuration in driver and the rte_flow interface.
>> The hash algorithm that is set to hardware in both ways is
>> saved in hw->rss_info.conf.func.
>>
>> But the 'func' in struct rte_flow_action_rss is usually used
>> in rte flow interface. And the ethdev ops interface may also
>> set hash algorithm in the future. It is not appropriate and
>> is a little messy for ethdev ops interface and driver default
>> configuration to use struct rte_flow_action_rss. So we have
>> to separate the RSS configuration from ethdev ops and rte
>> flow interface to make codes more easier to maintain.
>>
> Agree that it is not ideal to have two different ways for same/similar
> control path functionality in ethdev.
>
> +Ori to discuss if this is a common problem and can be resolved in
> ethdev layer.
This patchset is aimed to decouple the configuration API and the 
structure used by
ethdev ops and rte flow API in driver. I think this can be ignored.
>
> I can see some of remaining patches are related to this ethdev / flow
> API RSS separation. I will continue with this set, but I believe it is
> better if this issue addressed in higher level.
As far as I know, the priority of rte flow hash rule is higher than 
ethdev ops by default,
and there are many other rules.
But the implementation guide documentation about it is not clear.
It may be better if we can clarify the documentation to guide driver coding.
>> This patch separates hash algorithm by following ways:
>> 1) 'hash_algo' in struct hns3_rss_conf is used for ethdev ops
>>     interface or default configuration in driver.
>> 2) Add a 'rte_flow_hash_algo' field in struct hns3_rss_conf
>>     to save algorithm from rte flow interface. The main reasons
>>     are as follows:
>>     Currently, only the last rule is used to restore the rte
>>     flow rule. If 'func' in RSS action is 'DEFAULT', it means
>>     that this rule doesn't modify algorithm and driver need to
>>     save current algorithm for restoring algorithm during reset
>>     phase.
>>
>> Fixes: c37ca66f2b27 ("net/hns3: support RSS")
>> Cc: stable@dpdk.org
>>
>> Signed-off-by: Huisong Li <lihuisong@huawei.com>
>> Signed-off-by: Dongdong Liu <liudongdong3@huawei.com>
> <...>
>
> .

  reply	other threads:[~2023-03-29  1:58 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-03-10  9:35 [PATCH 00/16] net/hns3: some code refactor for hns3 RSS Dongdong Liu
2023-03-10  9:35 ` [PATCH 01/16] net/hns3: fix possible truncation of hash key when config Dongdong Liu
2023-03-10 19:36   ` Ferruh Yigit
2023-03-29  1:56     ` lihuisong (C)
2023-03-10  9:35 ` [PATCH 02/16] net/hns3: fix possible truncation of redirection table Dongdong Liu
2023-03-10 19:36   ` Ferruh Yigit
2023-03-10  9:35 ` [PATCH 03/16] net/hns3: use hardware config to report hash key Dongdong Liu
2023-03-10  9:35 ` [PATCH 04/16] net/hns3: use hardware config to report hash types Dongdong Liu
2023-03-10  9:35 ` [PATCH 05/16] net/hns3: use hardware config to report redirection table Dongdong Liu
2023-03-10  9:35 ` [PATCH 06/16] net/hns3: separate the setting of hash algorithm Dongdong Liu
2023-03-10 19:36   ` Ferruh Yigit
2023-03-29  1:58     ` lihuisong (C) [this message]
2023-03-29  8:13       ` Ferruh Yigit
2023-03-10  9:35 ` [PATCH 07/16] net/hns3: separate the setting of hash key Dongdong Liu
2023-03-10  9:35 ` [PATCH 08/16] net/hns3: separate the setting of redirection table Dongdong Liu
2023-03-10  9:35 ` [PATCH 09/16] net/hns3: separate the setting of RSS types Dongdong Liu
2023-03-10  9:35 ` [PATCH 10/16] net/hns3: separate the setting and clearing of RSS rule Dongdong Liu
2023-03-10  9:35 ` [PATCH 11/16] net/hns3: use new RSS rule to configure hardware Dongdong Liu
2023-03-10  9:35 ` [PATCH 12/16] net/hns3: save hash algo to RSS filter list node Dongdong Liu
2023-03-10  9:35 ` [PATCH 13/16] net/hns3: adding queue buffer size hash rule allowed Dongdong Liu
2023-03-10  9:35 ` [PATCH 14/16] net/hns3: separate rte flow RSS config from hns3 rss conf Dongdong Liu
2023-03-10  9:35 ` [PATCH 15/16] net/hns3: reimplement hash flow function Dongdong Liu
2023-03-10  9:35 ` [PATCH 16/16] net/hns3: add the verification of RSS types Dongdong Liu
2023-03-10 20:58 ` [PATCH 00/16] net/hns3: some code refactor for hns3 RSS 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=3fc85100-20ef-d0ea-cd49-53be897fe868@huawei.com \
    --to=lihuisong@huawei.com \
    --cc=andrew.rybchenko@oktetlabs.ru \
    --cc=dev@dpdk.org \
    --cc=ferruh.yigit@amd.com \
    --cc=liudongdong3@huawei.com \
    --cc=orika@nvidia.com \
    --cc=stable@dpdk.org \
    --cc=thomas@monjalon.net \
    --cc=yisen.zhuang@huawei.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).