[lustre-devel] Using generic radix trees for large allocations

Alexey Lyashkov umka at cloudlinux.com
Tue Jan 26 23:21:50 PST 2021


James,

which kernel version you use? RHEL 8.3+ or vanilla kernel 5.2+ have a lots vmalloc speedup improvements.
like separate single spin lock into two (alloc + free).

Alex

> 21 янв. 2021 г., в 21:32, James Simmons <jsimmons at casper.infradead.org> написал(а):
> 
>  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
> _______________________________________________
> lustre-devel mailing list
> lustre-devel at lists.lustre.org
> http://lists.lustre.org/listinfo.cgi/lustre-devel-lustre.org



More information about the lustre-devel mailing list