diff options
Diffstat (limited to 'include/linux/memcontrol.h')
| -rw-r--r-- | include/linux/memcontrol.h | 43 |
1 files changed, 21 insertions, 22 deletions
diff --git a/include/linux/memcontrol.h b/include/linux/memcontrol.h index 1f9b119f4ace..159a0762aeaf 100644 --- a/include/linux/memcontrol.h +++ b/include/linux/memcontrol.h | |||
| @@ -25,6 +25,13 @@ struct page_cgroup; | |||
| 25 | struct page; | 25 | struct page; |
| 26 | struct mm_struct; | 26 | struct mm_struct; |
| 27 | 27 | ||
| 28 | extern unsigned long mem_cgroup_isolate_pages(unsigned long nr_to_scan, | ||
| 29 | struct list_head *dst, | ||
| 30 | unsigned long *scanned, int order, | ||
| 31 | int mode, struct zone *z, | ||
| 32 | struct mem_cgroup *mem_cont, | ||
| 33 | int active, int file); | ||
| 34 | |||
| 28 | #ifdef CONFIG_CGROUP_MEM_RES_CTLR | 35 | #ifdef CONFIG_CGROUP_MEM_RES_CTLR |
| 29 | /* | 36 | /* |
| 30 | * All "charge" functions with gfp_mask should use GFP_KERNEL or | 37 | * All "charge" functions with gfp_mask should use GFP_KERNEL or |
| @@ -64,12 +71,6 @@ extern void mem_cgroup_uncharge_cache_page(struct page *page); | |||
| 64 | extern int mem_cgroup_shmem_charge_fallback(struct page *page, | 71 | extern int mem_cgroup_shmem_charge_fallback(struct page *page, |
| 65 | struct mm_struct *mm, gfp_t gfp_mask); | 72 | struct mm_struct *mm, gfp_t gfp_mask); |
| 66 | 73 | ||
| 67 | extern unsigned long mem_cgroup_isolate_pages(unsigned long nr_to_scan, | ||
| 68 | struct list_head *dst, | ||
| 69 | unsigned long *scanned, int order, | ||
| 70 | int mode, struct zone *z, | ||
| 71 | struct mem_cgroup *mem_cont, | ||
| 72 | int active, int file); | ||
| 73 | extern void mem_cgroup_out_of_memory(struct mem_cgroup *mem, gfp_t gfp_mask); | 74 | extern void mem_cgroup_out_of_memory(struct mem_cgroup *mem, gfp_t gfp_mask); |
| 74 | int task_in_mem_cgroup(struct task_struct *task, const struct mem_cgroup *mem); | 75 | int task_in_mem_cgroup(struct task_struct *task, const struct mem_cgroup *mem); |
| 75 | 76 | ||
| @@ -89,18 +90,14 @@ int mm_match_cgroup(const struct mm_struct *mm, const struct mem_cgroup *cgroup) | |||
| 89 | extern struct cgroup_subsys_state *mem_cgroup_css(struct mem_cgroup *mem); | 90 | extern struct cgroup_subsys_state *mem_cgroup_css(struct mem_cgroup *mem); |
| 90 | 91 | ||
| 91 | extern int | 92 | extern int |
| 92 | mem_cgroup_prepare_migration(struct page *page, struct mem_cgroup **ptr); | 93 | mem_cgroup_prepare_migration(struct page *page, |
| 94 | struct page *newpage, struct mem_cgroup **ptr); | ||
| 93 | extern void mem_cgroup_end_migration(struct mem_cgroup *mem, | 95 | extern void mem_cgroup_end_migration(struct mem_cgroup *mem, |
| 94 | struct page *oldpage, struct page *newpage); | 96 | struct page *oldpage, struct page *newpage); |
| 95 | 97 | ||
| 96 | /* | 98 | /* |
| 97 | * For memory reclaim. | 99 | * For memory reclaim. |
| 98 | */ | 100 | */ |
| 99 | extern int mem_cgroup_get_reclaim_priority(struct mem_cgroup *mem); | ||
| 100 | extern void mem_cgroup_note_reclaim_priority(struct mem_cgroup *mem, | ||
| 101 | int priority); | ||
| 102 | extern void mem_cgroup_record_reclaim_priority(struct mem_cgroup *mem, | ||
| 103 | int priority); | ||
| 104 | int mem_cgroup_inactive_anon_is_low(struct mem_cgroup *memcg); | 101 | int mem_cgroup_inactive_anon_is_low(struct mem_cgroup *memcg); |
| 105 | int mem_cgroup_inactive_file_is_low(struct mem_cgroup *memcg); | 102 | int mem_cgroup_inactive_file_is_low(struct mem_cgroup *memcg); |
| 106 | unsigned long mem_cgroup_zone_nr_pages(struct mem_cgroup *memcg, | 103 | unsigned long mem_cgroup_zone_nr_pages(struct mem_cgroup *memcg, |
| @@ -124,11 +121,11 @@ static inline bool mem_cgroup_disabled(void) | |||
| 124 | return false; | 121 | return false; |
| 125 | } | 122 | } |
| 126 | 123 | ||
| 127 | extern bool mem_cgroup_oom_called(struct task_struct *task); | ||
| 128 | void mem_cgroup_update_file_mapped(struct page *page, int val); | 124 | void mem_cgroup_update_file_mapped(struct page *page, int val); |
| 129 | unsigned long mem_cgroup_soft_limit_reclaim(struct zone *zone, int order, | 125 | unsigned long mem_cgroup_soft_limit_reclaim(struct zone *zone, int order, |
| 130 | gfp_t gfp_mask, int nid, | 126 | gfp_t gfp_mask); |
| 131 | int zid); | 127 | u64 mem_cgroup_get_limit(struct mem_cgroup *mem); |
| 128 | |||
| 132 | #else /* CONFIG_CGROUP_MEM_RES_CTLR */ | 129 | #else /* CONFIG_CGROUP_MEM_RES_CTLR */ |
| 133 | struct mem_cgroup; | 130 | struct mem_cgroup; |
| 134 | 131 | ||
| @@ -227,7 +224,8 @@ static inline struct cgroup_subsys_state *mem_cgroup_css(struct mem_cgroup *mem) | |||
| 227 | } | 224 | } |
| 228 | 225 | ||
| 229 | static inline int | 226 | static inline int |
| 230 | mem_cgroup_prepare_migration(struct page *page, struct mem_cgroup **ptr) | 227 | mem_cgroup_prepare_migration(struct page *page, struct page *newpage, |
| 228 | struct mem_cgroup **ptr) | ||
| 231 | { | 229 | { |
| 232 | return 0; | 230 | return 0; |
| 233 | } | 231 | } |
| @@ -258,11 +256,6 @@ static inline bool mem_cgroup_disabled(void) | |||
| 258 | return true; | 256 | return true; |
| 259 | } | 257 | } |
| 260 | 258 | ||
| 261 | static inline bool mem_cgroup_oom_called(struct task_struct *task) | ||
| 262 | { | ||
| 263 | return false; | ||
| 264 | } | ||
| 265 | |||
| 266 | static inline int | 259 | static inline int |
| 267 | mem_cgroup_inactive_anon_is_low(struct mem_cgroup *memcg) | 260 | mem_cgroup_inactive_anon_is_low(struct mem_cgroup *memcg) |
| 268 | { | 261 | { |
| @@ -307,7 +300,13 @@ static inline void mem_cgroup_update_file_mapped(struct page *page, | |||
| 307 | 300 | ||
| 308 | static inline | 301 | static inline |
| 309 | unsigned long mem_cgroup_soft_limit_reclaim(struct zone *zone, int order, | 302 | unsigned long mem_cgroup_soft_limit_reclaim(struct zone *zone, int order, |
| 310 | gfp_t gfp_mask, int nid, int zid) | 303 | gfp_t gfp_mask) |
| 304 | { | ||
| 305 | return 0; | ||
| 306 | } | ||
| 307 | |||
| 308 | static inline | ||
| 309 | u64 mem_cgroup_get_limit(struct mem_cgroup *mem) | ||
| 311 | { | 310 | { |
| 312 | return 0; | 311 | return 0; |
| 313 | } | 312 | } |
