All of lore.kernel.org
 help / color / mirror / Atom feed
From: Matan Azrad <matan@mellanox.com>
To: "Wiles, Keith" <keith.wiles@intel.com>
Cc: Pavan Nikhilesh <pbhagavatula@caviumnetworks.com>,
	"jerin.jacob@caviumnetworks.com" <jerin.jacob@caviumnetworks.com>,
	"Thomas Monjalon" <thomas@monjalon.net>,
	"dev@dpdk.org" <dev@dpdk.org>
Subject: Re: [PATCH 1/2] eal: add API to align integer to	previous	power of 2
Date: Mon, 19 Feb 2018 06:03:39 +0000	[thread overview]
Message-ID: <AM4PR0501MB265726E53B5A1F52499B9E47D2C80@AM4PR0501MB2657.eurprd05.prod.outlook.com> (raw)
In-Reply-To: <28F3DAA5-CCAB-4D2E-A6C9-FEB685A619C8@intel.com>



> From: Wiles, Keith, Sunday, February 18, 2018 5:39 PM
> > On Feb 18, 2018, at 12:11 AM, Matan Azrad <matan@mellanox.com>
> wrote:
> >
> > Hi Pavan
> >
> > Please see some comments below.
> >
> > From: Pavan Nikhilesh, Saturday, February 17, 2018 12:50 PM
> >> Add 32b and 64b API's to align the given integer to the previous power of
> 2.
> >>
> >> Signed-off-by: Pavan Nikhilesh <pbhagavatula@caviumnetworks.com>
> >> ---
> >> lib/librte_eal/common/include/rte_common.h | 36
> >> ++++++++++++++++++++++++++++++
> >> 1 file changed, 36 insertions(+)
> >>
> >> diff --git a/lib/librte_eal/common/include/rte_common.h
> >> b/lib/librte_eal/common/include/rte_common.h
> >> index c7803e41c..126914f07 100644
> >> --- a/lib/librte_eal/common/include/rte_common.h
> >> +++ b/lib/librte_eal/common/include/rte_common.h
> >> @@ -259,6 +259,24 @@ rte_align32pow2(uint32_t x)
> >> 	return x + 1;
> >> }
> >>
> >> +/**
> >> + * Aligns input parameter to the previous power of 2
> >> + *
> >> + * @param x
> >> + *   The integer value to algin
> >> + *
> >> + * @return
> >> + *   Input parameter aligned to the previous power of 2
> >
> > I think the zero case(x=0) result should be documented.
> >
> >> + */
> >> +static inline uint32_t
> >> +rte_align32lowpow2(uint32_t x)
> >
> > What do you think about " rte_align32prevpow2"?
> >
> >> +{
> >> +	x = rte_align32pow2(x);
> >
> > 	In case of  x is power of 2 number(already aligned), looks like the
> result here is x and the final result is (x >> 1)?
> > 	Is it as you expect?
> >
> >> +	x--;
> >> +
> >> +	return x - (x >> 1);
> >
> > Why can't the implementation just be:
> > return  rte_align32pow2(x) >> 1;
> >
> > If the above is correct, Are you sure we need this API?
> >
> >> +}
> >> +
> >> /**
> >>  * Aligns 64b input parameter to the next power of 2
> >>  *
> >> @@ -282,6 +300,24 @@ rte_align64pow2(uint64_t v)
> >> 	return v + 1;
> >> }
> >>
> >> +/**
> >> + * Aligns 64b input parameter to the previous power of 2
> >> + *
> >> + * @param v
> >> + *   The 64b value to align
> >> + *
> >> + * @return
> >> + *   Input parameter aligned to the previous power of 2
> >> + */
> >> +static inline uint64_t
> >> +rte_align64lowpow2(uint64_t v)
> >> +{
> >> +	v = rte_align64pow2(v);
> >> +	v--;
> >> +
> >> +	return v - (v >> 1);
> >> +}
> >> +
> >
> > Same comments for 64b API.
> >
> >> /*********** Macros for calculating min and max **********/
> >>
> >> /**
> >> --
> >> 2.16.1
> >
> >
> > If it is a new API, I think it should be added to the map file and to be tagged
> as experimental. No?
> >
> 
> Is this the type of API that needs to be marked experimental,

I think it is relevant to any exposed API(not only for internal libraries).

> we should be able to prove these functions, correct?

Don't we need to prove any function in DPDK?
What is your point?

> > Matan
> 
> Regards,
> Keith

  parent reply	other threads:[~2018-02-19  6:03 UTC|newest]

Thread overview: 29+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-02-17 10:49 [PATCH 1/2] eal: add API to align integer to previous power of 2 Pavan Nikhilesh
2018-02-17 10:49 ` [PATCH 2/2] test: update common auto test Pavan Nikhilesh
2018-02-18  6:11 ` [PATCH 1/2] eal: add API to align integer to previous power of 2 Matan Azrad
     [not found]   ` <28F3DAA5-CCAB-4D2E-A6C9-FEB685A619C8@intel.com>
2018-02-19  6:03     ` Matan Azrad [this message]
2018-02-19 13:55       ` Wiles, Keith
2018-02-19 14:13         ` Matan Azrad
2018-02-19 14:21           ` Wiles, Keith
2018-02-19 16:18           ` Thomas Monjalon
2018-02-19  8:36   ` Pavan Nikhilesh
2018-02-19 11:36 ` [PATCH v2 " Pavan Nikhilesh
2018-02-19 11:36   ` [PATCH v2 2/2] test: update common auto test Pavan Nikhilesh
2018-02-19 12:09   ` [PATCH v2 1/2] eal: add API to align integer to previous power of 2 Matan Azrad
2018-02-26 19:10     ` Pavan Nikhilesh
2018-02-27 19:30       ` Matan Azrad
2018-04-04 10:16 ` [PATCH v3 " Pavan Nikhilesh
2018-04-04 10:16   ` [PATCH v3 2/2] test: update common auto test Pavan Nikhilesh
2018-04-04 12:49     ` Thomas Monjalon
2018-04-04 12:54       ` Pavan Nikhilesh
2018-04-04 16:10   ` [PATCH v3 1/2] eal: add API to align integer to previous power of 2 Matan Azrad
2018-04-04 16:42     ` Pavan Nikhilesh
2018-04-04 17:11       ` Matan Azrad
2018-04-04 17:51         ` Pavan Nikhilesh
2018-04-04 18:10           ` Matan Azrad
2018-04-04 18:15             ` Pavan Nikhilesh
2018-04-04 18:23               ` Matan Azrad
2018-04-04 18:36                 ` Pavan Nikhilesh
2018-04-04 19:41                   ` Matan Azrad
2018-04-04 13:20 ` [PATCH v4] " Pavan Nikhilesh
2018-04-04 15:23   ` Thomas Monjalon

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=AM4PR0501MB265726E53B5A1F52499B9E47D2C80@AM4PR0501MB2657.eurprd05.prod.outlook.com \
    --to=matan@mellanox.com \
    --cc=dev@dpdk.org \
    --cc=jerin.jacob@caviumnetworks.com \
    --cc=keith.wiles@intel.com \
    --cc=pbhagavatula@caviumnetworks.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 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.