rte_reciprocal: make arg to rte_reciprocal_divide_u64 const
Checks
Commit Message
The divisor is not modified here. Doesn't really matter for optimizaton
since the function is inline already; but helps with expressing
intent.
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
---
lib/librte_eal/common/include/rte_reciprocal.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
Comments
On 3/21/19 8:59 PM, Stephen Hemminger wrote:
> The divisor is not modified here. Doesn't really matter for optimizaton
> since the function is inline already; but helps with expressing
> intent.
>
> Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
> ---
> lib/librte_eal/common/include/rte_reciprocal.h | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/lib/librte_eal/common/include/rte_reciprocal.h b/lib/librte_eal/common/include/rte_reciprocal.h
> index 3492c73bafea..63e16fde0aa8 100644
> --- a/lib/librte_eal/common/include/rte_reciprocal.h
> +++ b/lib/librte_eal/common/include/rte_reciprocal.h
> @@ -77,7 +77,7 @@ mullhi_u64(uint64_t x, uint64_t y)
> }
>
> static __rte_always_inline uint64_t
> -rte_reciprocal_divide_u64(uint64_t a, struct rte_reciprocal_u64 *R)
> +rte_reciprocal_divide_u64(uint64_t a, const struct rte_reciprocal_u64 *R)
> {
> uint64_t t = mullhi_u64(a, R->m);
>
>
Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
21/03/2019 20:59, Stephen Hemminger:
> The divisor is not modified here. Doesn't really matter for optimizaton
> since the function is inline already; but helps with expressing
> intent.
>
> Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
> ---
> static __rte_always_inline uint64_t
> -rte_reciprocal_divide_u64(uint64_t a, struct rte_reciprocal_u64 *R)
> +rte_reciprocal_divide_u64(uint64_t a, const struct rte_reciprocal_u64 *R)
Why not doing the same change for rte_reciprocal_divide()?
Should we advertise such API change?
On Wed, 27 Mar 2019 12:14:44 +0100
Thomas Monjalon <thomas@monjalon.net> wrote:
> 21/03/2019 20:59, Stephen Hemminger:
> > The divisor is not modified here. Doesn't really matter for optimizaton
> > since the function is inline already; but helps with expressing
> > intent.
> >
> > Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
> > ---
> > static __rte_always_inline uint64_t
> > -rte_reciprocal_divide_u64(uint64_t a, struct rte_reciprocal_u64 *R)
> > +rte_reciprocal_divide_u64(uint64_t a, const struct rte_reciprocal_u64 *R)
>
> Why not doing the same change for rte_reciprocal_divide()?
It doesn't make sense for rte_reciprocal_divide since rte_reciprocal_divide
is call by value (ie doesn't take a pointer).
> Should we advertise such API change?
No. Since constant is always less intrusive than previous version
all cases will work the same.
02/04/2019 17:26, Stephen Hemminger:
> On Wed, 27 Mar 2019 12:14:44 +0100
> Thomas Monjalon <thomas@monjalon.net> wrote:
>
> > 21/03/2019 20:59, Stephen Hemminger:
> > > The divisor is not modified here. Doesn't really matter for optimizaton
> > > since the function is inline already; but helps with expressing
> > > intent.
> > >
> > > Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
> > > ---
> > > static __rte_always_inline uint64_t
> > > -rte_reciprocal_divide_u64(uint64_t a, struct rte_reciprocal_u64 *R)
> > > +rte_reciprocal_divide_u64(uint64_t a, const struct rte_reciprocal_u64 *R)
> >
> > Why not doing the same change for rte_reciprocal_divide()?
> It doesn't make sense for rte_reciprocal_divide since rte_reciprocal_divide
> is call by value (ie doesn't take a pointer).
Oh, you're right.
> > Should we advertise such API change?
>
> No. Since constant is always less intrusive than previous version
> all cases will work the same.
Yes OK
22/03/2019 19:09, Maxime Coquelin:
> On 3/21/19 8:59 PM, Stephen Hemminger wrote:
> > The divisor is not modified here. Doesn't really matter for optimizaton
> > since the function is inline already; but helps with expressing
> > intent.
> >
> > Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
>
> Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
Applied, thanks
@@ -77,7 +77,7 @@ mullhi_u64(uint64_t x, uint64_t y)
}
static __rte_always_inline uint64_t
-rte_reciprocal_divide_u64(uint64_t a, struct rte_reciprocal_u64 *R)
+rte_reciprocal_divide_u64(uint64_t a, const struct rte_reciprocal_u64 *R)
{
uint64_t t = mullhi_u64(a, R->m);