Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932129AbcDNOhc (ORCPT ); Thu, 14 Apr 2016 10:37:32 -0400 Received: from mga11.intel.com ([192.55.52.93]:30542 "EHLO mga11.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754146AbcDNOh2 (ORCPT ); Thu, 14 Apr 2016 10:37:28 -0400 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.24,485,1455004800"; d="scan'208";a="784880866" From: Matthew Wilcox To: linux-kernel@vger.kernel.org, Andrew Morton Cc: Matthew Wilcox , linux-mm@kvack.org, linux-fsdevel@vger.kernel.org, Konstantin Khlebnikov , Kirill Shutemov , Jan Kara , Neil Brown , Ross Zwisler Subject: [PATCH 00/19] Radix tree cleanups Date: Thu, 14 Apr 2016 10:37:03 -0400 Message-Id: <1460644642-30642-1-git-send-email-willy@linux.intel.com> X-Mailer: git-send-email 2.8.0.rc3 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2215 Lines: 52 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