[PATCH v2 00/10] Clean ups for maple tree

From: Peng Zhang
Date: Wed May 17 2023 - 04:59:33 EST


Some clean ups, mainly to make the code of maple tree more concise.
This patchset has passed the self-test.

0006-0009 - Make mas_wr_modify() and its subfunctions clearer. Make the
store operation of maple tree more efficient in some cases.

Thanks Liam and Matthew.

Changes since v1:
- Rework mtree_alloc_{range,rrange}() instead of removing it. [01/10]
- Fix the arguments to __must_hold() instead of removing it. [03/10]
- Keep the fast path. Expand the compact code. [04/10]
- Drop "maple_tree: Wrap the replace operation with an inline
function.". [v1 06/10]
- Remove some comments. [07/10] [08/10]
- Avoid modifying wr_mas->offset_end in mas_wr_modify(). [09/10]
- Add a patch to relocate mas_empty_area_rev(). [10/10]

Peng Zhang (10):
maple_tree: Rework mtree_alloc_{range,rrange}()
maple_tree: Drop mas_{rev_}alloc() and mas_fill_gap()
maple_tree: Fix the arguments to __must_hold()
maple_tree: Simplify mas_is_span_wr()
maple_tree: Make the code symmetrical in mas_wr_extend_null()
maple_tree: Add mas_wr_new_end() to calculate new_end accurately
maple_tree: Add comments and some minor cleanups to mas_wr_append()
maple_tree: Rework mas_wr_slot_store() to be cleaner and more
efficient.
maple_tree: Simplify and clean up mas_wr_node_store()
maple_tree: Relocate the declaration of mas_empty_area_rev().

include/linux/maple_tree.h | 12 +-
lib/maple_tree.c | 455 +++++++++++++------------------------
2 files changed, 160 insertions(+), 307 deletions(-)

--
2.20.1