Commit 8ca8d89b authored by Linus Torvalds's avatar Linus Torvalds

Merge tag 'cgroup-for-6.3' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup

Pull cgroup updates from Tejun Heo:
 "All the changes are trivial: documentation updates and a trivial code
  cleanup"

* tag 'cgroup-for-6.3' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup:
  cgroup/cpuset: fix a few kernel-doc warnings & coding style
  docs: cgroup-v1: use numbered lists for user interface setup
  docs: cgroup-v1: add internal cross-references
  docs: cgroup-v1: make swap extension subsections subsections
  docs: cgroup-v1: use bullet lists for list of stat file tables
  docs: cgroup-v1: move hierarchy of accounting caption
  docs: cgroup-v1: fix footnotes
  docs: cgroup-v1: use code block for locking order schema
  docs: cgroup-v1: wrap remaining admonitions in admonition blocks
  docs: cgroup-v1: replace custom note constructs with appropriate admonition blocks
  cgroup/cpuset: no need to explicitly init a global static variable
parents 3e82b41e 32a47817
...@@ -80,6 +80,8 @@ access. For example, cpusets (see Documentation/admin-guide/cgroup-v1/cpusets.rs ...@@ -80,6 +80,8 @@ access. For example, cpusets (see Documentation/admin-guide/cgroup-v1/cpusets.rs
you to associate a set of CPUs and a set of memory nodes with the you to associate a set of CPUs and a set of memory nodes with the
tasks in each cgroup. tasks in each cgroup.
.. _cgroups-why-needed:
1.2 Why are cgroups needed ? 1.2 Why are cgroups needed ?
---------------------------- ----------------------------
......
...@@ -1271,7 +1271,7 @@ static int update_flag(cpuset_flagbits_t bit, struct cpuset *cs, ...@@ -1271,7 +1271,7 @@ static int update_flag(cpuset_flagbits_t bit, struct cpuset *cs,
int turning_on); int turning_on);
/** /**
* update_parent_subparts_cpumask - update subparts_cpus mask of parent cpuset * update_parent_subparts_cpumask - update subparts_cpus mask of parent cpuset
* @cpuset: The cpuset that requests change in partition root state * @cs: The cpuset that requests change in partition root state
* @cmd: Partition root state change command * @cmd: Partition root state change command
* @newmask: Optional new cpumask for partcmd_update * @newmask: Optional new cpumask for partcmd_update
* @tmp: Temporary addmask and delmask * @tmp: Temporary addmask and delmask
...@@ -3286,8 +3286,6 @@ struct cgroup_subsys cpuset_cgrp_subsys = { ...@@ -3286,8 +3286,6 @@ struct cgroup_subsys cpuset_cgrp_subsys = {
int __init cpuset_init(void) int __init cpuset_init(void)
{ {
BUG_ON(percpu_init_rwsem(&cpuset_rwsem));
BUG_ON(!alloc_cpumask_var(&top_cpuset.cpus_allowed, GFP_KERNEL)); BUG_ON(!alloc_cpumask_var(&top_cpuset.cpus_allowed, GFP_KERNEL));
BUG_ON(!alloc_cpumask_var(&top_cpuset.effective_cpus, GFP_KERNEL)); BUG_ON(!alloc_cpumask_var(&top_cpuset.effective_cpus, GFP_KERNEL));
BUG_ON(!zalloc_cpumask_var(&top_cpuset.subparts_cpus, GFP_KERNEL)); BUG_ON(!zalloc_cpumask_var(&top_cpuset.subparts_cpus, GFP_KERNEL));
...@@ -3907,8 +3905,7 @@ bool __cpuset_node_allowed(int node, gfp_t gfp_mask) ...@@ -3907,8 +3905,7 @@ bool __cpuset_node_allowed(int node, gfp_t gfp_mask)
} }
/** /**
* cpuset_mem_spread_node() - On which node to begin search for a file page * cpuset_spread_node() - On which node to begin search for a page
* cpuset_slab_spread_node() - On which node to begin search for a slab page
* *
* If a task is marked PF_SPREAD_PAGE or PF_SPREAD_SLAB (as for * If a task is marked PF_SPREAD_PAGE or PF_SPREAD_SLAB (as for
* tasks in a cpuset with is_spread_page or is_spread_slab set), * tasks in a cpuset with is_spread_page or is_spread_slab set),
...@@ -3932,12 +3929,14 @@ bool __cpuset_node_allowed(int node, gfp_t gfp_mask) ...@@ -3932,12 +3929,14 @@ bool __cpuset_node_allowed(int node, gfp_t gfp_mask)
* is passed an offline node, it will fall back to the local node. * is passed an offline node, it will fall back to the local node.
* See kmem_cache_alloc_node(). * See kmem_cache_alloc_node().
*/ */
static int cpuset_spread_node(int *rotor) static int cpuset_spread_node(int *rotor)
{ {
return *rotor = next_node_in(*rotor, current->mems_allowed); return *rotor = next_node_in(*rotor, current->mems_allowed);
} }
/**
* cpuset_mem_spread_node() - On which node to begin search for a file page
*/
int cpuset_mem_spread_node(void) int cpuset_mem_spread_node(void)
{ {
if (current->cpuset_mem_spread_rotor == NUMA_NO_NODE) if (current->cpuset_mem_spread_rotor == NUMA_NO_NODE)
...@@ -3947,6 +3946,9 @@ int cpuset_mem_spread_node(void) ...@@ -3947,6 +3946,9 @@ int cpuset_mem_spread_node(void)
return cpuset_spread_node(&current->cpuset_mem_spread_rotor); return cpuset_spread_node(&current->cpuset_mem_spread_rotor);
} }
/**
* cpuset_slab_spread_node() - On which node to begin search for a slab page
*/
int cpuset_slab_spread_node(void) int cpuset_slab_spread_node(void)
{ {
if (current->cpuset_slab_spread_rotor == NUMA_NO_NODE) if (current->cpuset_slab_spread_rotor == NUMA_NO_NODE)
...@@ -3955,7 +3957,6 @@ int cpuset_slab_spread_node(void) ...@@ -3955,7 +3957,6 @@ int cpuset_slab_spread_node(void)
return cpuset_spread_node(&current->cpuset_slab_spread_rotor); return cpuset_spread_node(&current->cpuset_slab_spread_rotor);
} }
EXPORT_SYMBOL_GPL(cpuset_mem_spread_node); EXPORT_SYMBOL_GPL(cpuset_mem_spread_node);
/** /**
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment