[RFC PATCH v2] mempool: optimizations
Morten Brørup
mb at smartsharesystems.com
Thu Aug 13 14:56:50 CEST 2026
> > +* mempool: The obsolete ``flushthresh`` field was removed from the
> > ``rte_mempool_cache`` structure. + * Removed deprecated symbols:
> >
> I'm not convinced about removing this field at this point. Based on
> previous discussions around run-to-completion vs pipeline apps, and the
> reported performance degradations due to recent cache changes, I could
> see a scenario where it's useful to track a separate flushthreshold or
> cache-keep threshold for a mempool.
Removing the flushthresh field is part of the cleanup patch [1].
I merged that patch into this one because I'm having problems with Depends-on.
We all agree that different use cases benefit from different algorithms.
And the 26.07 update switches the favor towards run-to-completion use cases over get-put-on-separate-lcores use cases.
If we sometime in the future change the cache algorithm or amend it, and need another field in the cache structure, we can add a new field with a name reflecting its function, rather than reusing the flushthresh field for another purpose. A new algorithm might even need more than one field.
The flushthresh field is obsolete, and should be removed. This was also mentioned in the deprecation notice for DPDK 26.07.
[1]: https://patchwork.dpdk.org/project/dpdk/patch/20260806154506.1532375-1-mb@smartsharesystems.com/
PS:
The performance degradations were mainly due to the effective cache size being reduced from 150 % to 100 %.
Testers confirmed on the mailing list that the performance degradation went away when recompiling with a 150 % larger cache, so the effective cache size was unchanged.
More information about the dev
mailing list