> > 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 <tduszyn...@marvell.com> > > --- > > 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.