aboutsummaryrefslogtreecommitdiffstats
path: root/lib/maple_tree.c
AgeCommit message (Expand)AuthorFilesLines
2024-03-14Merge tag 'mm-stable-2024-03-13-20-04' of git://git.kernel.org/pub/scm/linux/...Linus Torvalds1-4/+2
2024-02-22maple_tree: avoid duplicate variable init in mast_spanning_rebalance()Lukas Bulwahn1-2/+0
2024-02-21maple_tree: fix comment describing mas_node_count_gfp()Sidhartha Kumar1-2/+2
2024-02-21maple_tree: Add mtree_alloc_cyclic()Chuck Lever1-0/+93
2023-12-20maple_tree: avoid checking other gaps after getting the largest gapPeng Zhang1-0/+3
2023-12-20maple_tree: fix typos/spellos etcRandy Dunlap1-4/+4
2023-12-20lib/maple_tree.c: fix build error due to hotfix alterationAndrew Morton1-1/+1
2023-12-20sync mm-stable with mm-hotfixes-stable to pick up depended-upon changesAndrew Morton1-0/+11
2023-12-20maple_tree: do not preallocate nodes for slot storesSidhartha Kumar1-0/+11
2023-12-12maple_tree: change return type of mas_split_final_node as void.Levi Yun1-2/+1
2023-12-12maple_tree: simplify mas_leaf_set_meta()Peng Zhang1-18/+4
2023-12-12maple_tree: delete one of the two identical checksPeng Zhang1-3/+0
2023-12-12maple_tree: remove an unused parameter for ma_meta_end()Peng Zhang1-6/+4
2023-12-12maple_tree: avoid ascending when mas->min is also the parent's minimumPeng Zhang1-3/+5
2023-12-12maple_tree: move the check forward to avoid static check warningPeng Zhang1-1/+1
2023-12-12maple_tree: remove unused functionJiapeng Chong1-29/+0
2023-12-12maple_tree: mtree_range_walk() clean upLiam R. Howlett1-15/+12
2023-12-12maple_tree: don't find node end in mtree_lookup_walk()Liam R. Howlett1-9/+3
2023-12-12maple_tree: use maple state end for write operationsLiam R. Howlett1-22/+24
2023-12-12maple_tree: remove mas_searchable()Liam R. Howlett1-50/+16
2023-12-12maple_tree: separate ma_state node from statusLiam R. Howlett1-183/+276
2023-12-12maple_tree: clean up inlines for some functionsLiam R. Howlett1-39/+39
2023-12-12maple_tree: use cached node end in mas_destroy()Liam R. Howlett1-1/+1
2023-12-12maple_tree: use cached node end in mas_next()Liam R. Howlett1-6/+8
2023-12-12maple_tree: add end of node tracking to the maple stateLiam R. Howlett1-0/+7
2023-12-12maple_tree: make mas_erase() more robustLiam R. Howlett1-1/+1
2023-12-12maple_tree: remove unnecessary default labels from switch statementsLiam R. Howlett1-7/+2
2023-12-10maple_tree: preserve the tree attributes when destroying maple treePeng Zhang1-1/+1
2023-12-10maple_tree: introduce interfaces __mt_dup() and mtree_dup()Peng Zhang1-0/+274
2023-12-10maple_tree: add mt_free_one() and mt_attr() helpersPeng Zhang1-1/+11
2023-10-18maple_tree: add GFP_KERNEL to allocations in mas_expected_entries()Liam R. Howlett1-1/+1
2023-09-29maple_tree: add MAS_UNDERFLOW and MAS_OVERFLOW statesLiam R. Howlett1-58/+163
2023-08-24maple_tree: clean up mas_wr_append()Liam R. Howlett1-14/+20
2023-08-24merge mm-hotfixes-stable into mm-stable to pick up depended-upon changesAndrew Morton1-0/+7
2023-08-24maple_tree: disable mas_wr_append() when other readers are possibleLiam R. Howlett1-0/+7
2023-08-21maple_tree: replace data before marking dead in split and spanning storeLiam R. Howlett1-325/+168
2023-08-21maple_tree: change mas_adopt_children() parent usageLiam R. Howlett1-1/+1
2023-08-21maple_tree: introduce mas_tree_parent() definitionLiam R. Howlett1-8/+5
2023-08-21maple_tree: introduce mas_put_in_tree()Liam R. Howlett1-46/+27
2023-08-21maple_tree: reorder replacement of nodes to avoid live lockLiam R. Howlett1-10/+46
2023-08-21maple_tree: add hex output to maple_arange64 dumpLiam R. Howlett1-4/+20
2023-08-18maple_tree: reduce resets during store setupLiam R. Howlett1-11/+26
2023-08-18maple_tree: refine mas_preallocate() node calculationsLiam R. Howlett1-1/+43
2023-08-18maple_tree: move mas_wr_end_piv() below mas_wr_extend_null()Liam R. Howlett1-16/+15
2023-08-18maple_tree: adjust node allocation on mas_rebalance()Liam R. Howlett1-1/+1
2023-08-18maple_tree: re-introduce entry to mas_preallocate() argumentsLiam R. Howlett1-1/+2
2023-08-18maple_tree: Be more strict about lockingLiam R. Howlett1-2/+8
2023-08-18maple_tree: mtree_insert: fix typo in kernel-doc description of GFP flagsMike Rapoport (IBM)1-1/+1
2023-08-18maple_tree: mtree_insert*: fix typo in kernel-doc descriptionMike Rapoport (IBM)1-2/+2
2023-08-18maple_tree: drop mas_first_entry()Peng Zhang1-72/+0
2023-08-18maple_tree: replace mas_logical_pivot() with mas_safe_pivot()Peng Zhang1-30/+3
2023-08-18maple_tree: update mt_validate()Peng Zhang1-10/+9
2023-08-18maple_tree: make mas_validate_limits() check root node and node limitPeng Zhang1-16/+14
2023-08-18maple_tree: fix mas_validate_child_slot() to check last missed slotPeng Zhang1-4/+8
2023-08-18maple_tree: make mas_validate_gaps() to check metadataPeng Zhang1-36/+42
2023-08-18maple_tree: don't use MAPLE_ARANGE64_META_MAX to indicate no gapPeng Zhang1-11/+2
2023-08-18maple_tree: add a fast path case in mas_wr_slot_store()Peng Zhang1-12/+24
2023-08-18maple_tree: optimize mas_wr_append(), also improve duplicating VMAsPeng Zhang1-11/+22
2023-08-18maple_tree: fix a few documentation issuesThomas Gleixner1-5/+21
2023-07-17maple_tree: set the node limit when creating a new root nodePeng Zhang1-1/+2
2023-06-09maple_tree: simplify and clean up mas_wr_node_store()Peng Zhang1-61/+26
2023-06-09maple_tree: rework mas_wr_slot_store() to be cleaner and more efficient.Peng Zhang1-34/+19
2023-06-09maple_tree: add comments and some minor cleanups to mas_wr_append()Peng Zhang1-24/+23
2023-06-09maple_tree: add mas_wr_new_end() to calculate new_end accuratelyPeng Zhang1-11/+23
2023-06-09maple_tree: make the code symmetrical in mas_wr_extend_null()Peng Zhang1-12/+14
2023-06-09maple_tree: simplify mas_is_span_wr()Peng Zhang1-23/+11
2023-06-09maple_tree: fix the arguments to __must_hold()Peng Zhang1-3/+3
2023-06-09maple_tree: drop mas_{rev_}alloc() and mas_fill_gap()Peng Zhang1-108/+0
2023-06-09maple_tree: rework mtree_alloc_{range,rrange}()Peng Zhang1-25/+32
2023-06-09maple_tree: clear up index and last setting in single entry treeLiam R. Howlett1-10/+11
2023-06-09maple_tree: add mas_prev_range() and mas_find_range_rev interfaceLiam R. Howlett1-39/+122
2023-06-09maple_tree: introduce mas_prev_slot() interfaceLiam R. Howlett1-142/+90
2023-06-09maple_tree: relocate mas_rewalk() and mas_rewalk_if_dead()Liam R. Howlett1-19/+19
2023-06-09maple_tree: add mas_next_range() and mas_find_range() interfacesLiam R. Howlett1-50/+122
2023-06-09maple_tree: introduce mas_next_slot() interfaceLiam R. Howlett1-125/+104
2023-06-09maple_tree: revise limit checks in mas_empty_area{_rev}()Liam R. Howlett1-7/+13
2023-06-09maple_tree: try harder to keep active node with mas_prev()Liam R. Howlett1-42/+83
2023-06-09maple_tree: try harder to keep active node after mas_next()Liam R. Howlett1-42/+47
2023-06-09maple_tree: mas_start() reset depth on dead nodeLiam R. Howlett1-1/+1
2023-06-09maple_tree: remove unnecessary check from mas_destroy()Liam R. Howlett1-3/+1
2023-06-09maple_tree: return error on mte_pivots() out of rangeLiam R. Howlett1-11/+14
2023-06-09maple_tree: use MAS_BUG_ON() prior to calling mas_meta_gap()Liam R. Howlett1-2/+2
2023-06-09maple_tree: use MAS_WR_BUG_ON() in mas_store_prealloc()Liam R. Howlett1-1/+1
2023-06-09maple_tree: use MAS_BUG_ON() from mas_topiary_range()Liam R. Howlett1-1/+2
2023-06-09maple_tree: use MAS_BUG_ON() in mas_set_height()Liam R. Howlett1-1/+1
2023-06-09maple_tree: use MAS_BUG_ON() when setting a leaf node as a parentLiam R. Howlett1-13/+13
2023-06-09maple_tree: convert debug code to use MT_WARN_ON() and MAS_WARN_ON()Liam R. Howlett1-16/+14
2023-06-09maple_tree: convert BUG_ON() to MT_BUG_ON()Liam R. Howlett1-1/+1
2023-06-09maple_tree: add debug BUG_ON and WARN_ON variantsLiam R. Howlett1-2/+32
2023-06-09maple_tree: add format option to mt_dump()Liam R. Howlett1-29/+58
2023-06-09maple_tree: clean up mas_dfs_postorder()Liam R. Howlett1-5/+2
2023-06-09maple_tree: avoid unnecessary ascendingLiam R. Howlett1-3/+8
2023-06-09maple_tree: clean up mas_parent_enum() and rename to mas_parent_type()Liam R. Howlett1-28/+22
2023-06-09maple_tree: fix static analyser cppcheck issueLiam R. Howlett1-2/+3
2023-06-09maple_tree: fix potential out-of-bounds access in mas_wr_end_piv()Peng Zhang1-5/+6
2023-05-17maple_tree: make maple state reusable after mas_empty_area()Peng Zhang1-9/+3
2023-04-21maple_tree: fix allocation in mas_sparse_area()Peng Zhang1-21/+20
2023-04-18maple_tree: use correct variable type in sizeofPeng Zhang1-1/+1
2023-04-18maple_tree: simplify mas_wr_node_walk()Peng Zhang1-29/+5
2023-04-18sync mm-stable with mm-hotfixes-stable to pick up depended-upon upstream changesAndrew Morton1-23/+24
2023-04-18maple_tree: fix mas_empty_area() searchLiam R. Howlett1-9/+11
2023-04-18maple_tree: make maple state reusable after mas_empty_area_rev()Liam R. Howlett1-14/+13
2023-04-16sync mm-stable with mm-hotfixes-stable to pick up depended-upon upstream changesAndrew Morton1-109/+197
2023-04-16maple_tree: fix a potential memory leak, OOB access, or other unpredictable bugPeng Zhang1-12/+7
2023-04-05maple_tree: fix a potential concurrency bug in RCU modePeng Zhang1-2/+1
2023-04-05maple_tree: fix get wrong data_end in mtree_lookup_walk()Peng Zhang1-10/+5
2023-04-05maple_tree: add RCU lock checking to rcu callback functionsLiam R. Howlett1-92/+96
2023-04-05maple_tree: add smp_rmb() to dead node detectionLiam R. Howlett1-2/+6
2023-04-05maple_tree: fix write memory barrier of nodes once dead for RCU modeLiam R. Howlett1-2/+5
2023-04-05maple_tree: remove extra smp_wmb() from mas_dead_leaves()Liam Howlett1-1/+0
2023-04-05maple_tree: fix freeing of nodes in rcu modeLiam Howlett1-11/+62
2023-04-05maple_tree: detect dead nodes in mas_start()Liam Howlett1-0/+4
2023-04-05maple_tree: be more cautious about dead nodesLiam Howlett1-9/+43
2023-03-28maple_tree: export symbol mas_preallocate()Danilo Krummrich1-0/+1
2023-03-23maple_tree: fix mas_skip_node() end slot detectionLiam R. Howlett1-19/+5
2023-02-16maple_tree: reduce stack usage with gcc-9 and earlierArnd Bergmann1-2/+9
2023-02-09maple_tree: fix mas_prev() and mas_find() state handlingLiam R. Howlett1-1/+5
2023-02-09maple_tree: fix handle of invalidated state in mas_wr_store_setup()Liam R. Howlett1-0/+3
2023-02-09maple_tree: reduce user error potentialLiam R. Howlett1-0/+10
2023-02-09maple_tree: fix potential rcu issueLiam R. Howlett1-1/+1
2023-02-02maple_tree: fix comment of mte_destroy_walkVernon Yang1-2/+2
2023-02-02maple_tree: remove the parameter entry of mas_preallocateVernon Yang1-2/+1
2023-01-31Sync mm-stable with mm-hotfixes-stable to pick up dependent patchesAndrew Morton1-11/+11
2023-01-31maple_tree: should get pivots boundary by typeWei Yang1-2/+3
2023-01-31maple_tree: fix mas_empty_area_rev() lower bound validationLiam Howlett1-9/+8
2023-01-18maple_tree: remove GFP_ZERO from kmem_cache_alloc() and kmem_cache_alloc_bulk()Liam Howlett1-37/+43
2023-01-18maple_tree: refine mab_calc_split functionVernon Yang1-3/+2
2023-01-18maple_tree: refine ma_state init from mas_start()Vernon Yang1-3/+3
2023-01-18maple_tree: use macro MA_ROOT_PARENT instead of numberVernon Yang1-2/+1
2023-01-18maple_tree: use mt_node_max() instead of direct operations mt_max[]Vernon Yang1-2/+2
2023-01-18maple_tree: remove extra return statementVernon Yang1-3/+0
2023-01-18maple_tree: remove extra space and blank lineVernon Yang1-10/+4
2022-12-21maple_tree: fix mas_spanning_rebalance() on insufficient dataLiam Howlett1-1/+3
2022-12-15maple_tree: fix mas_find_rev() commentLiam Howlett1-1/+1
2022-11-30maple_tree: mte_set_full() and mte_clear_full() clang-analyzer clean upLiam Howlett1-4/+9
2022-11-08maple_tree: don't set a new maximum on the node when not reusing nodesLiam Howlett1-2/+1
2022-11-08maple_tree: fix depth tracking in maple_stateLiam Howlett1-1/+2
2022-11-08maple_tree: reorganize testing to restore module testingLiam Howlett1-6/+32
2022-11-08maple_tree: mas_anode_descend() clang-analyzer cleanupLiam Howlett1-6/+4
2022-11-08maple_tree: remove pointer to pointer use in mas_alloc_nodes()Liam Howlett1-3/+1
2022-10-28lib: maple_tree: remove unneeded initialization in mtree_range_walk()Lukas Bulwahn1-2/+2
2022-09-26Maple Tree: add new data structureLiam R. Howlett1-0/+7130