diff options
Diffstat (limited to 'include/linux/memcontrol.h')
-rw-r--r-- | include/linux/memcontrol.h | 49 |
1 files changed, 15 insertions, 34 deletions
diff --git a/include/linux/memcontrol.h b/include/linux/memcontrol.h index 1a9a096858e0..806b8fa15c5f 100644 --- a/include/linux/memcontrol.h +++ b/include/linux/memcontrol.h | |||
@@ -60,15 +60,17 @@ void mem_cgroup_commit_charge(struct page *page, struct mem_cgroup *memcg, | |||
60 | bool lrucare); | 60 | bool lrucare); |
61 | void mem_cgroup_cancel_charge(struct page *page, struct mem_cgroup *memcg); | 61 | void mem_cgroup_cancel_charge(struct page *page, struct mem_cgroup *memcg); |
62 | 62 | ||
63 | struct lruvec *mem_cgroup_zone_lruvec(struct zone *, struct mem_cgroup *); | 63 | void mem_cgroup_uncharge(struct page *page); |
64 | struct lruvec *mem_cgroup_page_lruvec(struct page *, struct zone *); | 64 | |
65 | /* Batched uncharging */ | ||
66 | void mem_cgroup_uncharge_start(void); | ||
67 | void mem_cgroup_uncharge_end(void); | ||
65 | 68 | ||
66 | /* For coalescing uncharge for reducing memcg' overhead*/ | 69 | void mem_cgroup_migrate(struct page *oldpage, struct page *newpage, |
67 | extern void mem_cgroup_uncharge_start(void); | 70 | bool lrucare); |
68 | extern void mem_cgroup_uncharge_end(void); | ||
69 | 71 | ||
70 | extern void mem_cgroup_uncharge_page(struct page *page); | 72 | struct lruvec *mem_cgroup_zone_lruvec(struct zone *, struct mem_cgroup *); |
71 | extern void mem_cgroup_uncharge_cache_page(struct page *page); | 73 | struct lruvec *mem_cgroup_page_lruvec(struct page *, struct zone *); |
72 | 74 | ||
73 | bool __mem_cgroup_same_or_subtree(const struct mem_cgroup *root_memcg, | 75 | bool __mem_cgroup_same_or_subtree(const struct mem_cgroup *root_memcg, |
74 | struct mem_cgroup *memcg); | 76 | struct mem_cgroup *memcg); |
@@ -96,12 +98,6 @@ bool mm_match_cgroup(const struct mm_struct *mm, const struct mem_cgroup *memcg) | |||
96 | 98 | ||
97 | extern struct cgroup_subsys_state *mem_cgroup_css(struct mem_cgroup *memcg); | 99 | extern struct cgroup_subsys_state *mem_cgroup_css(struct mem_cgroup *memcg); |
98 | 100 | ||
99 | extern void | ||
100 | mem_cgroup_prepare_migration(struct page *page, struct page *newpage, | ||
101 | struct mem_cgroup **memcgp); | ||
102 | extern void mem_cgroup_end_migration(struct mem_cgroup *memcg, | ||
103 | struct page *oldpage, struct page *newpage, bool migration_ok); | ||
104 | |||
105 | struct mem_cgroup *mem_cgroup_iter(struct mem_cgroup *, | 101 | struct mem_cgroup *mem_cgroup_iter(struct mem_cgroup *, |
106 | struct mem_cgroup *, | 102 | struct mem_cgroup *, |
107 | struct mem_cgroup_reclaim_cookie *); | 103 | struct mem_cgroup_reclaim_cookie *); |
@@ -116,8 +112,6 @@ unsigned long mem_cgroup_get_lru_size(struct lruvec *lruvec, enum lru_list); | |||
116 | void mem_cgroup_update_lru_size(struct lruvec *, enum lru_list, int); | 112 | void mem_cgroup_update_lru_size(struct lruvec *, enum lru_list, int); |
117 | extern void mem_cgroup_print_oom_info(struct mem_cgroup *memcg, | 113 | extern void mem_cgroup_print_oom_info(struct mem_cgroup *memcg, |
118 | struct task_struct *p); | 114 | struct task_struct *p); |
119 | extern void mem_cgroup_replace_page_cache(struct page *oldpage, | ||
120 | struct page *newpage); | ||
121 | 115 | ||
122 | static inline void mem_cgroup_oom_enable(void) | 116 | static inline void mem_cgroup_oom_enable(void) |
123 | { | 117 | { |
@@ -235,19 +229,21 @@ static inline void mem_cgroup_cancel_charge(struct page *page, | |||
235 | { | 229 | { |
236 | } | 230 | } |
237 | 231 | ||
238 | static inline void mem_cgroup_uncharge_start(void) | 232 | static inline void mem_cgroup_uncharge(struct page *page) |
239 | { | 233 | { |
240 | } | 234 | } |
241 | 235 | ||
242 | static inline void mem_cgroup_uncharge_end(void) | 236 | static inline void mem_cgroup_uncharge_start(void) |
243 | { | 237 | { |
244 | } | 238 | } |
245 | 239 | ||
246 | static inline void mem_cgroup_uncharge_page(struct page *page) | 240 | static inline void mem_cgroup_uncharge_end(void) |
247 | { | 241 | { |
248 | } | 242 | } |
249 | 243 | ||
250 | static inline void mem_cgroup_uncharge_cache_page(struct page *page) | 244 | static inline void mem_cgroup_migrate(struct page *oldpage, |
245 | struct page *newpage, | ||
246 | bool lrucare) | ||
251 | { | 247 | { |
252 | } | 248 | } |
253 | 249 | ||
@@ -286,17 +282,6 @@ static inline struct cgroup_subsys_state | |||
286 | return NULL; | 282 | return NULL; |
287 | } | 283 | } |
288 | 284 | ||
289 | static inline void | ||
290 | mem_cgroup_prepare_migration(struct page *page, struct page *newpage, | ||
291 | struct mem_cgroup **memcgp) | ||
292 | { | ||
293 | } | ||
294 | |||
295 | static inline void mem_cgroup_end_migration(struct mem_cgroup *memcg, | ||
296 | struct page *oldpage, struct page *newpage, bool migration_ok) | ||
297 | { | ||
298 | } | ||
299 | |||
300 | static inline struct mem_cgroup * | 285 | static inline struct mem_cgroup * |
301 | mem_cgroup_iter(struct mem_cgroup *root, | 286 | mem_cgroup_iter(struct mem_cgroup *root, |
302 | struct mem_cgroup *prev, | 287 | struct mem_cgroup *prev, |
@@ -392,10 +377,6 @@ static inline | |||
392 | void mem_cgroup_count_vm_event(struct mm_struct *mm, enum vm_event_item idx) | 377 | void mem_cgroup_count_vm_event(struct mm_struct *mm, enum vm_event_item idx) |
393 | { | 378 | { |
394 | } | 379 | } |
395 | static inline void mem_cgroup_replace_page_cache(struct page *oldpage, | ||
396 | struct page *newpage) | ||
397 | { | ||
398 | } | ||
399 | #endif /* CONFIG_MEMCG */ | 380 | #endif /* CONFIG_MEMCG */ |
400 | 381 | ||
401 | #if !defined(CONFIG_MEMCG) || !defined(CONFIG_DEBUG_VM) | 382 | #if !defined(CONFIG_MEMCG) || !defined(CONFIG_DEBUG_VM) |