diff options
| author | Tejun Heo <tj@kernel.org> | 2013-11-22 18:20:42 -0500 | 
|---|---|---|
| committer | Tejun Heo <tj@kernel.org> | 2013-11-22 18:20:42 -0500 | 
| commit | 79bd9814e5ec9a288d6599f53aeac0b548fdfe52 (patch) | |
| tree | 3eea32952c52e0d32de841156c4b68e7b8278053 /init | |
| parent | 5e01dc7b26d9f24f39abace5da98ccbd6a5ceb52 (diff) | |
| download | linux-79bd9814e5ec9a288d6599f53aeac0b548fdfe52.tar.bz2 | |
cgroup, memcg: move cgroup_event implementation to memcg
cgroup_event is way over-designed and tries to build a generic
flexible event mechanism into cgroup - fully customizable event
specification for each user of the interface.  This is utterly
unnecessary and overboard especially in the light of the planned
unified hierarchy as there's gonna be single agent.  Simply generating
events at fixed points, or if that's too restrictive, configureable
cadence or single set of configureable points should be enough.
Thankfully, memcg is the only user and gets to keep it.  Replacing it
with something simpler on sane_behavior is strongly recommended.
This patch moves cgroup_event and "cgroup.event_control"
implementation to mm/memcontrol.c.  Clearing of events on cgroup
destruction is moved from cgroup_destroy_locked() to
mem_cgroup_css_offline(), which shouldn't make any noticeable
difference.
cgroup_css() and __file_cft() are exported to enable the move;
however, this will soon be reverted once the event code is updated to
be memcg specific.
Note that "cgroup.event_control" will now exist only on the hierarchy
with memcg attached to it.  While this change is visible to userland,
it is unlikely to be noticeable as the file has never been meaningful
outside memcg.
Aside from the above change, this is pure code relocation.
v2: Per Li Zefan's comments, init/Kconfig updated accordingly and
    poll.h inclusion moved from cgroup.c to memcontrol.c.
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>
Diffstat (limited to 'init')
| -rw-r--r-- | init/Kconfig | 3 | 
1 files changed, 1 insertions, 2 deletions
| diff --git a/init/Kconfig b/init/Kconfig index 3ecd8a1178f1..3ca5b8110b0c 100644 --- a/init/Kconfig +++ b/init/Kconfig @@ -861,7 +861,6 @@ config NUMA_BALANCING  menuconfig CGROUPS  	boolean "Control Group support" -	depends on EVENTFD  	help  	  This option adds support for grouping sets of processes together, for  	  use with process control subsystems such as Cpusets, CFS, memory @@ -928,6 +927,7 @@ config MEMCG  	bool "Memory Resource Controller for Control Groups"  	depends on RESOURCE_COUNTERS  	select MM_OWNER +	select EVENTFD  	help  	  Provides a memory resource controller that manages both anonymous  	  memory and page cache. (See Documentation/cgroups/memory.txt) @@ -1167,7 +1167,6 @@ config UIDGID_STRICT_TYPE_CHECKS  config SCHED_AUTOGROUP  	bool "Automatic process group scheduling" -	select EVENTFD  	select CGROUPS  	select CGROUP_SCHED  	select FAIR_GROUP_SCHED |