sched/isolation: Move housekeeping related code to its own file
[linux-2.6-block.git] / kernel / time / tick-sched.c
index 7b258c59d78a92dd9f819bd347e448f8670cc95b..27d7d522ac4e35442c462aa2114ae32f25d8c862 100644 (file)
@@ -166,7 +166,6 @@ static void tick_sched_handle(struct tick_sched *ts, struct pt_regs *regs)
 
 #ifdef CONFIG_NO_HZ_FULL
 cpumask_var_t tick_nohz_full_mask;
-cpumask_var_t housekeeping_mask;
 bool tick_nohz_full_running;
 static atomic_t tick_dep_mask;
 
@@ -438,13 +437,6 @@ void __init tick_nohz_init(void)
                        return;
        }
 
-       if (!alloc_cpumask_var(&housekeeping_mask, GFP_KERNEL)) {
-               WARN(1, "NO_HZ: Can't allocate not-full dynticks cpumask\n");
-               cpumask_clear(tick_nohz_full_mask);
-               tick_nohz_full_running = false;
-               return;
-       }
-
        /*
         * Full dynticks uses irq work to drive the tick rescheduling on safe
         * locking contexts. But then we need irq work to raise its own
@@ -453,7 +445,6 @@ void __init tick_nohz_init(void)
        if (!arch_irq_work_has_interrupt()) {
                pr_warn("NO_HZ: Can't run full dynticks because arch doesn't support irq work self-IPIs\n");
                cpumask_clear(tick_nohz_full_mask);
-               cpumask_copy(housekeeping_mask, cpu_possible_mask);
                tick_nohz_full_running = false;
                return;
        }
@@ -466,9 +457,6 @@ void __init tick_nohz_init(void)
                cpumask_clear_cpu(cpu, tick_nohz_full_mask);
        }
 
-       cpumask_andnot(housekeeping_mask,
-                      cpu_possible_mask, tick_nohz_full_mask);
-
        for_each_cpu(cpu, tick_nohz_full_mask)
                context_tracking_cpu_set(cpu);
 
@@ -478,12 +466,6 @@ void __init tick_nohz_init(void)
        WARN_ON(ret < 0);
        pr_info("NO_HZ: Full dynticks CPUs: %*pbl.\n",
                cpumask_pr_args(tick_nohz_full_mask));
-
-       /*
-        * We need at least one CPU to handle housekeeping work such
-        * as timekeeping, unbound timers, workqueues, ...
-        */
-       WARN_ON_ONCE(cpumask_empty(housekeeping_mask));
 }
 #endif