aboutsummaryrefslogtreecommitdiff
path: root/tools/testing/radix-tree/generated
AgeCommit message (Collapse)AuthorFilesLines
2018-10-21radix tree: Remove multiorder supportMatthew Wilcox1-1/+0
All users have now been converted to the XArray. Removing the support reduces code size and ensures new users will use the XArray instead. Signed-off-by: Matthew Wilcox <[email protected]>
2018-09-29xarray: Change definition of sibling entriesMatthew Wilcox1-0/+1
Instead of storing a pointer to the slot containing the canonical entry, store the offset of the slot. Produces slightly more efficient code (~300 bytes) and simplifies the implementation. Signed-off-by: Matthew Wilcox <[email protected]> Reviewed-by: Josef Bacik <[email protected]>
2017-02-13radix tree test suite: Remove obsolete CONFIGMatthew Wilcox1-2/+0
radix-tree.c doesn't use these CONFIG options any more. Signed-off-by: Matthew Wilcox <[email protected]> Reviewed-by: Rehas Sachdeva <[email protected]>
2016-05-20radix-tree: add support for multi-order iteratingRoss Zwisler1-0/+3
This enables the macros radix_tree_for_each_slot() and friends to be used with multi-order entries. The way that this works is that we treat all entries in a given slots[] array as a single chunk. If the index given to radix_tree_next_chunk() happens to point us to a sibling entry, we will back up iter->index so that it points to the canonical entry, and that will be the place where we start our iteration. As we're processing a chunk in radix_tree_next_slot(), we process canonical entries, skip over sibling entries, and restart the chunk lookup if we find a non-sibling indirect pointer. This drops back to the radix_tree_next_chunk() code, which will re-walk the tree and look for another chunk. This allows us to properly handle multi-order entries mixed with other entries that are at various heights in the radix tree. Signed-off-by: Ross Zwisler <[email protected]> Signed-off-by: Matthew Wilcox <[email protected]> Cc: Konstantin Khlebnikov <[email protected]> Cc: Kirill Shutemov <[email protected]> Cc: Jan Kara <[email protected]> Cc: Neil Brown <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>