[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