maple_tree: add a fast path case in mas_wr_slot_store()
authorPeng Zhang <zhangpeng.00@bytedance.com>
Wed, 28 Jun 2023 07:36:57 +0000 (15:36 +0800)
committerAndrew Morton <akpm@linux-foundation.org>
Fri, 18 Aug 2023 17:12:05 +0000 (10:12 -0700)
commit64891ba3e51fb841b0af70db029038eb93bd5a43
treed14d57221858cace723463df41c20f949b2e9649
parent23e9dde0b246d47e4a1942ea50bf7fef63e2d41a
maple_tree: add a fast path case in mas_wr_slot_store()

When expanding a range in two directions, only partially overwriting the
previous and next ranges, the number of entries will not be increased, so
we can just update the pivots as a fast path. However, it may introduce
potential risks in RCU mode, because it updates two pivots. We only
enable it in non-RCU mode.

Link: https://lkml.kernel.org/r/20230628073657.75314-5-zhangpeng.00@bytedance.com
Signed-off-by: Peng Zhang <zhangpeng.00@bytedance.com>
Reviewed-by: Liam R. Howlett <Liam.Howlett@oracle.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
lib/maple_tree.c