[PATCH v2 0/6] Use Maple Trees for simple_offset utilities

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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).

Thanks to Liam Howlett for helping me get this working with Maple
Trees.

I don't have the facilities to re-run the performance tests that
identified the original regression. Oliver, Feng, can you please
pass this series to the kernel robot?

These patches are also available from:

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

in the "simple-offset-maple" branch.

Changes since RFC:
- Rewrote and moved "Re-arrange locking" to the front of the series
- Squashed the "so_ctx" clean-ups into the other patches
- Clarified some patch descriptions

---

Chuck Lever (5):
      libfs: Re-arrange locking in offset_iterate_dir()
      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

Liam R. Howlett (1):
      test_maple_tree: testing the cyclic allocation


 fs/libfs.c                 | 96 ++++++++++++++++++++++++++------------
 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, 215 insertions(+), 35 deletions(-)

--
Chuck Lever





[Index of Archives]     [Linux Ext4 Filesystem]     [Union Filesystem]     [Filesystem Testing]     [Ceph Users]     [Ecryptfs]     [NTFS 3]     [AutoFS]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux Cachefs]     [Reiser Filesystem]     [Linux RAID]     [NTFS 3]     [Samba]     [Device Mapper]     [CEPH Development]

  Powered by Linux