Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

maple_tree: inline mas_wr_spanning_rebalance()

Now that the spanning rebalance is small, fully inline it in
mas_wr_spanning_store().

No functional change.

Link: https://lkml.kernel.org/r/20260130205935.2559335-19-Liam.Howlett@oracle.com
Signed-off-by: Liam R. Howlett <Liam.Howlett@oracle.com>
Cc: Alice Ryhl <aliceryhl@google.com>
Cc: Andrew Ballance <andrewjballance@gmail.com>
Cc: Arnd Bergmann <arnd@arndb.de>
Cc: Christian Kujau <lists@nerdbynature.de>
Cc: Geert Uytterhoeven <geert@linux-m68k.org>
Cc: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Cc: Matthew Wilcox (Oracle) <willy@infradead.org>
Cc: SeongJae Park <sj@kernel.org>
Cc: Sidhartha Kumar <sidhartha.kumar@oracle.com>
Cc: Suren Baghdasaryan <surenb@google.com>
Cc: Vlastimil Babka <vbabka@suse.cz>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>

authored by

Liam R. Howlett and committed by
Andrew Morton
3578d61c a9c6716e

+15 -23
+15 -23
lib/maple_tree.c
··· 3407 3407 return true; 3408 3408 } 3409 3409 3410 - static noinline void mas_wr_spanning_rebalance(struct ma_state *mas, 3411 - struct ma_wr_state *l_wr_mas, struct ma_wr_state *r_wr_mas) 3412 - { 3413 - 3414 - struct maple_enode *old_enode; 3415 - struct maple_copy cp; 3416 - struct ma_state sib; 3417 - 3418 - cp_leaf_init(&cp, mas, l_wr_mas, r_wr_mas); 3419 - do { 3420 - spanning_data(&cp, l_wr_mas, r_wr_mas, &sib); 3421 - multi_src_setup(&cp, l_wr_mas, r_wr_mas, &sib); 3422 - dst_setup(&cp, mas, l_wr_mas->type); 3423 - cp_data_write(&cp, mas); 3424 - } while (spanning_ascend(&cp, mas, l_wr_mas, r_wr_mas, &sib)); 3425 - 3426 - old_enode = mas->node; 3427 - mas->node = mt_slot_locked(mas->tree, cp.slot, 0); 3428 - mas_wmb_replace(mas, old_enode, cp.height); 3429 - mtree_range_walk(mas); 3430 - } 3431 - 3432 3410 /* 3433 3411 * mas_rebalance() - Rebalance a given node. 3434 3412 * @mas: The maple state ··· 4063 4085 */ 4064 4086 static void mas_wr_spanning_store(struct ma_wr_state *wr_mas) 4065 4087 { 4088 + struct maple_enode *old_enode; 4089 + struct maple_copy cp; 4066 4090 struct ma_state *mas; 4091 + struct ma_state sib; 4067 4092 4068 4093 /* Left and Right side of spanning store */ 4069 4094 MA_STATE(r_mas, NULL, 0, 0); ··· 4123 4142 return mas_new_root(mas, wr_mas->entry); 4124 4143 } 4125 4144 4126 - mas_wr_spanning_rebalance(mas, wr_mas, &r_wr_mas); 4145 + cp_leaf_init(&cp, mas, wr_mas, &r_wr_mas); 4146 + do { 4147 + spanning_data(&cp, wr_mas, &r_wr_mas, &sib); 4148 + multi_src_setup(&cp, wr_mas, &r_wr_mas, &sib); 4149 + dst_setup(&cp, mas, wr_mas->type); 4150 + cp_data_write(&cp, mas); 4151 + } while (spanning_ascend(&cp, mas, wr_mas, &r_wr_mas, &sib)); 4152 + 4153 + old_enode = mas->node; 4154 + mas->node = mt_slot_locked(mas->tree, cp.slot, 0); 4155 + mas_wmb_replace(mas, old_enode, cp.height); 4156 + mtree_range_walk(mas); 4127 4157 } 4128 4158 4129 4159 /*