From: Matthew Wilcox <willy@linux.intel.com>
To: linux-kernel@vger.kernel.org, Andrew Morton <akpm@linux-foundation.org>
Cc: Matthew Wilcox <willy@linux.intel.com>,
linux-mm@kvack.org, linux-fsdevel@vger.kernel.org,
Konstantin Khlebnikov <koct9i@gmail.com>,
Kirill Shutemov <kirill.shutemov@linux.intel.com>,
Jan Kara <jack@suse.com>, Neil Brown <neilb@suse.de>,
Ross Zwisler <ross.zwisler@linux.intel.com>
Subject: [PATCH 00/19] Radix tree cleanups
Date: Thu, 14 Apr 2016 10:37:03 -0400 [thread overview]
Message-ID: <1460644642-30642-1-git-send-email-willy@linux.intel.com> (raw)
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@kvack.org. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
WARNING: multiple messages have this Message-ID (diff)
From: Matthew Wilcox <willy@linux.intel.com>
To: linux-kernel@vger.kernel.org, Andrew Morton <akpm@linux-foundation.org>
Cc: Matthew Wilcox <willy@linux.intel.com>,
linux-mm@kvack.org, linux-fsdevel@vger.kernel.org,
Konstantin Khlebnikov <koct9i@gmail.com>,
Kirill Shutemov <kirill.shutemov@linux.intel.com>,
Jan Kara <jack@suse.com>, Neil Brown <neilb@suse.de>,
Ross Zwisler <ross.zwisler@linux.intel.com>
Subject: [PATCH 00/19] Radix tree cleanups
Date: Thu, 14 Apr 2016 10:37:03 -0400 [thread overview]
Message-ID: <1460644642-30642-1-git-send-email-willy@linux.intel.com> (raw)
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
next reply other threads:[~2016-04-14 14:37 UTC|newest]
Thread overview: 42+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-04-14 14:37 Matthew Wilcox [this message]
2016-04-14 14:37 ` [PATCH 00/19] Radix tree cleanups Matthew Wilcox
2016-04-14 14:37 ` [PATCH 01/19] drivers/hwspinlock: Use correct radix tree API Matthew Wilcox
2016-04-14 14:37 ` Matthew Wilcox
2016-04-14 14:37 ` [PATCH 02/19] radix-tree: Miscellaneous fixes Matthew Wilcox
2016-04-14 14:37 ` Matthew Wilcox
2016-04-27 5:43 ` NeilBrown
2016-04-27 5:43 ` NeilBrown
2016-04-14 14:37 ` [PATCH 03/19] radix-tree: Split node->path into offset and height Matthew Wilcox
2016-04-14 14:37 ` Matthew Wilcox
2016-04-14 14:37 ` [PATCH 04/19] radix-tree: Replace node->height with node->shift Matthew Wilcox
2016-04-14 14:37 ` Matthew Wilcox
2016-04-14 14:37 ` [PATCH 05/19] radix-tree: Remove a use of root->height from delete_node Matthew Wilcox
2016-04-14 14:37 ` Matthew Wilcox
2016-04-14 14:37 ` [PATCH 06/19] radix tree test suite: Remove dependencies on height Matthew Wilcox
2016-04-14 14:37 ` Matthew Wilcox
2016-04-14 14:37 ` [PATCH 07/19] radix-tree: Remove root->height Matthew Wilcox
2016-04-14 14:37 ` Matthew Wilcox
2016-04-14 14:37 ` [PATCH 08/19] radix-tree: Rename INDIRECT_PTR to INTERNAL_NODE Matthew Wilcox
2016-04-14 14:37 ` Matthew Wilcox
2016-04-14 14:37 ` [PATCH 09/19] radix-tree: Rename ptr_to_indirect() to node_to_entry() Matthew Wilcox
2016-04-14 14:37 ` Matthew Wilcox
2016-04-14 14:37 ` [PATCH 10/19] radix-tree: Rename indirect_to_ptr() to entry_to_node() Matthew Wilcox
2016-04-14 14:37 ` Matthew Wilcox
2016-04-14 14:37 ` [PATCH 11/19] radix-tree: Rename radix_tree_is_indirect_ptr() Matthew Wilcox
2016-04-14 14:37 ` Matthew Wilcox
2016-04-14 14:37 ` [PATCH 12/19] radix-tree: Change naming conventions in radix_tree_shrink Matthew Wilcox
2016-04-14 14:37 ` Matthew Wilcox
2016-04-14 14:37 ` [PATCH 13/19] radix-tree: Tidy up next_chunk Matthew Wilcox
2016-04-14 14:37 ` Matthew Wilcox
2016-04-14 14:37 ` [PATCH 14/19] radix-tree: Tidy up range_tag_if_tagged Matthew Wilcox
2016-04-14 14:37 ` Matthew Wilcox
2016-04-14 14:37 ` [PATCH 15/19] radix-tree: Tidy up __radix_tree_create() Matthew Wilcox
2016-04-14 14:37 ` Matthew Wilcox
2016-04-14 14:37 ` [PATCH 16/19] radix-tree: Introduce radix_tree_replace_clear_tags() Matthew Wilcox
2016-04-14 14:37 ` Matthew Wilcox
2016-04-14 14:37 ` [PATCH 17/19] radix-tree: Make radix_tree_descend() more useful Matthew Wilcox
2016-04-14 14:37 ` Matthew Wilcox
2016-04-14 14:37 ` [PATCH 18/19] dax: move RADIX_DAX_ definitions to dax.c Matthew Wilcox
2016-04-14 14:37 ` Matthew Wilcox
2016-04-14 14:37 ` [PATCH 19/19] radix-tree: Free up the bottom bit of exceptional entries for reuse Matthew Wilcox
2016-04-14 14:37 ` Matthew Wilcox
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1460644642-30642-1-git-send-email-willy@linux.intel.com \
--to=willy@linux.intel.com \
--cc=akpm@linux-foundation.org \
--cc=jack@suse.com \
--cc=kirill.shutemov@linux.intel.com \
--cc=koct9i@gmail.com \
--cc=linux-fsdevel@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=neilb@suse.de \
--cc=ross.zwisler@linux.intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.