memcontrol.c (018ee47f14893d500131dfca2ff9f3ff8ebd4ed2) memcontrol.c (bd74fdaea146029e4fa12c6de89adbe0779348a9)
1// SPDX-License-Identifier: GPL-2.0-or-later
2/* memcontrol.c - Memory Controller
3 *
4 * Copyright IBM Corporation, 2007
5 * Author Balbir Singh <balbir@linux.vnet.ibm.com>
6 *
7 * Copyright 2007 OpenVZ SWsoft Inc
8 * Author: Pavel Emelianov <xemul@openvz.org>

--- 6190 unchanged lines hidden (view full) ---

6199static void mem_cgroup_cancel_attach(struct cgroup_taskset *tset)
6200{
6201}
6202static void mem_cgroup_move_task(void)
6203{
6204}
6205#endif
6206
1// SPDX-License-Identifier: GPL-2.0-or-later
2/* memcontrol.c - Memory Controller
3 *
4 * Copyright IBM Corporation, 2007
5 * Author Balbir Singh <balbir@linux.vnet.ibm.com>
6 *
7 * Copyright 2007 OpenVZ SWsoft Inc
8 * Author: Pavel Emelianov <xemul@openvz.org>

--- 6190 unchanged lines hidden (view full) ---

6199static void mem_cgroup_cancel_attach(struct cgroup_taskset *tset)
6200{
6201}
6202static void mem_cgroup_move_task(void)
6203{
6204}
6205#endif
6206
6207#ifdef CONFIG_LRU_GEN
6208static void mem_cgroup_attach(struct cgroup_taskset *tset)
6209{
6210 struct task_struct *task;
6211 struct cgroup_subsys_state *css;
6212
6213 /* find the first leader if there is any */
6214 cgroup_taskset_for_each_leader(task, css, tset)
6215 break;
6216
6217 if (!task)
6218 return;
6219
6220 task_lock(task);
6221 if (task->mm && READ_ONCE(task->mm->owner) == task)
6222 lru_gen_migrate_mm(task->mm);
6223 task_unlock(task);
6224}
6225#else
6226static void mem_cgroup_attach(struct cgroup_taskset *tset)
6227{
6228}
6229#endif /* CONFIG_LRU_GEN */
6230
6207static int seq_puts_memcg_tunable(struct seq_file *m, unsigned long value)
6208{
6209 if (value == PAGE_COUNTER_MAX)
6210 seq_puts(m, "max\n");
6211 else
6212 seq_printf(m, "%llu\n", (u64)value * PAGE_SIZE);
6213
6214 return 0;

--- 389 unchanged lines hidden (view full) ---

6604 .css_alloc = mem_cgroup_css_alloc,
6605 .css_online = mem_cgroup_css_online,
6606 .css_offline = mem_cgroup_css_offline,
6607 .css_released = mem_cgroup_css_released,
6608 .css_free = mem_cgroup_css_free,
6609 .css_reset = mem_cgroup_css_reset,
6610 .css_rstat_flush = mem_cgroup_css_rstat_flush,
6611 .can_attach = mem_cgroup_can_attach,
6231static int seq_puts_memcg_tunable(struct seq_file *m, unsigned long value)
6232{
6233 if (value == PAGE_COUNTER_MAX)
6234 seq_puts(m, "max\n");
6235 else
6236 seq_printf(m, "%llu\n", (u64)value * PAGE_SIZE);
6237
6238 return 0;

--- 389 unchanged lines hidden (view full) ---

6628 .css_alloc = mem_cgroup_css_alloc,
6629 .css_online = mem_cgroup_css_online,
6630 .css_offline = mem_cgroup_css_offline,
6631 .css_released = mem_cgroup_css_released,
6632 .css_free = mem_cgroup_css_free,
6633 .css_reset = mem_cgroup_css_reset,
6634 .css_rstat_flush = mem_cgroup_css_rstat_flush,
6635 .can_attach = mem_cgroup_can_attach,
6636 .attach = mem_cgroup_attach,
6612 .cancel_attach = mem_cgroup_cancel_attach,
6613 .post_attach = mem_cgroup_move_task,
6614 .dfl_cftypes = memory_files,
6615 .legacy_cftypes = mem_cgroup_legacy_files,
6616 .early_init = 0,
6617};
6618
6619/*

--- 1093 unchanged lines hidden ---
6637 .cancel_attach = mem_cgroup_cancel_attach,
6638 .post_attach = mem_cgroup_move_task,
6639 .dfl_cftypes = memory_files,
6640 .legacy_cftypes = mem_cgroup_legacy_files,
6641 .early_init = 0,
6642};
6643
6644/*

--- 1093 unchanged lines hidden ---