diff options
author | Matthew Wilcox <willy@linux.intel.com> | 2016-05-21 02:03:54 +0200 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2016-05-21 02:58:30 +0200 |
commit | 3bcadd6fa6c4fd07ace3626357c824eb532488a6 (patch) | |
tree | 4e0fee97bdc25e76f7a786e1049a9aab6208d518 /arch/m32r | |
parent | dax: move RADIX_DAX_ definitions to dax.c (diff) | |
download | linux-3bcadd6fa6c4fd07ace3626357c824eb532488a6.tar.xz linux-3bcadd6fa6c4fd07ace3626357c824eb532488a6.zip |
radix-tree: free up the bottom bit of exceptional entries for reuse
We are guaranteed that pointers to radix_tree_nodes always have the
bottom two bits clear (because they come from a slab cache, and slab
caches have a minimum alignment of sizeof(void *)), so we can redefine
'radix_tree_is_internal_node' to only return true if the bottom two bits
have value '01'. This frees up one quarter of the potential values for
use by the user.
Idea from Neil Brown.
Signed-off-by: Matthew Wilcox <willy@linux.intel.com>
Suggested-by: Neil Brown <neilb@suse.de>
Cc: Konstantin Khlebnikov <koct9i@gmail.com>
Cc: Kirill Shutemov <kirill.shutemov@linux.intel.com>
Cc: Jan Kara <jack@suse.com>
Cc: Ross Zwisler <ross.zwisler@linux.intel.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'arch/m32r')
0 files changed, 0 insertions, 0 deletions