summaryrefslogtreecommitdiff
path: root/lib/radix-tree.c
diff options
context:
space:
mode:
authorMatthew Wilcox <willy@linux.intel.com>2016-05-20 17:03:24 -0700
committerLinus Torvalds <torvalds@linux-foundation.org>2016-05-20 17:58:30 -0700
commita4db4dcea1b3990e8c5dc8a03d11f36a3c0c6d8b (patch)
tree3aa6c5252688494b1a84aed1210cf672dd838343 /lib/radix-tree.c
parent30ff46ccb303fb6f6c28b9aa9f2cdc4ba900ed3f (diff)
downloadlwn-a4db4dcea1b3990e8c5dc8a03d11f36a3c0c6d8b.tar.gz
lwn-a4db4dcea1b3990e8c5dc8a03d11f36a3c0c6d8b.zip
radix-tree: rename ptr_to_indirect() to node_to_entry()
ptr_to_indirect() was a bad name. What it really means is "Convert this pointer to a node into an entry suitable for storing in the radix tree". So node_to_entry() seemed like a better name. Signed-off-by: Matthew Wilcox <willy@linux.intel.com> Cc: Konstantin Khlebnikov <koct9i@gmail.com> Cc: Kirill Shutemov <kirill.shutemov@linux.intel.com> Cc: Jan Kara <jack@suse.com> Cc: Neil Brown <neilb@suse.de> 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 'lib/radix-tree.c')
-rw-r--r--lib/radix-tree.c21
1 files changed, 10 insertions, 11 deletions
diff --git a/lib/radix-tree.c b/lib/radix-tree.c
index 31d5929a625b..f66bb3932452 100644
--- a/lib/radix-tree.c
+++ b/lib/radix-tree.c
@@ -66,12 +66,12 @@ struct radix_tree_preload {
};
static DEFINE_PER_CPU(struct radix_tree_preload, radix_tree_preloads) = { 0, };
-static inline void *ptr_to_indirect(void *ptr)
+static inline void *node_to_entry(void *ptr)
{
return (void *)((unsigned long)ptr | RADIX_TREE_INTERNAL_NODE);
}
-#define RADIX_TREE_RETRY ptr_to_indirect(NULL)
+#define RADIX_TREE_RETRY node_to_entry(NULL)
#ifdef CONFIG_RADIX_TREE_MULTIORDER
/* Sibling slots point directly to another slot in the same node */
@@ -470,13 +470,12 @@ static int radix_tree_extend(struct radix_tree_root *root,
if (radix_tree_is_indirect_ptr(slot)) {
slot = indirect_to_ptr(slot);
slot->parent = node;
- slot = ptr_to_indirect(slot);
+ slot = node_to_entry(slot);
}
node->slots[0] = slot;
- node = ptr_to_indirect(node);
- rcu_assign_pointer(root->rnode, node);
+ slot = node_to_entry(node);
+ rcu_assign_pointer(root->rnode, slot);
shift += RADIX_TREE_MAP_SHIFT;
- slot = node;
} while (shift <= maxshift);
out:
return maxshift + RADIX_TREE_MAP_SHIFT;
@@ -534,11 +533,11 @@ int __radix_tree_create(struct radix_tree_root *root, unsigned long index,
slot->parent = node;
if (node) {
rcu_assign_pointer(node->slots[offset],
- ptr_to_indirect(slot));
+ node_to_entry(slot));
node->count++;
} else
rcu_assign_pointer(root->rnode,
- ptr_to_indirect(slot));
+ node_to_entry(slot));
} else if (!radix_tree_is_indirect_ptr(slot))
break;
@@ -553,7 +552,7 @@ int __radix_tree_create(struct radix_tree_root *root, unsigned long index,
if (order > shift) {
int i, n = 1 << (order - shift);
offset = offset & ~(n - 1);
- slot = ptr_to_indirect(&node->slots[offset]);
+ slot = node_to_entry(&node->slots[offset]);
for (i = 0; i < n; i++) {
if (node->slots[offset + i])
return -EEXIST;
@@ -1422,7 +1421,7 @@ static inline bool radix_tree_shrink(struct radix_tree_root *root)
if (radix_tree_is_indirect_ptr(slot)) {
slot = indirect_to_ptr(slot);
slot->parent = NULL;
- slot = ptr_to_indirect(slot);
+ slot = node_to_entry(slot);
}
/*
@@ -1563,7 +1562,7 @@ void *radix_tree_delete_item(struct radix_tree_root *root,
radix_tree_tag_clear(root, index, tag);
}
- delete_sibling_entries(node, ptr_to_indirect(slot), offset);
+ delete_sibling_entries(node, node_to_entry(slot), offset);
node->slots[offset] = NULL;
node->count--;