mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-29 11:11:45 -04:00
mm: implement find_get_pages_range_tag()
Patch series "Ranged pagevec tagged lookup", v3. In this series I provide a ranged variant of pagevec_lookup_tag() and use it in places where it makes sense. This series removes some common code and it also has a potential for speeding up some operations similarly as for pagevec_lookup_range() (but for now I can think of only artificial cases where this happens). This patch (of 16): Implement a variant of find_get_pages_tag() that stops iterating at given index. Lots of users of this function (through pagevec_lookup()) actually want a range lookup and all of them are currently open-coding this. Also create corresponding pagevec_lookup_range_tag() function. Link: http://lkml.kernel.org/r/[email protected] Signed-off-by: Jan Kara <[email protected]> Reviewed-by: Daniel Jordan <[email protected]> Cc: Bob Peterson <[email protected]> Cc: Chao Yu <[email protected]> Cc: David Howells <[email protected]> Cc: David Sterba <[email protected]> Cc: Ilya Dryomov <[email protected]> Cc: Jaegeuk Kim <[email protected]> Cc: Ryusuke Konishi <[email protected]> Cc: Steve French <[email protected]> Cc: "Theodore Ts'o" <[email protected]> Cc: "Yan, Zheng" <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
This commit is contained in:
parent
6b4c54e378
commit
72b045aecd
4 changed files with 48 additions and 17 deletions
|
|
@ -986,14 +986,15 @@ unsigned pagevec_lookup_range(struct pagevec *pvec,
|
|||
}
|
||||
EXPORT_SYMBOL(pagevec_lookup_range);
|
||||
|
||||
unsigned pagevec_lookup_tag(struct pagevec *pvec, struct address_space *mapping,
|
||||
pgoff_t *index, int tag, unsigned nr_pages)
|
||||
unsigned pagevec_lookup_range_tag(struct pagevec *pvec,
|
||||
struct address_space *mapping, pgoff_t *index, pgoff_t end,
|
||||
int tag, unsigned nr_pages)
|
||||
{
|
||||
pvec->nr = find_get_pages_tag(mapping, index, tag,
|
||||
pvec->nr = find_get_pages_range_tag(mapping, index, end, tag,
|
||||
nr_pages, pvec->pages);
|
||||
return pagevec_count(pvec);
|
||||
}
|
||||
EXPORT_SYMBOL(pagevec_lookup_tag);
|
||||
EXPORT_SYMBOL(pagevec_lookup_range_tag);
|
||||
|
||||
/*
|
||||
* Perform any setup for the swap system
|
||||
|
|
|
|||
Loading…
Reference in a new issue