This patch series applies on top of the radix-fixes series I sent recently. It aims to improve the radix tree by making the code more understandable and has the nice side-effect of shrinking the code size on i386-tinyconfig by about 250 bytes. The 'height' concept is entirely gone from the code by patch 7 of the series. We eliminate most of the tricky arithmetic on index. This paves the way towards allowing different shift amounts at different layers of the tree, something I know various people are interested in. It integrates two of the patches from Neil Brown which are pre-requisites for locking exceptional entries. We end up deleting almost a hundred lines of code from the kernel (excluding the test-suite). Matthew Wilcox (18): drivers/hwspinlock: Use correct radix tree API radix-tree: Miscellaneous fixes radix-tree: Split node->path into offset and height radix-tree: Replace node->height with node->shift radix-tree: Remove a use of root->height from delete_node radix tree test suite: Remove dependencies on height radix-tree: Remove root->height radix-tree: Rename INDIRECT_PTR to INTERNAL_NODE radix-tree: Rename ptr_to_indirect() to node_to_entry() radix-tree: Rename indirect_to_ptr() to entry_to_node() radix-tree: Rename radix_tree_is_indirect_ptr() radix-tree: Change naming conventions in radix_tree_shrink radix-tree: Tidy up next_chunk radix-tree: Tidy up range_tag_if_tagged radix-tree: Tidy up __radix_tree_create() radix-tree: Introduce radix_tree_replace_clear_tags() radix-tree: Make radix_tree_descend() more useful radix-tree: Free up the bottom bit of exceptional entries for reuse NeilBrown (1): dax: move RADIX_DAX_ definitions to dax.c drivers/hwspinlock/hwspinlock_core.c | 2 +- fs/dax.c | 9 + include/linux/radix-tree.h | 94 +++--- lib/radix-tree.c | 577 +++++++++++++++------------------- mm/filemap.c | 23 +- tools/testing/radix-tree/multiorder.c | 99 +++--- tools/testing/radix-tree/test.c | 36 ++- tools/testing/radix-tree/test.h | 4 +- 8 files changed, 385 insertions(+), 459 deletions(-) -- 2.8.0.rc3 -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>