aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/pagevec.h
diff options
context:
space:
mode:
authorKOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>2008-10-18 23:26:19 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2008-10-20 11:50:25 -0400
commitf04e9ebbe4909f9a41efd55149bc353299f4e83b (patch)
tree4ff31c7f918edafe7d4e4dd0e926b6ac545c7897 /include/linux/pagevec.h
parentb69408e88bd86b98feb7b9a38fd865e1ddb29827 (diff)
swap: use an array for the LRU pagevecs
Turn the pagevecs into an array just like the LRUs. This significantly cleans up the source code and reduces the size of the kernel by about 13kB after all the LRU lists have been created further down in the split VM patch series. Signed-off-by: Rik van Riel <riel@redhat.com> Signed-off-by: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'include/linux/pagevec.h')
-rw-r--r--include/linux/pagevec.h13
1 files changed, 11 insertions, 2 deletions
diff --git a/include/linux/pagevec.h b/include/linux/pagevec.h
index 8eb7fa76c1d0..6b8f11bcc948 100644
--- a/include/linux/pagevec.h
+++ b/include/linux/pagevec.h
@@ -23,8 +23,7 @@ struct pagevec {
23void __pagevec_release(struct pagevec *pvec); 23void __pagevec_release(struct pagevec *pvec);
24void __pagevec_release_nonlru(struct pagevec *pvec); 24void __pagevec_release_nonlru(struct pagevec *pvec);
25void __pagevec_free(struct pagevec *pvec); 25void __pagevec_free(struct pagevec *pvec);
26void __pagevec_lru_add(struct pagevec *pvec); 26void ____pagevec_lru_add(struct pagevec *pvec, enum lru_list lru);
27void __pagevec_lru_add_active(struct pagevec *pvec);
28void pagevec_strip(struct pagevec *pvec); 27void pagevec_strip(struct pagevec *pvec);
29unsigned pagevec_lookup(struct pagevec *pvec, struct address_space *mapping, 28unsigned pagevec_lookup(struct pagevec *pvec, struct address_space *mapping,
30 pgoff_t start, unsigned nr_pages); 29 pgoff_t start, unsigned nr_pages);
@@ -81,6 +80,16 @@ static inline void pagevec_free(struct pagevec *pvec)
81 __pagevec_free(pvec); 80 __pagevec_free(pvec);
82} 81}
83 82
83static inline void __pagevec_lru_add(struct pagevec *pvec)
84{
85 ____pagevec_lru_add(pvec, LRU_INACTIVE);
86}
87
88static inline void __pagevec_lru_add_active(struct pagevec *pvec)
89{
90 ____pagevec_lru_add(pvec, LRU_ACTIVE);
91}
92
84static inline void pagevec_lru_add(struct pagevec *pvec) 93static inline void pagevec_lru_add(struct pagevec *pvec)
85{ 94{
86 if (pagevec_count(pvec)) 95 if (pagevec_count(pvec))