[RFC] rte_ring: don't use always inline
Honnappa Nagarahalli
Honnappa.Nagarahalli at arm.com
Fri May 6 03:37:45 CEST 2022
<snip>
>
> > Thanks Stephen. Do you see any performance difference with this change?
> >
> > > -----Original Message-----
> > > From: Stephen Hemminger <stephen at networkplumber.org>
> > > Sent: Thursday, May 5, 2022 5:46 PM
> > > To: dev at dpdk.org
> > > Cc: Stephen Hemminger <stephen at networkplumber.org>
> > > Subject: [RFC] rte_ring: don't use always inline
> > >
> > > Forcing compiler to inline with always inline can lead to worse and
> > > sometimes broken code. Better to use the standard inline keyword and
> > > let compiler have some flexibilty.
> > >
> > > Signed-off-by: Stephen Hemminger <stephen at networkplumber.org>
> > > ---
> > >
> > > This is RFC because the use of large scale inlining is debatable.
> > > This change may slow things down on some versions of Gcc and
> architectures.
> > >
> > > If you follow Linux kernel list, this has been a debated topic over
> > > the years, with opinions for and against inlining.
> > > Combined with bad inlining in various Gcc versions.
> > >
> > > lib/ring/rte_ring.h | 36 ++++++++++++++++++------------------
> > > lib/ring/rte_ring_c11_pvt.h | 6 +++---
> > > lib/ring/rte_ring_elem.h | 36 ++++++++++++++++++------------------
> > > 3 files changed, 39 insertions(+), 39 deletions(-)
> > >
<snip>
> >
>
> I have not run performance tests and don't have the infrastructure available to
> give a meaningful answer. The application we use doesn't make much use of
> rings.
>
> This was more in response to the RISCV issues.
The RISC-V issue is due to a compiler bug. Should we be making these changes due to a compiler bug in one architecture?
More information about the dev
mailing list