[PATCH dpdk 1/2] graph: always count objects and calls
Morten Brørup
mb at smartsharesystems.com
Tue Dec 9 13:11:20 CET 2025
> From: Robin Jarry [mailto:rjarry at redhat.com]
> Sent: Tuesday, 9 December 2025 12.47
>
> Morten Brørup, Dec 09, 2025 at 12:13:
> > Looking at patch 2/2, I disagree with the approach.
> >
> > RTE_LIBRTE_GRAPH_STATS should control all stats, incl. total_calls
> and
> > total_objs. Then, if enabled, the total_cycles stats can be
> controlled
> > by rte_graph_cycle_stats_enable().
> >
> > Your v1 series introduces unnecessary overhead for applications not
> > caring about total_calls/total_objs stats and thus built without
> > RTE_LIBRTE_GRAPH_STATS.
>
> My issue is that I would like the total_objs stat but without the
> overhead of rte_rdtsc() being called twice for every node visit.
I get that. My proposal provides that.
>
> And also, I would like to be able to enable/disable these stats *at
> runtime*.
Why would you enable/disable total_calls/total_objs at runtime?
> Having it behind a compile time constant makes it very not
> flexible.
Agree, but instrumentation has a performance cost, and should be possible to disable at compile time.
>
> I could have two booleans to control whether total_calls/total_objs are
> updated *and* whether total_cycles are computed. But that seems a bit
> overkill and it would mean two fields to check (two branches) instead
> of
> one per node.
>
> Is it really that bad to update two uint64_t counters?
The cost is unnecessary. It's instrumentation.
>
> --
> Robin
>
> > Your canceled check is your receipt.
Please change your cookie generator to not make it look a quote from the person you are replying to.
More information about the dev
mailing list