cpusets: allow cpusets to be configured/built on non-SMP systems
Allow cpusets to be configured/built on non-SMP systems Currently it's impossible to build cpusets under UML on x86-64, since cpusets depends on SMP and x86-64 UML doesn't support SMP. There's code in cpusets that doesn't depend on SMP. This patch surrounds the minimum amount of cpusets code with #ifdef CONFIG_SMP in order to allow cpusets to build/run on UP systems (for testing purposes under UML). Reviewed-by: Li Zefan <lizf@cn.fujitsu.com> Signed-off-by: Paul Menage <menage@google.com> Cc: Ingo Molnar <mingo@elte.hu> Cc: Peter Zijlstra <a.p.zijlstra@chello.nl> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
parent
a1bc5a4eee
commit
db7f47cf48
2 changed files with 16 additions and 1 deletions
|
@ -531,7 +531,7 @@ config CGROUP_DEVICE
|
|||
|
||||
config CPUSETS
|
||||
bool "Cpuset support"
|
||||
depends on SMP && CGROUPS
|
||||
depends on CGROUPS
|
||||
help
|
||||
This option will let you create and manage CPUSETs which
|
||||
allow dynamically partitioning a system into sets of CPUs and
|
||||
|
|
|
@ -517,6 +517,7 @@ static int validate_change(const struct cpuset *cur, const struct cpuset *trial)
|
|||
return 0;
|
||||
}
|
||||
|
||||
#ifdef CONFIG_SMP
|
||||
/*
|
||||
* Helper routine for generate_sched_domains().
|
||||
* Do cpusets a, b have overlapping cpus_allowed masks?
|
||||
|
@ -811,6 +812,18 @@ static void do_rebuild_sched_domains(struct work_struct *unused)
|
|||
|
||||
put_online_cpus();
|
||||
}
|
||||
#else /* !CONFIG_SMP */
|
||||
static void do_rebuild_sched_domains(struct work_struct *unused)
|
||||
{
|
||||
}
|
||||
|
||||
static int generate_sched_domains(struct cpumask **domains,
|
||||
struct sched_domain_attr **attributes)
|
||||
{
|
||||
*domains = NULL;
|
||||
return 1;
|
||||
}
|
||||
#endif /* CONFIG_SMP */
|
||||
|
||||
static DECLARE_WORK(rebuild_sched_domains_work, do_rebuild_sched_domains);
|
||||
|
||||
|
@ -1164,8 +1177,10 @@ int current_cpuset_is_being_rebound(void)
|
|||
|
||||
static int update_relax_domain_level(struct cpuset *cs, s64 val)
|
||||
{
|
||||
#ifdef CONFIG_SMP
|
||||
if (val < -1 || val >= SD_LV_MAX)
|
||||
return -EINVAL;
|
||||
#endif
|
||||
|
||||
if (val != cs->relax_domain_level) {
|
||||
cs->relax_domain_level = val;
|
||||
|
|
Loading…
Reference in a new issue