sched/topology: Small cleanup
authorPeter Zijlstra <peterz@infradead.org>
Tue, 25 Apr 2017 13:29:40 +0000 (15:29 +0200)
committerIngo Molnar <mingo@kernel.org>
Mon, 15 May 2017 08:15:29 +0000 (10:15 +0200)
Move the allocation of topology specific cpumasks into the topology
code.

Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Mike Galbraith <efault@gmx.de>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: linux-kernel@vger.kernel.org
Signed-off-by: Ingo Molnar <mingo@kernel.org>
kernel/sched/core.c
kernel/sched/sched.h
kernel/sched/topology.c

index 5794f4acad151d8108e3e2efba5f4d64b72a9fe4..dde5d1e860f0683f061dcae8993a35d4b4dd4537 100644 (file)
@@ -5958,7 +5958,6 @@ void __init sched_init_smp(void)
        cpumask_var_t non_isolated_cpus;
 
        alloc_cpumask_var(&non_isolated_cpus, GFP_KERNEL);
-       alloc_cpumask_var(&fallback_doms, GFP_KERNEL);
 
        sched_init_numa();
 
@@ -5968,7 +5967,7 @@ void __init sched_init_smp(void)
         * happen.
         */
        mutex_lock(&sched_domains_mutex);
-       init_sched_domains(cpu_active_mask);
+       sched_init_domains(cpu_active_mask);
        cpumask_andnot(non_isolated_cpus, cpu_possible_mask, cpu_isolated_map);
        if (cpumask_empty(non_isolated_cpus))
                cpumask_set_cpu(smp_processor_id(), non_isolated_cpus);
@@ -6197,7 +6196,6 @@ void __init sched_init(void)
        calc_load_update = jiffies + LOAD_FREQ;
 
 #ifdef CONFIG_SMP
-       zalloc_cpumask_var(&sched_domains_tmpmask, GFP_NOWAIT);
        /* May be allocated at isolcpus cmdline parse time */
        if (cpu_isolated_map == NULL)
                zalloc_cpumask_var(&cpu_isolated_map, GFP_NOWAIT);
index 6dda2aab731e04c5e1f88272f180f44df22e907a..6e1eae717a2421290428d23808eb0ecc356481b1 100644 (file)
@@ -606,11 +606,9 @@ struct root_domain {
 
 extern struct root_domain def_root_domain;
 extern struct mutex sched_domains_mutex;
-extern cpumask_var_t fallback_doms;
-extern cpumask_var_t sched_domains_tmpmask;
 
 extern void init_defrootdomain(void);
-extern int init_sched_domains(const struct cpumask *cpu_map);
+extern int sched_init_domains(const struct cpumask *cpu_map);
 extern void rq_attach_root(struct rq *rq, struct root_domain *rd);
 
 #endif /* CONFIG_SMP */
index 09563c1d1d5b4b7cb39f2e410bf0660d8418194a..a4b868c76f3cf054819ce9fdee3f452961d97d0f 100644 (file)
@@ -1526,7 +1526,7 @@ static struct sched_domain_attr           *dattr_cur;
  * cpumask) fails, then fallback to a single sched domain,
  * as determined by the single cpumask fallback_doms.
  */
-cpumask_var_t                          fallback_doms;
+static cpumask_var_t                   fallback_doms;
 
 /*
  * arch_update_cpu_topology lets virtualized architectures update the
@@ -1568,10 +1568,13 @@ void free_sched_domains(cpumask_var_t doms[], unsigned int ndoms)
  * For now this just excludes isolated CPUs, but could be used to
  * exclude other special cases in the future.
  */
-int init_sched_domains(const struct cpumask *cpu_map)
+int sched_init_domains(const struct cpumask *cpu_map)
 {
        int err;
 
+       zalloc_cpumask_var(&sched_domains_tmpmask, GFP_KERNEL);
+       zalloc_cpumask_var(&fallback_doms, GFP_KERNEL);
+
        arch_update_cpu_topology();
        ndoms_cur = 1;
        doms_cur = alloc_sched_domains(ndoms_cur);