sched/cpuset: Only offer CONFIG_CPUSETS if SMP is enabled
authorNicolas Pitre <nicolas.pitre@linaro.org>
Wed, 14 Jun 2017 17:19:23 +0000 (13:19 -0400)
committerIngo Molnar <mingo@kernel.org>
Fri, 23 Jun 2017 08:46:44 +0000 (10:46 +0200)
Make CONFIG_CPUSETS=y depend on SMP as this feature makes no sense
on UP. This allows for configuring out cpuset_cpumask_can_shrink()
and task_can_attach() entirely, which shrinks the kernel a bit.

Signed-off-by: Nicolas Pitre <nico@linaro.org>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Link: http://lkml.kernel.org/r/20170614171926.8345-2-nicolas.pitre@linaro.org
Signed-off-by: Ingo Molnar <mingo@kernel.org>
init/Kconfig
kernel/sched/core.c

index 1d3475f..c359038 100644 (file)
@@ -1156,6 +1156,7 @@ config CGROUP_HUGETLB
 
 config CPUSETS
        bool "Cpuset controller"
+       depends on SMP
        help
          This option will let you create and manage CPUSETs which
          allow dynamically partitioning a system into sets of CPUs and
index 62166da..7faf4b3 100644 (file)
@@ -5451,6 +5451,8 @@ void init_idle(struct task_struct *idle, int cpu)
 #endif
 }
 
+#ifdef CONFIG_SMP
+
 int cpuset_cpumask_can_shrink(const struct cpumask *cur,
                              const struct cpumask *trial)
 {
@@ -5494,7 +5496,6 @@ int task_can_attach(struct task_struct *p,
                goto out;
        }
 
-#ifdef CONFIG_SMP
        if (dl_task(p) && !cpumask_intersects(task_rq(p)->rd->span,
                                              cs_cpus_allowed)) {
                unsigned int dest_cpu = cpumask_any_and(cpu_active_mask,
@@ -5524,13 +5525,11 @@ int task_can_attach(struct task_struct *p,
                rcu_read_unlock_sched();
 
        }
-#endif
+
 out:
        return ret;
 }
 
-#ifdef CONFIG_SMP
-
 bool sched_smp_initialized __read_mostly;
 
 #ifdef CONFIG_NUMA_BALANCING