diff options
author | 2006-01-08 01:01:41 -0800 | |
---|---|---|
committer | 2006-01-08 20:13:41 -0800 | |
commit | d5274261ea46f0aae93820fe36628249120d2f75 (patch) | |
tree | e95c41295270c55ef27a3534894f066f31719ecc /lib/bitmap.c | |
parent | [PATCH] radix tree: code consolidation (diff) | |
download | wireguard-linux-d5274261ea46f0aae93820fe36628249120d2f75.tar.xz wireguard-linux-d5274261ea46f0aae93820fe36628249120d2f75.zip |
[PATCH] radix tree: early termination of tag clearing
Correctly determine the tags to be cleared in radix_tree_delete() so we
don't keep moving up the tree clearing tags that we don't need to. For
example, if a tag is simply not set in the deleted item, nor anywhere up
the tree, radix_tree_delete() would attempt to clear it up the entire
height of the tree.
Also, tag_set() was made conditional so as not to dirty too many cachelines
high up in the radix tree. Instead, put this logic into
radix_tree_tag_set().
Signed-off-by: Nick Piggin <npiggin@suse.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'lib/bitmap.c')
0 files changed, 0 insertions, 0 deletions