Re: [PATCH 2/4] sched/fair: Introduce idle enter/exit balance callbacks

From: Peter Zijlstra
Date: Mon Jun 20 2016 - 14:41:52 EST


On Mon, Jun 20, 2016 at 02:15:12PM +0200, Jiri Olsa wrote:
> Introducing idle enter/exit balance callbacks to keep
> balance.idle_cpus_mask cpumask of current idle cpus
> in system.
>
> It's used only when REBALANCE_AFFINITY feature is
> switched on. The code functionality of this feature
> is introduced in following patch.
>
> Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx>
> ---
> kernel/sched/fair.c | 32 ++++++++++++++++++++++++++++++++
> kernel/sched/idle.c | 2 ++
> kernel/sched/sched.h | 3 +++
> 3 files changed, 37 insertions(+)
>
> diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c
> index f19c9435c64d..78c4127f2f3a 100644
> --- a/kernel/sched/fair.c
> +++ b/kernel/sched/fair.c
> @@ -7802,6 +7802,37 @@ static inline int on_null_domain(struct rq *rq)
> return unlikely(!rcu_dereference_sched(rq->sd));
> }
>
> +static struct {
> + cpumask_var_t idle_cpus_mask;
> + atomic_t nr_cpus;
> +} balance ____cacheline_aligned;

How is this different from the nohz idle cpu mask?