+Pavan Nikhilesh, +Stephen Hemminger, +Wathsala Vithanage, +Bruce Richardson, 
+Thomas Monjalon

> From: saeed bishara [mailto:[email protected]]
> Sent: Tuesday, 23 June 2026 16.11
> 
> > > also, instead of adding cacheline for this profiling data, can we
> > > share with line 1 that used solely for xstats?
> >
> > This profiling data is 4 indexes * 2 values * 8-byte fields, so one
> cache line in itself.
> make sense.
> btw, the default value of RTE_GRAPH_BURST_SIZE is 256, I suspect that
> real applications will enforce smaller burst when pulling from input
> devices (e.g. 32). Do you expect such cases to change
> RTE_GRAPH_BURST_SIZE?

Excellent question! I don't know.
They should. E.g. an application optimized for latency should certainly not 
process bursts of 256 objects.

IMO, the root problem is the lack of a unified burst size across DPDK, which 
causes every library to be designed with its own optimal burst size.
E.g. the Mbuf library uses 64 (for rte_pktmbuf_free_bulk()), and the Graph 
library uses 256.

There has been an attempt at introducing a unified burst size [1] for DPDK, but 
it met a lot of resistance, so it still needs to be refined before we can reach 
a conclusion.
The drivers supposedly can report an "optimal" burst size at run-time, which 
the application can then use. But the application is unable to configure its 
internal burst sizes if one driver reports 64 and another reports 32.
I'm strongly in favor of a build time constant, used across DPDK. The default 
value should work reasonably well across drivers and libraries.
And if an application wants to optimize for performance (either throughput or 
latency), the developer should experiment to find the optimal value.
Furthermore, designing for a build time constant max burst size throughout DPDK 
might provide performance benefits in itself, as the compiler can optimize for 
this.

[1]: https://inbox.dpdk.org/dev/[email protected]/

Now, back to your question...
As a workaround, I can sample Graph node performance data for 32 objects, 
instead of sampling for RTE_GRAPH_BURST_SIZE / 2.

Reply via email to