cgroup, memcg: move cgroup->event_list[_lock] and event callbacks into memcg
authorTejun Heo <tj@kernel.org>
Fri, 22 Nov 2013 23:20:43 +0000 (18:20 -0500)
committerTejun Heo <tj@kernel.org>
Fri, 22 Nov 2013 23:20:43 +0000 (18:20 -0500)
commitfba94807837850e211f8975e1970e23e7804ff4d
treec26b1b43027424574532e3fa74ed4656e445334a
parentb5557c4c3b1a38074d7001b87c2482eda3a0834a
cgroup, memcg: move cgroup->event_list[_lock] and event callbacks into memcg

cgroup_event is being moved from cgroup core to memcg and the
implementation is already moved by the previous patch.  This patch
moves the data fields and callbacks.

* cgroup->event_list[_lock] are moved to mem_cgroup.

* cftype->[un]register_event() are moved to cgroup_event.  This makes
  it impossible for individual cftype definitions to specify their
  event callbacks.  This is worked around by simply hard-coding
  filename to event callback mapping in cgroup_write_event_control().
  This is awkward and inflexible, which is actually desirable given
  that we don't want to grow more usages of this feature.

* eventfd_ctx declaration is removed from cgroup.h, which makes
  vmpressure.h miss eventfd_ctx declaration.  Include eventfd.h from
  vmpressure.h.

v2: Use file name from dentry instead of cftype.  This will allow
    removing all cftype handling in the function.

Signed-off-by: Tejun Heo <tj@kernel.org>
Acked-by: Li Zefan <lizefan@huawei.com>
Acked-by: Kirill A. Shutemov <kirill.shutemov@linux.intel.com>
Acked-by: Michal Hocko <mhocko@suse.cz>
Cc: Johannes Weiner <hannes@cmpxchg.org>
Cc: Balbir Singh <bsingharora@gmail.com>
include/linux/cgroup.h
include/linux/vmpressure.h
kernel/cgroup.c
mm/memcontrol.c