From: Jianbo Liu <jianbo.liu@linaro.org>
To: "De Lara Guarch, Pablo" <pablo.de.lara.guarch@intel.com>
Cc: Thomas Monjalon <thomas@monjalon.net>,
"Dumitrescu, Cristian" <cristian.dumitrescu@intel.com>,
"dev@dpdk.org" <dev@dpdk.org>,
"jerin.jacob@caviumnetworks.com"
<jerin.jacob@caviumnetworks.com>,
"ashwin.sekhar@caviumnetworks.com"
<ashwin.sekhar@caviumnetworks.com>
Subject: Re: [dpdk-dev] [PATCH] examples/ip_pipeline: use crc32 in hash functions for arm64
Date: Wed, 5 Jul 2017 11:38:09 +0800 [thread overview]
Message-ID: <CAP4Qi3_u=TPw17OBWL6qndkHa0hE7RNLwspW4xEHUpschXpisQ@mail.gmail.com> (raw)
In-Reply-To: <E115CCD9D858EF4F90C690B0DCB4D8976CBD5529@IRSMSX108.ger.corp.intel.com>
On 4 July 2017 at 21:55, De Lara Guarch, Pablo
<pablo.de.lara.guarch@intel.com> wrote:
>
>
>> -----Original Message-----
>> From: Thomas Monjalon [mailto:thomas@monjalon.net]
>> Sent: Tuesday, July 4, 2017 12:26 AM
>> To: Dumitrescu, Cristian <cristian.dumitrescu@intel.com>; De Lara Guarch,
>> Pablo <pablo.de.lara.guarch@intel.com>
>> Cc: dev@dpdk.org; Jianbo Liu <jianbo.liu@linaro.org>;
>> jerin.jacob@caviumnetworks.com; ashwin.sekhar@caviumnetworks.com
>> Subject: Re: [dpdk-dev] [PATCH] examples/ip_pipeline: use crc32 in hash
>> functions for arm64
>>
>> 04/07/2017 01:19, Dumitrescu, Cristian:
>> > From: Thomas Monjalon [mailto:thomas@monjalon.net]
>> > > 18/05/2017 11:09, Jianbo Liu:
>> > > > Implement the same hash functions with crc32 on arm platform.
>> > > >
>> > > > Signed-off-by: Jianbo Liu <jianbo.liu@linaro.org>
>> > > > ---
>> > > > examples/ip_pipeline/pipeline/hash_func.h | 2 +
>> > > > examples/ip_pipeline/pipeline/hash_func_arm64.h | 245
>> > > ++++++++++++++++++++++++
>> > > > 2 files changed, 247 insertions(+) create mode 100644
>> > > > examples/ip_pipeline/pipeline/hash_func_arm64.h
>> > >
>> > > I don't understand why this code is in an example.
>> > > We have some CRC code in librte_hash, librte_net and ip_pipeline.
>> > > Cristian, Jianbo,
>> > > does it make sense to move these functions somewhere else?
>> > >
>> >
>> > I think example apps are a great way to propose new hash functions.
>> > IMO we should encourage the definition/exploration of new hash
>> functions in our example apps.
>> >
>> > These functions are examples of how fast hash functions can be built
>> using special CPU instructions.
>> > They have much better performance than e.g. jhash, but their
>> > properties are largely unknown, as no rigorous study on their
>> > properties (such as uniform distribution) has been conducted. I have
>> > seen them providing good performance for the data set I have been
>> using, but I have no extensive data to support their maturity level.
>> >
>> > If somebody is willing to invest the effort in proving them, I would
>> > be more than happy to see them moved to a library like librte_hash.
>> > Pablo as maintainer has the choice (I think it is not the first time
>> > we discuss bout these hash funcs :) )
>> >
>> > As mentioned in one of our deprecation notices, I am actively working
>> > (not ready for 17.8 unfortunately) to add a key mask parameter to these
>> functions, so more work on these hash functions is likely to take place.
>>
>> OK thanks for the explanation.
>> I still think we do not need to prove hash for integrating them.
>> I would be interested to read Pablo's opinion.
>
> If these functions are used as hash functions, I would place them in rte_hash.
>
> The case where we placed the CRC function in librte_net was because that
> was not used as a hash function, so it made sense to me placing it there,
> but in this case, it looks like it is, so I think rte_hash is a valid place
> (although someone would need to integrate it with the existing CRC hash function in that library).
>
I think Cristian explanation justified using the special hash functions here.
And they may have better performance than the standard functions in the library.
Thanks!
Jianbo
next prev parent reply other threads:[~2017-07-05 3:38 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-05-18 9:09 Jianbo Liu
2017-07-03 21:11 ` Thomas Monjalon
2017-07-03 23:19 ` Dumitrescu, Cristian
2017-07-03 23:25 ` Thomas Monjalon
2017-07-04 13:55 ` De Lara Guarch, Pablo
2017-07-05 3:38 ` Jianbo Liu [this message]
2017-10-24 15:38 ` Dumitrescu, Cristian
2017-10-25 7:01 ` Jianbo Liu
2017-10-27 9:25 ` [dpdk-dev] [PATCH v2] " Jianbo Liu
2017-10-27 9:55 ` Dumitrescu, Cristian
2017-11-07 7:51 ` 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='CAP4Qi3_u=TPw17OBWL6qndkHa0hE7RNLwspW4xEHUpschXpisQ@mail.gmail.com' \
--to=jianbo.liu@linaro.org \
--cc=ashwin.sekhar@caviumnetworks.com \
--cc=cristian.dumitrescu@intel.com \
--cc=dev@dpdk.org \
--cc=jerin.jacob@caviumnetworks.com \
--cc=pablo.de.lara.guarch@intel.com \
--cc=thomas@monjalon.net \
/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).