diff options
Diffstat (limited to 'include')
| -rw-r--r-- | include/linux/pagevec.h | 13 | ||||
| -rw-r--r-- | include/linux/swap.h | 18 |
2 files changed, 27 insertions, 4 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 { | |||
| 23 | void __pagevec_release(struct pagevec *pvec); | 23 | void __pagevec_release(struct pagevec *pvec); |
| 24 | void __pagevec_release_nonlru(struct pagevec *pvec); | 24 | void __pagevec_release_nonlru(struct pagevec *pvec); |
| 25 | void __pagevec_free(struct pagevec *pvec); | 25 | void __pagevec_free(struct pagevec *pvec); |
| 26 | void __pagevec_lru_add(struct pagevec *pvec); | 26 | void ____pagevec_lru_add(struct pagevec *pvec, enum lru_list lru); |
| 27 | void __pagevec_lru_add_active(struct pagevec *pvec); | ||
| 28 | void pagevec_strip(struct pagevec *pvec); | 27 | void pagevec_strip(struct pagevec *pvec); |
| 29 | unsigned pagevec_lookup(struct pagevec *pvec, struct address_space *mapping, | 28 | unsigned 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 | ||
| 83 | static inline void __pagevec_lru_add(struct pagevec *pvec) | ||
| 84 | { | ||
| 85 | ____pagevec_lru_add(pvec, LRU_INACTIVE); | ||
| 86 | } | ||
| 87 | |||
| 88 | static inline void __pagevec_lru_add_active(struct pagevec *pvec) | ||
| 89 | { | ||
| 90 | ____pagevec_lru_add(pvec, LRU_ACTIVE); | ||
| 91 | } | ||
| 92 | |||
| 84 | static inline void pagevec_lru_add(struct pagevec *pvec) | 93 | static inline void pagevec_lru_add(struct pagevec *pvec) |
| 85 | { | 94 | { |
| 86 | if (pagevec_count(pvec)) | 95 | if (pagevec_count(pvec)) |
diff --git a/include/linux/swap.h b/include/linux/swap.h index de40f169a4e4..fcc169610d09 100644 --- a/include/linux/swap.h +++ b/include/linux/swap.h | |||
| @@ -171,8 +171,8 @@ extern unsigned int nr_free_pagecache_pages(void); | |||
| 171 | 171 | ||
| 172 | 172 | ||
| 173 | /* linux/mm/swap.c */ | 173 | /* linux/mm/swap.c */ |
| 174 | extern void lru_cache_add(struct page *); | 174 | extern void __lru_cache_add(struct page *, enum lru_list lru); |
| 175 | extern void lru_cache_add_active(struct page *); | 175 | extern void lru_cache_add_lru(struct page *, enum lru_list lru); |
| 176 | extern void activate_page(struct page *); | 176 | extern void activate_page(struct page *); |
| 177 | extern void mark_page_accessed(struct page *); | 177 | extern void mark_page_accessed(struct page *); |
| 178 | extern void lru_add_drain(void); | 178 | extern void lru_add_drain(void); |
| @@ -180,6 +180,20 @@ extern int lru_add_drain_all(void); | |||
| 180 | extern void rotate_reclaimable_page(struct page *page); | 180 | extern void rotate_reclaimable_page(struct page *page); |
| 181 | extern void swap_setup(void); | 181 | extern void swap_setup(void); |
| 182 | 182 | ||
| 183 | /** | ||
| 184 | * lru_cache_add: add a page to the page lists | ||
| 185 | * @page: the page to add | ||
| 186 | */ | ||
| 187 | static inline void lru_cache_add(struct page *page) | ||
| 188 | { | ||
| 189 | __lru_cache_add(page, LRU_INACTIVE); | ||
| 190 | } | ||
| 191 | |||
| 192 | static inline void lru_cache_add_active(struct page *page) | ||
| 193 | { | ||
| 194 | __lru_cache_add(page, LRU_ACTIVE); | ||
| 195 | } | ||
| 196 | |||
| 183 | /* linux/mm/vmscan.c */ | 197 | /* linux/mm/vmscan.c */ |
| 184 | extern unsigned long try_to_free_pages(struct zonelist *zonelist, int order, | 198 | extern unsigned long try_to_free_pages(struct zonelist *zonelist, int order, |
| 185 | gfp_t gfp_mask); | 199 | gfp_t gfp_mask); |
