|
@@ -2595,20 +2595,6 @@ static bool is_sysidle_rcu_state(struct rcu_state *rsp)
|
|
|
return rsp == rcu_sysidle_state;
|
|
|
}
|
|
|
|
|
|
-/*
|
|
|
- * Bind the grace-period kthread for the sysidle flavor of RCU to the
|
|
|
- * timekeeping CPU.
|
|
|
- */
|
|
|
-static void rcu_bind_gp_kthread(void)
|
|
|
-{
|
|
|
- int cpu = ACCESS_ONCE(tick_do_timer_cpu);
|
|
|
-
|
|
|
- if (cpu < 0 || cpu >= nr_cpu_ids)
|
|
|
- return;
|
|
|
- if (raw_smp_processor_id() != cpu)
|
|
|
- set_cpus_allowed_ptr(current, cpumask_of(cpu));
|
|
|
-}
|
|
|
-
|
|
|
/*
|
|
|
* Return a delay in jiffies based on the number of CPUs, rcu_node
|
|
|
* leaf fanout, and jiffies tick rate. The idea is to allow larger
|
|
@@ -2819,10 +2805,6 @@ static bool is_sysidle_rcu_state(struct rcu_state *rsp)
|
|
|
return false;
|
|
|
}
|
|
|
|
|
|
-static void rcu_bind_gp_kthread(void)
|
|
|
-{
|
|
|
-}
|
|
|
-
|
|
|
static void rcu_sysidle_report_gp(struct rcu_state *rsp, int isidle,
|
|
|
unsigned long maxj)
|
|
|
{
|
|
@@ -2853,3 +2835,19 @@ static bool rcu_nohz_full_cpu(struct rcu_state *rsp)
|
|
|
#endif /* #ifdef CONFIG_NO_HZ_FULL */
|
|
|
return 0;
|
|
|
}
|
|
|
+
|
|
|
+/*
|
|
|
+ * Bind the grace-period kthread for the sysidle flavor of RCU to the
|
|
|
+ * timekeeping CPU.
|
|
|
+ */
|
|
|
+static void rcu_bind_gp_kthread(void)
|
|
|
+{
|
|
|
+#ifdef CONFIG_NO_HZ_FULL
|
|
|
+ int cpu = ACCESS_ONCE(tick_do_timer_cpu);
|
|
|
+
|
|
|
+ if (cpu < 0 || cpu >= nr_cpu_ids)
|
|
|
+ return;
|
|
|
+ if (raw_smp_processor_id() != cpu)
|
|
|
+ set_cpus_allowed_ptr(current, cpumask_of(cpu));
|
|
|
+#endif /* #ifdef CONFIG_NO_HZ_FULL */
|
|
|
+}
|