]> asedeno.scripts.mit.edu Git - linux.git/commit
cpuset: Define data structures to support scheduling partition
authorWaiman Long <longman@redhat.com>
Thu, 8 Nov 2018 15:08:36 +0000 (10:08 -0500)
committerTejun Heo <tj@kernel.org>
Thu, 8 Nov 2018 20:27:27 +0000 (12:27 -0800)
commit58b7484250db8da0d49bdd289c877ccd3319575c
tree6e5580e0ca1c5c60fb5e7ab392fa73a0f19444a9
parent4ec22e9c5a90e3809dd52014d5d239af8831a520
cpuset: Define data structures to support scheduling partition

>From a cpuset point of view, a scheduling partition is a group of
cpusets with their own set of exclusive CPUs that are not shared by
other tasks outside the scheduling partition.

In the legacy hierarchy, scheduling partitions are supported indirectly
via the right use of the load balancing and the exclusive CPUs flag
which is not intuitive and can be hard to use.

To fully support the concept of scheduling partitions in the default
hierarchy, we need to add some new field into the cpuset structure as
well as a new tmpmasks structure that is used to pre-allocate cpumasks
at the top level cpuset functions to avoid memory allocation in inner
functions as memory allocation failure in those inner functions may
cause a cpuset to have inconsistent states.

Signed-off-by: Waiman Long <longman@redhat.com>
Acked-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Signed-off-by: Tejun Heo <tj@kernel.org>
kernel/cgroup/cpuset.c