From: Jakub Kicinski <kuba@kernel.org>
To: Alexander 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,
Ahmed Zaki <ahmed.zaki@intel.com>,
edumazet@google.com, anthony.l.nguyen@intel.com,
horms@kernel.org, vladimir.oltean@nxp.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, 17 Oct 2023 17:34:48 -0700 [thread overview]
Message-ID: <20231017173448.3f1c35aa@kernel.org> (raw)
In-Reply-To: <CAKgT0Ud4PX1Y6GO9rW+Nvr_y862Cbv3Fpn+YX4wFHEos9rugJA@mail.gmail.com>
On Tue, 17 Oct 2023 13:41:18 -0700 Alexander Duyck wrote:
> I am thinking of this from a software engineering perspective. This
> symmetric-xor aka simplified-toeplitz is actually much cheaper to
> implement in software than the original. As such I would want it to be
> considered a separate algorithm as I could make use of something like
> that when having to implement RSS in QEMU for instance.
That's exactly why XOR and CRC32 _algorithms_ already exist.
CPUs have instructions to do them word at a time.
ETH_RSS_HASH_TOP_BIT, /* Configurable RSS hash function -
Toeplitz */
ETH_RSS_HASH_XOR_BIT, /* Configurable RSS hash function - Xor */
ETH_RSS_HASH_CRC32_BIT, /* Configurable RSS hash function - Crc32 */
If efficient SW implementation is important why do some weird
bastardized para-toeplitz and not crc32? Hashes fairly well
from what I recall with the older NFPs. x86 has an instruction
for it, IIRC it was part of SSE but on normal registers.
> Based on earlier comments it doesn't change the inputs, it just
> changes how I have to handle the data and the key. It starts reducing
> things down to something like the Intel implementation of Flow
> Director in terms of how the key gets generated and hashed.
About Flow Director I know only that it is bad :)
_______________________________________________
Intel-wired-lan mailing list
Intel-wired-lan@osuosl.org
https://lists.osuosl.org/mailman/listinfo/intel-wired-lan
WARNING: multiple messages have this Message-ID (diff)
From: Jakub Kicinski <kuba@kernel.org>
To: Alexander Duyck <alexander.duyck@gmail.com>
Cc: Ahmed Zaki <ahmed.zaki@intel.com>,
netdev@vger.kernel.org, intel-wired-lan@lists.osuosl.org,
corbet@lwn.net, jesse.brandeburg@intel.com,
anthony.l.nguyen@intel.com, davem@davemloft.net,
edumazet@google.com, pabeni@redhat.com, vladimir.oltean@nxp.com,
andrew@lunn.ch, horms@kernel.org, mkubecek@suse.cz,
willemdebruijn.kernel@gmail.com, linux-doc@vger.kernel.org,
Wojciech Drewek <wojciech.drewek@intel.com>
Subject: Re: [PATCH net-next v4 1/6] net: ethtool: allow symmetric-xor RSS hash for any flow type
Date: Tue, 17 Oct 2023 17:34:48 -0700 [thread overview]
Message-ID: <20231017173448.3f1c35aa@kernel.org> (raw)
In-Reply-To: <CAKgT0Ud4PX1Y6GO9rW+Nvr_y862Cbv3Fpn+YX4wFHEos9rugJA@mail.gmail.com>
On Tue, 17 Oct 2023 13:41:18 -0700 Alexander Duyck wrote:
> I am thinking of this from a software engineering perspective. This
> symmetric-xor aka simplified-toeplitz is actually much cheaper to
> implement in software than the original. As such I would want it to be
> considered a separate algorithm as I could make use of something like
> that when having to implement RSS in QEMU for instance.
That's exactly why XOR and CRC32 _algorithms_ already exist.
CPUs have instructions to do them word at a time.
ETH_RSS_HASH_TOP_BIT, /* Configurable RSS hash function -
Toeplitz */
ETH_RSS_HASH_XOR_BIT, /* Configurable RSS hash function - Xor */
ETH_RSS_HASH_CRC32_BIT, /* Configurable RSS hash function - Crc32 */
If efficient SW implementation is important why do some weird
bastardized para-toeplitz and not crc32? Hashes fairly well
from what I recall with the older NFPs. x86 has an instruction
for it, IIRC it was part of SSE but on normal registers.
> Based on earlier comments it doesn't change the inputs, it just
> changes how I have to handle the data and the key. It starts reducing
> things down to something like the Intel implementation of Flow
> Director in terms of how the key gets generated and hashed.
About Flow Director I know only that it is bad :)
next prev parent reply other threads:[~2023-10-18 0:34 UTC|newest]
Thread overview: 90+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-10-16 15:49 [Intel-wired-lan] [PATCH net-next v4 0/6] Support symmetric RSS (Toeplitz) hash Ahmed Zaki
2023-10-16 15:49 ` Ahmed Zaki
2023-10-16 15:49 ` [Intel-wired-lan] [PATCH net-next v4 1/6] net: ethtool: allow symmetric-xor RSS hash for any flow type Ahmed Zaki
2023-10-16 15:49 ` Ahmed Zaki
2023-10-16 20:17 ` [Intel-wired-lan] " Alexander H Duyck
2023-10-16 20:17 ` Alexander H Duyck
2023-10-16 21:08 ` [Intel-wired-lan] " Ahmed Zaki
2023-10-16 21:08 ` Ahmed Zaki
2023-10-16 22:15 ` [Intel-wired-lan] " Alexander Duyck
2023-10-16 22:15 ` Alexander Duyck
2023-10-16 22:44 ` [Intel-wired-lan] " Ahmed Zaki
2023-10-16 22:44 ` Ahmed Zaki
2023-10-16 22:55 ` [Intel-wired-lan] " Alexander Duyck
2023-10-16 22:55 ` Alexander Duyck
2023-10-16 23:30 ` [Intel-wired-lan] " Jakub Kicinski
2023-10-16 23:30 ` Jakub Kicinski
2023-10-17 0:08 ` [Intel-wired-lan] " Ahmed Zaki
2023-10-17 0:08 ` Ahmed Zaki
2023-10-17 18:42 ` [Intel-wired-lan] " Alexander Duyck
2023-10-17 18:42 ` Alexander Duyck
2023-10-17 19:14 ` [Intel-wired-lan] " Ahmed Zaki
2023-10-17 19:14 ` Ahmed Zaki
2023-10-17 20:03 ` [Intel-wired-lan] " Alexander Duyck
2023-10-17 20:03 ` Alexander Duyck
2023-10-17 20:19 ` [Intel-wired-lan] " Jakub Kicinski
2023-10-17 20:19 ` Jakub Kicinski
2023-10-17 20:28 ` [Intel-wired-lan] " Alexander Duyck
2023-10-17 20:28 ` Alexander Duyck
2023-10-17 18:37 ` [Intel-wired-lan] " Alexander Duyck
2023-10-17 18:37 ` Alexander Duyck
2023-10-17 20:17 ` [Intel-wired-lan] " Jakub Kicinski
2023-10-17 20:17 ` Jakub Kicinski
2023-10-17 20:41 ` [Intel-wired-lan] " Alexander Duyck
2023-10-17 20:41 ` Alexander Duyck
2023-10-17 22:12 ` [Intel-wired-lan] " Ahmed Zaki
2023-10-17 22:12 ` Ahmed Zaki
2023-10-18 0:34 ` Jakub Kicinski [this message]
2023-10-18 0:34 ` Jakub Kicinski
2023-10-18 18:12 ` [Intel-wired-lan] " Alexander Duyck
2023-10-18 18:12 ` Alexander Duyck
2023-10-18 23:50 ` [Intel-wired-lan] " Jakub Kicinski
2023-10-18 23:50 ` Jakub Kicinski
2023-10-20 21:24 ` [Intel-wired-lan] " Ahmed Zaki
2023-10-20 21:24 ` Ahmed Zaki
2023-10-20 22:33 ` [Intel-wired-lan] " Jakub Kicinski
2023-10-20 22:33 ` Jakub Kicinski
2023-10-20 23:14 ` [Intel-wired-lan] " Ahmed Zaki
2023-10-20 23:14 ` Ahmed Zaki
2023-10-20 23:49 ` Jakub Kicinski
2023-10-20 23:49 ` Jakub Kicinski
2023-10-21 0:00 ` Ahmed Zaki
2023-10-21 0:00 ` Ahmed Zaki
2023-10-29 12:25 ` Gal Pressman
2023-10-29 12:25 ` Gal Pressman
2023-10-29 12:42 ` Ahmed Zaki
2023-10-29 12:42 ` Ahmed Zaki
2023-10-29 12:48 ` Gal Pressman
2023-10-29 12:48 ` Gal Pressman
2023-10-29 16:59 ` Ahmed Zaki
2023-10-29 16:59 ` Ahmed Zaki
2023-10-31 12:00 ` Gal Pressman
2023-10-31 12:00 ` Gal Pressman
2023-10-31 14:40 ` Ahmed Zaki
2023-10-31 14:40 ` Ahmed Zaki
2023-10-31 14:45 ` Gal Pressman
2023-10-31 14:45 ` Gal Pressman
2023-10-31 15:14 ` Ahmed Zaki
2023-10-31 15:14 ` Ahmed Zaki
2023-10-31 15:20 ` Jakub Kicinski
2023-10-31 15:20 ` Jakub Kicinski
2023-10-31 16:13 ` Gal Pressman
2023-10-31 16:13 ` Gal Pressman
2023-10-31 19:57 ` Jakub Kicinski
2023-10-31 19:57 ` Jakub Kicinski
2023-10-31 16:12 ` Gal Pressman
2023-10-31 16:12 ` Gal Pressman
2023-10-31 14:59 ` Alexander Duyck
2023-10-31 14:59 ` Alexander Duyck
2023-10-31 16:11 ` Gal Pressman
2023-10-31 16:11 ` Gal Pressman
2023-10-16 15:49 ` [Intel-wired-lan] [PATCH net-next v4 2/6] ice: fix ICE_AQ_VSI_Q_OPT_RSS_* register values Ahmed Zaki
2023-10-16 15:49 ` Ahmed Zaki
2023-10-16 15:49 ` [Intel-wired-lan] [PATCH net-next v4 3/6] ice: refactor RSS configuration Ahmed Zaki
2023-10-16 15:49 ` Ahmed Zaki
2023-10-16 15:49 ` [Intel-wired-lan] [PATCH net-next v4 4/6] ice: refactor the FD and RSS flow ID generation Ahmed Zaki
2023-10-16 15:49 ` Ahmed Zaki
2023-10-16 15:49 ` [Intel-wired-lan] [PATCH net-next v4 5/6] ice: enable symmetric RSS Toeplitz hash for any flow type Ahmed Zaki
2023-10-16 15:49 ` Ahmed Zaki
2023-10-16 15:49 ` [Intel-wired-lan] [PATCH net-next v4 6/6] iavf: enable symmetric RSS Toeplitz hash Ahmed Zaki
2023-10-16 15:49 ` 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=20231017173448.3f1c35aa@kernel.org \
--to=kuba@kernel.org \
--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=jesse.brandeburg@intel.com \
--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 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.