The patch titled Subject: maple_tree: use mas_store_gfp() in mtree_store_range() has been added to the -mm mm-unstable branch. Its filename is maple_tree-use-mas_store_gfp-in-mtree_store_range.patch This patch will shortly appear at https://git.kernel.org/pub/scm/linux/kernel/git/akpm/25-new.git/tree/patches/maple_tree-use-mas_store_gfp-in-mtree_store_range.patch This patch will later appear in the mm-unstable branch at git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm Before you just go and hit "reply", please: a) Consider who else should be cc'ed b) Prefer to cc a suitable mailing list as well c) Ideally: find the original patch on the mailing list and do a reply-to-all to that, adding suitable additional cc's *** Remember to use Documentation/process/submit-checklist.rst when testing your code *** The -mm tree is included into linux-next via the mm-everything branch at git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm and is updated there every 2-3 working days ------------------------------------------------------ From: Sidhartha Kumar <sidhartha.kumar@xxxxxxxxxx> Subject: maple_tree: use mas_store_gfp() in mtree_store_range() Date: Tue, 18 Jun 2024 13:47:41 -0700 Refactor mtree_store_range() to use mas_store_gfp() which will abstract the store, memory allocation, and error handling. Link: https://lkml.kernel.org/r/20240618204750.79512-8-sidhartha.kumar@xxxxxxxxxx Signed-off-by: Sidhartha Kumar <sidhartha.kumar@xxxxxxxxxx> Reviewed-by: Liam R. Howlett <Liam.Howlett@xxxxxxxxxx> Cc: Matthew Wilcox (Oracle) <willy@xxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> --- lib/maple_tree.c | 12 ++---------- 1 file changed, 2 insertions(+), 10 deletions(-) --- a/lib/maple_tree.c~maple_tree-use-mas_store_gfp-in-mtree_store_range +++ a/lib/maple_tree.c @@ -6456,7 +6456,6 @@ int mtree_store_range(struct maple_tree unsigned long last, void *entry, gfp_t gfp) { MA_STATE(mas, mt, index, last); - MA_WR_STATE(wr_mas, &mas, entry); int ret = 0; trace_ma_write(__func__, &mas, 0, entry); @@ -6467,17 +6466,10 @@ int mtree_store_range(struct maple_tree return -EINVAL; mtree_lock(mt); -retry: - mas_wr_store_entry(&wr_mas); - if (mas_nomem(&mas, gfp)) - goto retry; - + ret = mas_store_gfp(&mas, entry, gfp); + MT_BUG_ON(mas.tree, mas.store_type == wr_invalid); mtree_unlock(mt); - if (mas_is_err(&mas)) - ret = xa_err(mas.node); - - mas_destroy(&mas); return ret; } EXPORT_SYMBOL(mtree_store_range); _ Patches currently in -mm which might be from sidhartha.kumar@xxxxxxxxxx are mm-hugetlb-remove-setclearhpage-macros.patch mm-hugetlb-mm-memory_hotplug-use-a-folio-in-scan_movable_pages.patch maple_tree-introduce-store_type-enum.patch maple_tree-introduce-mas_wr_prealloc_setup.patch maple_tree-move-up-mas_wr_store_setup-and-mas_wr_prealloc_setup.patch maple_tree-introduce-mas_wr_store_type.patch maple_tree-remove-mas_destroy-from-mas_nomem.patch maple_tree-use-mas_store_gfp-in-mas_erase.patch maple_tree-use-mas_store_gfp-in-mtree_store_range.patch maple_tree-print-store-type-in-mas_dump.patch maple_tree-use-store-type-in-mas_wr_store_entry.patch maple_tree-convert-mas_insert-to-preallocate-nodes.patch maple_tree-simplify-mas_commit_b_node.patch maple_tree-remove-mas_wr_modify.patch maple_tree-have-mas_store-allocate-nodes-if-needed.patch maple_tree-remove-node-allocations-from-various-write-helper-functions.patch maple_tree-remove-repeated-sanity-checks-from-mas_wr_append.patch maple_tree-remove-unneeded-mas_wr_walk-in-mas_store_prealloc.patch tools-testing-radix-tree-add-missing-module_description-definition.patch