aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/mm_inline.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/linux/mm_inline.h')
-rw-r--r--include/linux/mm_inline.h19
1 files changed, 14 insertions, 5 deletions
diff --git a/include/linux/mm_inline.h b/include/linux/mm_inline.h
index 8835b877b8db..8f7d24712dc1 100644
--- a/include/linux/mm_inline.h
+++ b/include/linux/mm_inline.h
@@ -1,6 +1,8 @@
1#ifndef LINUX_MM_INLINE_H 1#ifndef LINUX_MM_INLINE_H
2#define LINUX_MM_INLINE_H 2#define LINUX_MM_INLINE_H
3 3
4#include <linux/huge_mm.h>
5
4/** 6/**
5 * page_is_file_cache - should the page be on a file LRU or anon LRU? 7 * page_is_file_cache - should the page be on a file LRU or anon LRU?
6 * @page: the page to test 8 * @page: the page to test
@@ -20,18 +22,25 @@ static inline int page_is_file_cache(struct page *page)
20} 22}
21 23
22static inline void 24static inline void
23add_page_to_lru_list(struct zone *zone, struct page *page, enum lru_list l) 25__add_page_to_lru_list(struct zone *zone, struct page *page, enum lru_list l,
26 struct list_head *head)
24{ 27{
25 list_add(&page->lru, &zone->lru[l].list); 28 list_add(&page->lru, head);
26 __inc_zone_state(zone, NR_LRU_BASE + l); 29 __mod_zone_page_state(zone, NR_LRU_BASE + l, hpage_nr_pages(page));
27 mem_cgroup_add_lru_list(page, l); 30 mem_cgroup_add_lru_list(page, l);
28} 31}
29 32
30static inline void 33static inline void
34add_page_to_lru_list(struct zone *zone, struct page *page, enum lru_list l)
35{
36 __add_page_to_lru_list(zone, page, l, &zone->lru[l].list);
37}
38
39static inline void
31del_page_from_lru_list(struct zone *zone, struct page *page, enum lru_list l) 40del_page_from_lru_list(struct zone *zone, struct page *page, enum lru_list l)
32{ 41{
33 list_del(&page->lru); 42 list_del(&page->lru);
34 __dec_zone_state(zone, NR_LRU_BASE + l); 43 __mod_zone_page_state(zone, NR_LRU_BASE + l, -hpage_nr_pages(page));
35 mem_cgroup_del_lru_list(page, l); 44 mem_cgroup_del_lru_list(page, l);
36} 45}
37 46
@@ -66,7 +75,7 @@ del_page_from_lru(struct zone *zone, struct page *page)
66 l += LRU_ACTIVE; 75 l += LRU_ACTIVE;
67 } 76 }
68 } 77 }
69 __dec_zone_state(zone, NR_LRU_BASE + l); 78 __mod_zone_page_state(zone, NR_LRU_BASE + l, -hpage_nr_pages(page));
70 mem_cgroup_del_lru_list(page, l); 79 mem_cgroup_del_lru_list(page, l);
71} 80}
72 81