Whamcloud - gitweb
LU-15058 libcfs: introduce genradix support 90/45890/18
authorJames Simmons <jsimmons@infradead.org>
Wed, 2 Nov 2022 16:50:34 +0000 (12:50 -0400)
committerOleg Drokin <green@whamcloud.com>
Mon, 14 Nov 2022 08:24:46 +0000 (08:24 +0000)
commit841843f44cd16e2bfb9b31195f7398cff02f9088
tree94d0ae1ed14eafb8486e8b51e6b17ef47b080623
parent15c82ae3d31969afd866ca825c2f6ab11ae36a8f
LU-15058 libcfs: introduce genradix support

For a long time it has been known that vmalloc allocation have
a performance penalty. So another solution was introduced using a
generic radix tree to manage page size allocations. This new
functionality has huge potential to give us large performance gains.
Also this new API has an advantage over vmalloc for the case of not
knowing ahead of time how much to allocate. This is the case of a
Netlink data stream that is sending a array of data. We can use this
for the case of needing to grow an array instead of guessing how big
the data is coming.

Test-Parameters: trivial
Change-Id: I2d7b78569defd651fbb75bfbd82e0d805aff436e
Signed-off-by: James Simmons <jsimmons@infradead.org>
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/45890
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Jian Yu <yujian@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Arshad Hussain <arshad.hussain@aeoncomputing.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
libcfs/autoconf/lustre-libcfs.m4
libcfs/include/libcfs/linux/Makefile.am
libcfs/include/libcfs/linux/generic-radix-tree.h [new file with mode: 0644]
libcfs/libcfs/Makefile.in
libcfs/libcfs/linux/Makefile.am
libcfs/libcfs/linux/generic-radix-tree.c [new file with mode: 0644]