From: David Marchand <david.marchand@redhat.com>
To: "Medvedkin, Vladimir" <vladimir.medvedkin@intel.com>
Cc: "dev@dpdk.org" <dev@dpdk.org>,
"Ananyev, Konstantin" <konstantin.ananyev@intel.com>,
"Chilikin, Andrey" <andrey.chilikin@intel.com>,
"Kinsella, Ray" <ray.kinsella@intel.com>,
"Gobriel, Sameh" <sameh.gobriel@intel.com>,
"Richardson, Bruce" <bruce.richardson@intel.com>,
Stephen Hemminger <stephen@networkplumber.org>,
"Wang, Yipeng1" <yipeng1.wang@intel.com>
Subject: Re: [dpdk-dev] [PATCH v4 0/3] Predictable RSS feature
Date: Thu, 15 Apr 2021 10:29:19 +0200 [thread overview]
Message-ID: <CAJFAV8ywov9nv4i9AefH7Txc4T4d25X7XtyX5ZEyyAtLn9uUyA@mail.gmail.com> (raw)
In-Reply-To: <CO1PR11MB51722199EB7FD0C3B6A9E0B9C34E9@CO1PR11MB5172.namprd11.prod.outlook.com>
On Wed, Apr 14, 2021 at 8:05 PM Wang, Yipeng1 <yipeng1.wang@intel.com> wrote:
>
> > -----Original Message-----
> > From: Medvedkin, Vladimir <vladimir.medvedkin@intel.com>
> > Sent: Tuesday, April 13, 2021 6:20 AM
> > To: dev@dpdk.org
> > Cc: Ananyev, Konstantin <konstantin.ananyev@intel.com>; Chilikin, Andrey
> > <andrey.chilikin@intel.com>; Kinsella, Ray <ray.kinsella@intel.com>; Wang,
> > Yipeng1 <yipeng1.wang@intel.com>; Gobriel, Sameh
> > <sameh.gobriel@intel.com>; Richardson, Bruce
> > <bruce.richardson@intel.com>
> > Subject: [PATCH v4 0/3] Predictable RSS feature
> >
> > This patch series introduces predictable RSS feature.
> > It is based on the idea of searching for partial hash collisions within Toeplitz
> > hash.
> >
> > The Toeplitz hash function is a homomorphism between (G, ^) and (H, ^),
> > where (G, ^) - is a group of tuples and (H, ^) is a group of hashes with respect
> > to XOR operation. So tuples and hashes could be treated as n-dimension and
> > 32-dimension vector spaces over GF(2).
> > So, f(x ^ y) == f(x) ^ f(y)
> > where f - is the toeplitz hash function and x, y are tuples.
> >
> > The ability to predict partial collisions allows user to compute input hash value
> > with desired LSB values.
> > Usually number of LSB's are defined by the size of RSS Redirection Table.
> >
> > There could be number of use cases, for example:
> > 1) NAT. Using this library it is possible to select a new port number on a
> > translation in the way that rss hash for original tuple will have the same LSB's
> > as rss hash for reverse tuple.
> > 2) IPSec/MPLS/Vxlan. It is possible to choose tunnel id to be pinned to a
> > desired queue.
> > 3) TCP stack. It is possible to choose a source port number for outgoing
> > connections in the way that received replies will be assigned to desired
> > queue.
> > 4) RSS hash key generation. Hash key initialization with random values does
> > not guarantee an uniform distribution amongst queues. This library uses
> > mathematically proved algorithm to complete the rss hash key to provide the
> > best distribution.
> >
> > v4:
> > - RETA_SZ macros were moved to .h
> > - fixed typos
> >
> > v3:
> > - reworked rte_thash_adjust_tuple()
> > - added extra comments
> > - fixed typos
> > - rte_thash_adjust_tuple() API was putted into the first commit
> >
> > v2:
> > - added extra API rte_thash_adjust_tuple()
> > - added extra tests for rte_thash_adjust_tuple()
> > - added extra fields to rte_thash_subtuple_helper struct
> > - fixed typos
> >
> > Vladimir Medvedkin (3):
> > hash: add predictable RSS API
> > hash: add predictable RSS implementation
> > test/hash: add additional thash tests
> >
> > app/test/test_thash.c | 469 ++++++++++++++++++++++++++++++-
> > lib/librte_hash/meson.build | 3 +-
> > lib/librte_hash/rte_thash.c | 671
> > ++++++++++++++++++++++++++++++++++++++++++++
> > lib/librte_hash/rte_thash.h | 198 +++++++++++++
> > lib/librte_hash/version.map | 8 +
> > 5 files changed, 1342 insertions(+), 7 deletions(-) create mode 100644
> > lib/librte_hash/rte_thash.c
> >
> > --
> > 2.7.4
> [Wang, Yipeng]
> Hi, Vladimir, thanks for the new version.
> Most parts look good to me, so I acked to not block the integration.
> But documentation and a good use example is still needed.
> I think it can be added later after RC1.
This is not something new.
Documentation, release note update comes with the API.
The example had been asked by Stephen too and this is justified.
I can see some comments in patches.
I will wait for a v5 from Vladimir.
If it can be done for rc1, cool, else it will wait for the next release.
--
David Marchand
next prev parent reply other threads:[~2021-04-15 8:29 UTC|newest]
Thread overview: 47+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-03-16 18:24 [dpdk-dev] [PATCH v1 " Vladimir Medvedkin
2021-03-16 18:24 ` [dpdk-dev] [PATCH v1 1/3] hash: add predictable RSS API Vladimir Medvedkin
2021-03-16 18:24 ` [dpdk-dev] [PATCH v1 2/3] hash: add predictable RSS implementation Vladimir Medvedkin
2021-03-16 18:24 ` [dpdk-dev] [PATCH v1 3/3] test/hash: add additional thash tests Vladimir Medvedkin
2021-04-06 19:50 ` [dpdk-dev] [PATCH v2 0/3] Predictable RSS feature Vladimir Medvedkin
2021-04-08 15:56 ` Stephen Hemminger
2021-04-11 18:51 ` Medvedkin, Vladimir
2021-10-22 20:37 ` Thomas Monjalon
2021-10-24 14:42 ` Vladimir Medvedkin
2021-04-10 0:32 ` Wang, Yipeng1
2021-04-11 18:51 ` Medvedkin, Vladimir
2021-04-11 19:11 ` [dpdk-dev] [PATCH v3 " Vladimir Medvedkin
2021-04-13 13:19 ` [dpdk-dev] [PATCH v4 " Vladimir Medvedkin
2021-04-14 18:04 ` Wang, Yipeng1
2021-04-15 8:29 ` David Marchand [this message]
2021-04-19 15:59 ` [dpdk-dev] [PATCH v5 0/5] " Vladimir Medvedkin
2021-04-20 21:31 ` Thomas Monjalon
2021-04-19 15:59 ` [dpdk-dev] [PATCH v5 1/5] hash: add predictable RSS API Vladimir Medvedkin
2021-04-19 15:59 ` [dpdk-dev] [PATCH v5 2/5] hash: add predictable RSS implementation Vladimir Medvedkin
2021-04-19 15:59 ` [dpdk-dev] [PATCH v5 3/5] test/hash: add additional thash tests Vladimir Medvedkin
2021-04-29 9:13 ` David Marchand
2021-04-29 9:17 ` Medvedkin, Vladimir
2021-04-29 18:45 ` Stanislaw Kardach
2021-05-04 14:06 ` Medvedkin, Vladimir
2021-04-19 15:59 ` [dpdk-dev] [PATCH v5 4/5] doc: add thash documentation Vladimir Medvedkin
2021-04-20 11:25 ` Mcnamara, John
2021-04-19 15:59 ` [dpdk-dev] [PATCH v5 5/5] maintainers: claim maintainership of the hash library Vladimir Medvedkin
2021-04-13 13:19 ` [dpdk-dev] [PATCH v4 1/3] hash: add predictable RSS API Vladimir Medvedkin
2021-04-14 17:06 ` Wang, Yipeng1
2021-04-13 13:19 ` [dpdk-dev] [PATCH v4 2/3] hash: add predictable RSS implementation Vladimir Medvedkin
2021-04-14 17:51 ` Wang, Yipeng1
2021-04-13 13:19 ` [dpdk-dev] [PATCH v4 3/3] test/hash: add additional thash tests Vladimir Medvedkin
2021-04-14 17:56 ` Wang, Yipeng1
2021-04-11 19:11 ` [dpdk-dev] [PATCH v3 1/3] hash: add predictable RSS API Vladimir Medvedkin
2021-04-11 19:11 ` [dpdk-dev] [PATCH v3 2/3] hash: add predictable RSS implementation Vladimir Medvedkin
2021-04-11 19:11 ` [dpdk-dev] [PATCH v3 3/3] test/hash: add additional thash tests Vladimir Medvedkin
2021-04-06 19:50 ` [dpdk-dev] [PATCH v2 1/3] hash: add predictable RSS API Vladimir Medvedkin
2021-04-10 0:05 ` Wang, Yipeng1
2021-04-11 18:52 ` Medvedkin, Vladimir
2021-04-06 19:50 ` [dpdk-dev] [PATCH v2 2/3] hash: add predictable RSS implementation Vladimir Medvedkin
2021-04-07 12:53 ` Ananyev, Konstantin
2021-04-11 18:51 ` Medvedkin, Vladimir
2021-04-12 9:47 ` Ananyev, Konstantin
2021-04-13 12:28 ` Medvedkin, Vladimir
2021-04-10 0:10 ` Wang, Yipeng1
2021-04-11 18:52 ` Medvedkin, Vladimir
2021-04-06 19:50 ` [dpdk-dev] [PATCH v2 3/3] test/hash: add additional thash tests Vladimir Medvedkin
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=CAJFAV8ywov9nv4i9AefH7Txc4T4d25X7XtyX5ZEyyAtLn9uUyA@mail.gmail.com \
--to=david.marchand@redhat.com \
--cc=andrey.chilikin@intel.com \
--cc=bruce.richardson@intel.com \
--cc=dev@dpdk.org \
--cc=konstantin.ananyev@intel.com \
--cc=ray.kinsella@intel.com \
--cc=sameh.gobriel@intel.com \
--cc=stephen@networkplumber.org \
--cc=vladimir.medvedkin@intel.com \
--cc=yipeng1.wang@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).