summaryrefslogtreecommitdiffstats
path: root/tools
diff options
context:
space:
mode:
authorKonstantin Khlebnikov <khlebnikov@openvz.org>2012-03-28 14:42:54 -0700
committerLinus Torvalds <torvalds@linux-foundation.org>2012-03-28 17:14:37 -0700
commit0fc9d1040313047edf6a39fd4d7c7defdca97c62 (patch)
tree4503c084da1097e1cf66d8bac1ec548bc69ce69a /tools
parentcebbd29e1c2f7a969919f19f74583070840163d7 (diff)
downloadlinux-0fc9d1040313047edf6a39fd4d7c7defdca97c62.tar.bz2
radix-tree: use iterators in find_get_pages* functions
Replace radix_tree_gang_lookup_slot() and radix_tree_gang_lookup_tag_slot() in page-cache lookup functions with brand-new radix-tree direct iterating. This avoids the double-scanning and pointer copying. Iterator don't stop after nr_pages page-get fails in a row, it continue lookup till the radix-tree end. Thus we can safely remove these restart conditions. Unfortunately, old implementation didn't forbid nr_pages == 0, this corner case does not fit into new code, so the patch adds an extra check at the beginning. Signed-off-by: Konstantin Khlebnikov <khlebnikov@openvz.org> Tested-by: Hugh Dickins <hughd@google.com> Cc: Christoph Hellwig <hch@lst.de> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'tools')
0 files changed, 0 insertions, 0 deletions