On 10/29/19 8:34 PM, Olivier Matz wrote:
On Tue, Oct 29, 2019 at 01:59:00PM +0300, Andrew Rybchenko wrote:
On 10/28/19 5:01 PM, Olivier Matz wrote:
When populating a mempool, ensure that objects are not located across
several pages, except if user did not request iova contiguous objects.
I think it breaks distribution across memory channels which could
affect performance significantly.
With 2M hugepages, there are ~900 mbufs per page, and all of them will
be distributed across memory channels. For larger objects, I don't think
the distribution is that important.
Yes, that's true. I was thinking about the case when page is smaller.
With small pages, that may be true. I think the problem was already
there except in IOVA=VA mode.
I don't know any good real examples. In theory before even
small pages could be merged together and populated as one big
chunk. Right now merging does not make sense since page boundaries
will be respected by default anyway.
This should be fixable, but I'm not sure a use-case where we can see a
regression really exists.
Agreed. If total object size allows it, it is possible to spread
offset from page boundary.
I don't know either if it is critical or not.