[lustre-devel] Using generic radix trees for large allocations
James Simmons
jsimmons at casper.infradead.org
Thu Jan 21 10:32:24 PST 2021
One of the challenging issues for very large scale file systems is the
performance crash when you cross about 670 stripe count. This is due to
the memory allocations going from kmalloc to vmalloc. Once you start to
use vmalloc to allocate the ptlrpc message buffers all the allocating
start to serialize on a global spinlock.
Looking for a solution the best one I found so far have been using the
generic radix tree API. You have to allocate a page worth of data at a
time so its cluncky for use but I think we could make it work. What do
you think?
https://www.kernel.org/doc/html/latest/core-api/generic-radix-tree.html
More information about the lustre-devel
mailing list