diff options
Diffstat (limited to 'include/linux')
| -rw-r--r-- | include/linux/memcontrol.h | 13 | ||||
| -rw-r--r-- | include/linux/sched.h | 8 |
2 files changed, 21 insertions, 0 deletions
diff --git a/include/linux/memcontrol.h b/include/linux/memcontrol.h index bf9213b2db8f..91300c972e76 100644 --- a/include/linux/memcontrol.h +++ b/include/linux/memcontrol.h | |||
| @@ -54,6 +54,11 @@ extern void mem_cgroup_rotate_lru_list(struct page *page, enum lru_list lru); | |||
| 54 | extern void mem_cgroup_del_lru(struct page *page); | 54 | extern void mem_cgroup_del_lru(struct page *page); |
| 55 | extern void mem_cgroup_move_lists(struct page *page, | 55 | extern void mem_cgroup_move_lists(struct page *page, |
| 56 | enum lru_list from, enum lru_list to); | 56 | enum lru_list from, enum lru_list to); |
| 57 | |||
| 58 | /* For coalescing uncharge for reducing memcg' overhead*/ | ||
| 59 | extern void mem_cgroup_uncharge_start(void); | ||
| 60 | extern void mem_cgroup_uncharge_end(void); | ||
| 61 | |||
| 57 | extern void mem_cgroup_uncharge_page(struct page *page); | 62 | extern void mem_cgroup_uncharge_page(struct page *page); |
| 58 | extern void mem_cgroup_uncharge_cache_page(struct page *page); | 63 | extern void mem_cgroup_uncharge_cache_page(struct page *page); |
| 59 | extern int mem_cgroup_shmem_charge_fallback(struct page *page, | 64 | extern int mem_cgroup_shmem_charge_fallback(struct page *page, |
| @@ -151,6 +156,14 @@ static inline void mem_cgroup_cancel_charge_swapin(struct mem_cgroup *ptr) | |||
| 151 | { | 156 | { |
| 152 | } | 157 | } |
| 153 | 158 | ||
| 159 | static inline void mem_cgroup_uncharge_start(void) | ||
| 160 | { | ||
| 161 | } | ||
| 162 | |||
| 163 | static inline void mem_cgroup_uncharge_end(void) | ||
| 164 | { | ||
| 165 | } | ||
| 166 | |||
| 154 | static inline void mem_cgroup_uncharge_page(struct page *page) | 167 | static inline void mem_cgroup_uncharge_page(struct page *page) |
| 155 | { | 168 | { |
| 156 | } | 169 | } |
diff --git a/include/linux/sched.h b/include/linux/sched.h index 5c858f38e81a..f4c145410a8d 100644 --- a/include/linux/sched.h +++ b/include/linux/sched.h | |||
| @@ -1544,6 +1544,14 @@ struct task_struct { | |||
| 1544 | unsigned long trace_recursion; | 1544 | unsigned long trace_recursion; |
| 1545 | #endif /* CONFIG_TRACING */ | 1545 | #endif /* CONFIG_TRACING */ |
| 1546 | unsigned long stack_start; | 1546 | unsigned long stack_start; |
| 1547 | #ifdef CONFIG_CGROUP_MEM_RES_CTLR /* memcg uses this to do batch job */ | ||
| 1548 | struct memcg_batch_info { | ||
| 1549 | int do_batch; /* incremented when batch uncharge started */ | ||
| 1550 | struct mem_cgroup *memcg; /* target memcg of uncharge */ | ||
| 1551 | unsigned long bytes; /* uncharged usage */ | ||
| 1552 | unsigned long memsw_bytes; /* uncharged mem+swap usage */ | ||
| 1553 | } memcg_batch; | ||
| 1554 | #endif | ||
| 1547 | }; | 1555 | }; |
| 1548 | 1556 | ||
| 1549 | /* Future-safe accessor for struct task_struct's cpus_allowed. */ | 1557 | /* Future-safe accessor for struct task_struct's cpus_allowed. */ |
