> > Add a dummy rte_pmu_read() definition for chkincs when
> > ALLOW_EXPERIMENTAL_API is not defined to suppress warnings from
> > use of experimental APIs in tracepoints.
> >
> > Fixes: 960c43184c4d ("pmu: introduce library for reading PMU events")
> >
> > Signed-off-by: Tomasz Duszynski <[email protected]>
> > ---
> > lib/pmu/rte_pmu.h | 4 ++++
> > 1 file changed, 4 insertions(+)
> >
> > diff --git a/lib/pmu/rte_pmu.h b/lib/pmu/rte_pmu.h
> > index 57b634ecd8..84a5d522d1 100644
> > --- a/lib/pmu/rte_pmu.h
> > +++ b/lib/pmu/rte_pmu.h
> > @@ -232,6 +232,10 @@ rte_pmu_read(unsigned int index)
> >
> > return __rte_pmu_read_userpage(group->mmap_pages[index]);
> > }
> > +/* quiesce warnings produced by chkincs */
> > +#ifndef ALLOW_EXPERIMENTAL_API
> > +#define rte_pmu_read(pc) ({ RTE_SET_USED(pc); 0; })
> > +#endif
> >
>
> Seems like a problem that could be fixed cleaner in chkincs?
I don't think there is good solution to this problem. From one angle chinkcs
should detect
violations to experimental api calling conventions and it does that. This
library is injected
into eal tracing so calling experimental api happens hence warnings are showing
up.
On the other hand adding some exception list (or whatever) to chkincs could
encourage similar
cases by making it a) easy b) looking clean. What I have now is at least not
very appealing.
It looks like this library is the only one non-compliant to experimental api
calling rules so I'd
leave that workaround as is hoping that it won't be experimental for too long.