Re: [PATCH RFC 0/7] Use Maple Trees for simple_offset utilities

From: Chuck Lever III
Date: Tue Feb 13 2024 - 16:46:55 EST




> On Feb 13, 2024, at 4:37 PM, Chuck Lever <cel@xxxxxxxxxx> wrote:
>
> In an effort to address slab fragmentation issues reported a few
> months ago, I've replaced the use of xarrays for the directory
> offset map in "simple" file systems (including tmpfs).
>
> This patch set passes functional testing and is ready for code
> review. But I don't have the facilities to re-run the performance
> tests that identified the regression. We expect the performance of
> this implementation will need additional improvement.
>
> Thanks to Liam Howlett for helping me get this working.

And note the patches are also available from:

https://git.kernel.org/pub/scm/linux/kernel/git/cel/linux.git

in the simple-offset-maple branch.


> ---
>
> Chuck Lever (6):
> libfs: Rename "so_ctx"
> libfs: Define a minimum directory offset
> libfs: Add simple_offset_empty()
> maple_tree: Add mtree_alloc_cyclic()
> libfs: Convert simple directory offsets to use a Maple Tree
> libfs: Re-arrange locking in offset_iterate_dir()
>
> Liam R. Howlett (1):
> test_maple_tree: testing the cyclic allocation
>
>
> fs/libfs.c | 125 +++++++++++++++++++++++--------------
> include/linux/fs.h | 6 +-
> include/linux/maple_tree.h | 7 +++
> lib/maple_tree.c | 93 +++++++++++++++++++++++++++
> lib/test_maple_tree.c | 44 +++++++++++++
> mm/shmem.c | 4 +-
> 6 files changed, 227 insertions(+), 52 deletions(-)
>
> --
> Chuck Lever
>
>

--
Chuck Lever