DPDK patches and discussions
 help / color / mirror / Atom feed
From: Ravi Kerur <rkerur@gmail.com>
To: Don Provan <dprovan@bivio.net>
Cc: "dev@dpdk.org" <dev@dpdk.org>
Subject: Re: [dpdk-dev] [PATCH v2] Implement memcmp using AVX/SSE instructions.
Date: Tue, 12 May 2015 18:16:20 -0700	[thread overview]
Message-ID: <CAFb4SLDc0Wj7vhtWfzqe7_me4yQwz2jPTS+7fbw-5o+AOTfSWA@mail.gmail.com> (raw)
In-Reply-To: <CY1PR0101MB0987D5639C57194E17D15EB6A0DB0@CY1PR0101MB0987.prod.exchangelabs.com>

On Mon, May 11, 2015 at 3:29 PM, Don Provan <dprovan@bivio.net> wrote:

> I probably shouldn't stick my nose into this, but I can't help myself.
>
> An experienced programmer will tend to ignore the documentation for
> a routine named "blahblah_memcmp" and just assume it functions like
> memcmp. Whether or not there's currently a use case in DPDK is
> completely irrelevant because as soon as there *is* a use case, some
> poor DPDK developer will try to use rte_memcmp for that and may or
> may not have a test case that reveals their mistake.
>

In general I agree with you. However, comparison is a hit(equal) or
miss(unequal) is generally the case in networking. I haven't seen cases
where "less than" or "greater than" has mattered.


>
> The term "compare" suggests checking for larger or smaller.
> If you want to check for equality, use "equal" or "eq" in the name
> and return true if they're equal. But personally, I'd compare unless
> there was a good reason not to. Indeed, I would just implement
> full memcmp functionality and be done with it, even if that meant
> using my fancy new assembly code for the cases I handle and then
> calling memcmp itself for the cases I didn't.
>
> Agreed, I will look into implementing full functionality.


> If a routine that appears to take an arbitrary size doesn't, the name
> should in some manner reflect what sizes it takes. Better would be
> for a routine that only handles specific sizes to be split into versions
> that only take fixed sizes, but I don't know enough about your use
> cases to say whether that makes sense here.
>
>
Users of rte_memcmp will be existing dpdk test and library code.

-don provan
> dprovan@bivio.net
>
> -----Original Message-----
> From: Ravi Kerur [mailto:rkerur@gmail.com]
> Sent: Monday, May 11, 2015 1:47 PM
> To: Ananyev, Konstantin
> Cc: dev@dpdk.org
> Subject: Re: [dpdk-dev] [PATCH v2] Implement memcmp using AVX/SSE
> instructions.
>
> ...
> Following memcmp semantics is not hard but there are no use-cases for it
> in DPDK currently. Keeping it specific to DPDK usage simplifies code as
> well.
> I can change the name to "rte_compare" and add comments to the function.
> Will it work?
> ...
>
>

  reply	other threads:[~2015-05-13  1:16 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-05-08 21:19 [dpdk-dev] [PATCH v2] Implement rte_memcmp with " Ravi Kerur
2015-05-08 21:19 ` [dpdk-dev] [PATCH v2] Implement memcmp using " Ravi Kerur
2015-05-08 22:29   ` Matt Laswell
2015-05-08 22:54     ` Ravi Kerur
2015-05-08 23:25       ` Matt Laswell
2015-05-11  9:51       ` Ananyev, Konstantin
2015-05-11 17:42         ` Ravi Kerur
     [not found]           ` <2601191342CEEE43887BDE71AB9772582142E44A@irsmsx105.ger.corp.intel.com>
2015-05-11 19:35             ` Ananyev, Konstantin
2015-05-11 20:46               ` Ravi Kerur
2015-05-11 22:29                 ` Don Provan
2015-05-13  1:16                   ` Ravi Kerur [this message]
2015-05-13  9:03                     ` Bruce Richardson
2015-05-13 20:08                       ` Ravi Kerur
2015-05-13 12:21                     ` Jay Rolette
2015-05-13 20:07                       ` Ravi Kerur
     [not found]                 ` <2601191342CEEE43887BDE71AB9772582142EBB5@irsmsx105.ger.corp.intel.com>
2015-05-13 10:12                   ` Ananyev, Konstantin
2015-05-13 20:06                     ` Ravi Kerur
2015-05-12  8:13   ` Linhaifeng
2015-05-13  1:18     ` Ravi Kerur
2015-05-13  7:22       ` Linhaifeng
2015-05-13 20:00         ` Ravi Kerur

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=CAFb4SLDc0Wj7vhtWfzqe7_me4yQwz2jPTS+7fbw-5o+AOTfSWA@mail.gmail.com \
    --to=rkerur@gmail.com \
    --cc=dev@dpdk.org \
    --cc=dprovan@bivio.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).