Re: [PATCH 14/32] nohz/cpuset: Don't turn off the tick if rcu needs it

Peter Zijlstra
2011-08-29T15:36:54Z

On Mon, 2011-08-15 at 17:52 +0200, Frederic Weisbecker wrote:
> @@ -2446,6 +2447,19 @@ bool cpuset_nohz_can_stop_tick(void)
> if (rq->nr_running > 1)
> return false;
>
> + cpu = smp_processor_id();
> +
> + /*
> + * FIXME: will probably be removed soon as it's
> + * already checked from tick_nohz_stop_sched_tick()
> + */
> + if (rcu_needs_cpu(cpu))
> + return false;
> +
> + /* Is there a grace period to complete ? */
> + if (rcu_pending(cpu))
> + return false;
> +
> return true;
> }

This really shouldn't live in sched.c, also I would have expected
tick_nohz_can_stop_tick() to do this, its named like it does this.