/* One cpuset is a subset of another if all its allowed CPUs and Memory Nodes are a subset of the other, and its exclusive flags are only set if the other's are set. Call holding cgroup_mutex.  */
static int is_cpuset_subset(const struct cpuset *p, const struct cpuset *q)
/* One cpuset is a subset of another if all its allowed CPUs and Memory Nodes are a subset of the other, and its exclusive flags are only set if the other's are set. Call holding cgroup_mutex.  */
static int is_cpuset_subset(const struct cpuset *p, const struct cpuset *q)
{
	return	cpumask_subset(p->cpus_allowed, q->cpus_allowed) &&
		nodes_subset(p->mems_allowed, q->mems_allowed) &&
		is_cpu_exclusive(p) <= is_cpu_exclusive(q) &&
		is_mem_exclusive(p) <= is_mem_exclusive(q);
}