• Linus Torvalds's avatar
    Merge branch 'for-3.17' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup · 47dfe403
    Linus Torvalds authored
    Pull cgroup changes from Tejun Heo:
     "Mostly changes to get the v2 interface ready.  The core features are
      mostly ready now and I think it's reasonable to expect to drop the
      devel mask in one or two devel cycles at least for a subset of
      controllers.
    
       - cgroup added a controller dependency mechanism so that block cgroup
         can depend on memory cgroup.  This will be used to finally support
         IO provisioning on the writeback traffic, which is currently being
         implemented.
    
       - The v2 interface now uses a separate table so that the interface
         files for the new interface are explicitly declared in one place.
         Each controller will explicitly review and add the files for the
         new interface.
    
       - cpuset is getting ready for the hierarchical behavior which is in
         the similar style with other controllers so that an ancestor's
         configuration change doesn't change the descendants' configurations
         irreversibly and processes aren't silently migrated when a CPU or
         node goes down.
    
      All the changes are to the new interface and no behavior changed for
      the multiple hierarchies"
    
    * 'for-3.17' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup: (29 commits)
      cpuset: fix the WARN_ON() in update_nodemasks_hier()
      cgroup: initialize cgrp_dfl_root_inhibit_ss_mask from !->dfl_files test
      cgroup: make CFTYPE_ONLY_ON_DFL and CFTYPE_NO_ internal to cgroup core
      cgroup: distinguish the default and legacy hierarchies when handling cftypes
      cgroup: replace cgroup_add_cftypes() with cgroup_add_legacy_cftypes()
      cgroup: rename cgroup_subsys->base_cftypes to ->legacy_cftypes
      cgroup: split cgroup_base_files[] into cgroup_{dfl|legacy}_base_files[]
      cpuset: export effective masks to userspace
      cpuset: allow writing offlined masks to cpuset.cpus/mems
      cpuset: enable onlined cpu/node in effective masks
      cpuset: refactor cpuset_hotplug_update_tasks()
      cpuset: make cs->{cpus, mems}_allowed as user-configured masks
      cpuset: apply cs->effective_{cpus,mems}
      cpuset: initialize top_cpuset's configured masks at mount
      cpuset: use effective cpumask to build sched domains
      cpuset: inherit ancestor's masks if effective_{cpus, mems} becomes empty
      cpuset: update cs->effective_{cpus, mems} when config changes
      cpuset: update cpuset->effective_{cpus,mems} at hotplug
      cpuset: add cs->effective_cpus and cs->effective_mems
      cgroup: clean up sane_behavior handling
      ...
    47dfe403
memcontrol.c 187 KB