netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Gal Pressman <gal@nvidia.com>
To: Ahmed Zaki <ahmed.zaki@intel.com>,
	Jakub Kicinski <kuba@kernel.org>,
	Alexander H Duyck <alexander.duyck@gmail.com>
Cc: mkubecek@suse.cz, andrew@lunn.ch,
	willemdebruijn.kernel@gmail.com,
	Wojciech Drewek <wojciech.drewek@intel.com>,
	corbet@lwn.net, netdev@vger.kernel.org,
	linux-doc@vger.kernel.org, jesse.brandeburg@intel.com,
	edumazet@google.com, anthony.l.nguyen@intel.com,
	horms@kernel.org, vladimir.oltean@nxp.com,
	Jacob Keller <jacob.e.keller@intel.com>,
	intel-wired-lan@lists.osuosl.org, pabeni@redhat.com,
	davem@davemloft.net
Subject: Re: [Intel-wired-lan] [PATCH net-next v4 1/6] net: ethtool: allow symmetric-xor RSS hash for any flow type
Date: Tue, 31 Oct 2023 16:45:31 +0200	[thread overview]
Message-ID: <70132b6f-542f-4fe6-971f-ab9ea80acbe4@nvidia.com> (raw)
In-Reply-To: <aa1dd347-a16c-44f8-95ad-5d50bcba8f34@intel.com>

On 31/10/2023 16:40, Ahmed Zaki wrote:
> 
> 
> On 2023-10-31 06:00, Gal Pressman wrote:
>> On 29/10/2023 18:59, Ahmed Zaki wrote:
>>>
>>>
>>> On 2023-10-29 06:48, Gal Pressman wrote:
>>>> On 29/10/2023 14:42, Ahmed Zaki wrote:
>>>>>
>>>>>
>>>>> On 2023-10-29 06:25, Gal Pressman wrote:
>>>>>> On 21/10/2023 3:00, Ahmed Zaki wrote:
>>>>>>>
>>>>>>>
>>>>>>> On 2023-10-20 17:49, Jakub Kicinski wrote:
>>>>>>>> On Fri, 20 Oct 2023 17:14:11 -0600 Ahmed Zaki wrote:
>>>>>>>>> I replied to that here:
>>>>>>>>>
>>>>>>>>> https://lore.kernel.org/all/afb4a06f-cfba-47ba-adb3-09bea7cb5f00@intel.com/
>>>>>>>>>
>>>>>>>>> I am kind of confused now so please bear with me. ethtool either
>>>>>>>>> sends
>>>>>>>>> "ethtool_rxfh" or "ethtool_rxnfc". AFAIK "ethtool_rxfh" is the
>>>>>>>>> interface
>>>>>>>>> for "ethtool -X" which is used to set the RSS algorithm. But we
>>>>>>>>> kind of
>>>>>>>>> agreed to go with "ethtool -U|-N" for symmetric-xor, and that uses
>>>>>>>>> "ethtool_rxnfc" (as implemented in this series).
>>>>>>>>
>>>>>>>> I have no strong preference. Sounds like Alex prefers to keep it
>>>>>>>> closer
>>>>>>>> to algo, which is "ethtool_rxfh".
>>>>>>>>
>>>>>>>>> Do you mean use "ethtool_rxfh" instead of "ethtool_rxnfc"? how
>>>>>>>>> would
>>>>>>>>> that work on the ethtool user interface?
>>>>>>>>
>>>>>>>> I don't know what you're asking of us. If you find the code to
>>>>>>>> confusing
>>>>>>>> maybe someone at Intel can help you :|
>>>>>>>
>>>>>>> The code is straightforward. I am confused by the requirements:
>>>>>>> don't
>>>>>>> add a new algorithm but use "ethtool_rxfh".
>>>>>>>
>>>>>>> I'll see if I can get more help, may be I am missing something.
>>>>>>>
>>>>>>
>>>>>> What was the decision here?
>>>>>> Is this going to be exposed through ethtool -N or -X?
>>>>>
>>>>> I am working on a new version that uses "ethtool_rxfh" to set the
>>>>> symmetric-xor. The user will set per-device via:
>>>>>
>>>>> ethtool -X eth0 hfunc toeplitz symmetric-xor
>>>>>
>>>>> then specify the per-flow type RSS fields as usual:
>>>>>
>>>>> ethtool -N|-U eth0 rx-flow-hash <flow_type> s|d|f|n
>>>>>
>>>>> The downside is that all flow-types will have to be either
>>>>> symmetric or
>>>>> asymmetric.
>>>>
>>>> Why are we making the interface less flexible than it can be with -N?
>>>
>>> Alexander Duyck prefers to implement the "symmetric-xor" interface as an
>>> algorithm or extension (please refer to previous messages), but ethtool
>>> does not provide flowtype/RSS fields setting via "-X". The above was the
>>> best solution that we (at Intel) could think of.
>>
>> OK, it's a weird we're deliberately limiting our interface, given
>> there's already hardware that supports controlling symmetric hashing per
>> flow type.
>>
>> I saw you mentioned the way ice hardware implements symmetric-xor
>> somewhere, it definitely needs to be added somewhere in our
>> documentation to prevent confusion.
>> mlx5 hardware also does symmetric hashing with xor, but not exactly as
>> you described, we need the algorithm to be clear.
> 
> Sure. I will add more ice-specific doc in:
> Documentation/networking/device_drivers/ethernet/intel/ice.rst

I was thinking of somewhere more generic, where ethtool users (not
necessarily ice users) can refer to.

Perhaps Documentation/networking/ethtool-netlink.rst? Or ethtool man page?

  reply	other threads:[~2023-10-31 14:45 UTC|newest]

Thread overview: 45+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-10-16 15:49 [PATCH net-next v4 0/6] Support symmetric RSS (Toeplitz) hash Ahmed Zaki
2023-10-16 15:49 ` [PATCH net-next v4 1/6] net: ethtool: allow symmetric-xor RSS hash for any flow type Ahmed Zaki
2023-10-16 20:17   ` Alexander H Duyck
2023-10-16 21:08     ` Ahmed Zaki
2023-10-16 22:15       ` Alexander Duyck
2023-10-16 22:44         ` Ahmed Zaki
2023-10-16 22:55           ` Alexander Duyck
2023-10-16 23:30             ` Jakub Kicinski
2023-10-17  0:08               ` Ahmed Zaki
2023-10-17 18:42                 ` Alexander Duyck
2023-10-17 19:14                   ` Ahmed Zaki
2023-10-17 20:03                     ` Alexander Duyck
2023-10-17 20:19                       ` Jakub Kicinski
2023-10-17 20:28                         ` Alexander Duyck
2023-10-17 18:37               ` Alexander Duyck
2023-10-17 20:17                 ` Jakub Kicinski
2023-10-17 20:41                   ` Alexander Duyck
2023-10-17 22:12                     ` [Intel-wired-lan] " Ahmed Zaki
2023-10-18  0:34                     ` Jakub Kicinski
2023-10-18 18:12                       ` Alexander Duyck
2023-10-18 23:50                         ` Jakub Kicinski
2023-10-20 21:24                           ` Ahmed Zaki
2023-10-20 22:33                             ` Jakub Kicinski
2023-10-20 23:14                               ` [Intel-wired-lan] " Ahmed Zaki
2023-10-20 23:49                                 ` Jakub Kicinski
2023-10-21  0:00                                   ` Ahmed Zaki
2023-10-29 12:25                                     ` Gal Pressman
2023-10-29 12:42                                       ` Ahmed Zaki
2023-10-29 12:48                                         ` Gal Pressman
2023-10-29 16:59                                           ` Ahmed Zaki
2023-10-31 12:00                                             ` Gal Pressman
2023-10-31 14:40                                               ` Ahmed Zaki
2023-10-31 14:45                                                 ` Gal Pressman [this message]
2023-10-31 15:14                                                   ` Ahmed Zaki
2023-10-31 15:20                                                     ` Jakub Kicinski
2023-10-31 16:13                                                       ` Gal Pressman
2023-10-31 19:57                                                         ` Jakub Kicinski
2023-10-31 16:12                                                     ` Gal Pressman
2023-10-31 14:59                                               ` Alexander Duyck
2023-10-31 16:11                                                 ` Gal Pressman
2023-10-16 15:49 ` [PATCH net-next v4 2/6] ice: fix ICE_AQ_VSI_Q_OPT_RSS_* register values Ahmed Zaki
2023-10-16 15:49 ` [PATCH net-next v4 3/6] ice: refactor RSS configuration Ahmed Zaki
2023-10-16 15:49 ` [PATCH net-next v4 4/6] ice: refactor the FD and RSS flow ID generation Ahmed Zaki
2023-10-16 15:49 ` [PATCH net-next v4 5/6] ice: enable symmetric RSS Toeplitz hash for any flow type Ahmed Zaki
2023-10-16 15:49 ` [PATCH net-next v4 6/6] iavf: enable symmetric RSS Toeplitz hash Ahmed Zaki

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=70132b6f-542f-4fe6-971f-ab9ea80acbe4@nvidia.com \
    --to=gal@nvidia.com \
    --cc=ahmed.zaki@intel.com \
    --cc=alexander.duyck@gmail.com \
    --cc=andrew@lunn.ch \
    --cc=anthony.l.nguyen@intel.com \
    --cc=corbet@lwn.net \
    --cc=davem@davemloft.net \
    --cc=edumazet@google.com \
    --cc=horms@kernel.org \
    --cc=intel-wired-lan@lists.osuosl.org \
    --cc=jacob.e.keller@intel.com \
    --cc=jesse.brandeburg@intel.com \
    --cc=kuba@kernel.org \
    --cc=linux-doc@vger.kernel.org \
    --cc=mkubecek@suse.cz \
    --cc=netdev@vger.kernel.org \
    --cc=pabeni@redhat.com \
    --cc=vladimir.oltean@nxp.com \
    --cc=willemdebruijn.kernel@gmail.com \
    --cc=wojciech.drewek@intel.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).