> From: Andrew Rybchenko [mailto:andrew.rybche...@oktetlabs.ru]
> Sent: Tuesday, 27 December 2022 09.54
> 
> On 12/24/22 13:46, Morten Brørup wrote:
> > Micro-optimization:
> > Reduced the most likely code path in the generic put function by
> moving an
> > unlikely check out of the most likely code path and further down.
> >
> > Also updated the comments in the function.
> >
> > v3 (feedback from Konstantin Ananyev):
> > * Removed assertion and comment about the invariant preventing
> overflow
> >    in the comparison. They were more confusing than enlightening.
> > v2 (feedback from Andrew Rybchenko):
> > * Modified comparison to prevent overflow if n is really huge and len
> is
> >    non-zero.
> > * Added assertion about the invariant preventing overflow in the
> >    comparison.
> > * Crossing the threshold is not extremely unlikely, so removed
> likely()
> >    from that comparison.
> >    The compiler will generate code with optimal static branch
> prediction
> >    here anyway.
> >
> > Signed-off-by: Morten Brørup <m...@smartsharesystems.com>
> > Acked-by: Konstantin Ananyev <konstantin.anan...@huawei.com>
> 
> Thanks for optimizing it further.
> 
> Reviewed-by: Andrew Rybchenko <andrew.rybche...@oktetlabs.ru>
> 
> > ---
> >   lib/mempool/rte_mempool.h | 35 ++++++++++++++++++-----------------
> >   1 file changed, 18 insertions(+), 17 deletions(-)
> >
> > diff --git a/lib/mempool/rte_mempool.h b/lib/mempool/rte_mempool.h
> > index 9f530db24b..61ca0c6b65 100644
> > --- a/lib/mempool/rte_mempool.h
> > +++ b/lib/mempool/rte_mempool.h
> > @@ -1364,32 +1364,33 @@ rte_mempool_do_generic_put(struct rte_mempool
> *mp, void * const *obj_table,
> >   {
> >     void **cache_objs;
> >
> > -   /* No cache provided */
> > +   /* No cache provided? */
> 
> IMHO such changes do not add value and just add noise.
> There are few similar cases below.
> No strong opinion in any case.
> 

This patch is obsolete, because the zero-copy patch v5 [1] uses the zero-copy 
put function, which is optimized similarly, in rte_mempool_do_generic_put().

[1]: 
https://patchwork.dpdk.org/project/dpdk/patch/20221227151700.80887-1...@smartsharesystems.com/

Reply via email to