Re: [PATCH 3/3] sched: add_nr_running(): drop tick_nohz_full_cpu() check

From: Frederic Weisbecker
Date: Thu Sep 24 2015 - 10:44:28 EST


On Thu, Sep 10, 2015 at 03:58:27PM -0400, Luiz Capitulino wrote:
> tick_nohz_full_kick_cpu() performs the same check.
>
> Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
> ---
> kernel/sched/sched.h | 20 +++++++++-----------
> 1 file changed, 9 insertions(+), 11 deletions(-)
>
> diff --git a/kernel/sched/sched.h b/kernel/sched/sched.h
> index 68cda11..102eb18 100644
> --- a/kernel/sched/sched.h
> +++ b/kernel/sched/sched.h
> @@ -1323,17 +1323,15 @@ static inline void add_nr_running(struct rq *rq, unsigned count)
> #endif
>
> #ifdef CONFIG_NO_HZ_FULL
> - if (tick_nohz_full_cpu(rq->cpu)) {
> - /*
> - * Tick is needed if more than one task runs on a CPU.
> - * Send the target an IPI to kick it out of nohz mode.
> - *
> - * We assume that IPI implies full memory barrier and the
> - * new value of rq->nr_running is visible on reception
> - * from the target.
> - */
> - tick_nohz_full_kick_cpu(rq->cpu);
> - }
> + /*
> + * Tick is needed if more than one task runs on a CPU.
> + * Send the target an IPI to kick it out of nohz mode.
> + *
> + * We assume that IPI implies full memory barrier and the
> + * new value of rq->nr_running is visible on reception
> + * from the target.
> + */
> + tick_nohz_full_kick_cpu(rq->cpu);

Nope, we want to keep this because tick_nohz_full_cpu() does a static key check.
Most users don't care about nohz_full and I really want to keep nohz full off case
overhead to the bare minimum.

Thanks.

> #endif
> }
> }
> --
> 2.1.0
>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/