RE: [RFC PATCH v2] mempool: optimizations

Morten Brørup <[email protected]>
Newsgroups org.dpdk.dev
Message-ID <[email protected]>
> > +* 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/[email protected]/

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.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.