memcg: generate file modified notifications on "memory.events"
cgroup core only recently grew generic notification support. Wire up "memory.events" so that it triggers a file modified event whenever its content changes. v2: Refreshed on top of mem_cgroup relocation. Signed-off-by: Tejun Heo <tj@kernel.org> Acked-by: Michal Hocko <mhocko@kernel.org> Acked-by: Johannes Weiner <hannes@cmpxchg.org> Cc: Li Zefan <lizefan@huawei.com>
This commit is contained in:
Родитель
6f60eade24
Коммит
472912a2b5
|
@ -213,6 +213,9 @@ struct mem_cgroup {
|
|||
/* OOM-Killer disable */
|
||||
int oom_kill_disable;
|
||||
|
||||
/* handle for "memory.events" */
|
||||
struct cgroup_file events_file;
|
||||
|
||||
/* protect arrays of thresholds */
|
||||
struct mutex thresholds_lock;
|
||||
|
||||
|
@ -286,6 +289,7 @@ static inline void mem_cgroup_events(struct mem_cgroup *memcg,
|
|||
unsigned int nr)
|
||||
{
|
||||
this_cpu_add(memcg->stat->events[idx], nr);
|
||||
cgroup_file_notify(&memcg->events_file);
|
||||
}
|
||||
|
||||
bool mem_cgroup_low(struct mem_cgroup *root, struct mem_cgroup *memcg);
|
||||
|
|
|
@ -5202,6 +5202,7 @@ static struct cftype memory_files[] = {
|
|||
{
|
||||
.name = "events",
|
||||
.flags = CFTYPE_NOT_ON_ROOT,
|
||||
.file_offset = offsetof(struct mem_cgroup, events_file),
|
||||
.seq_show = memory_events_show,
|
||||
},
|
||||
{ } /* terminate */
|
||||
|
|
Загрузка…
Ссылка в новой задаче