Re: [patch 1/2] sched: Change the nohz ilb logic from pull to pushmodel

From: Peter Zijlstra
Date: Mon Dec 14 2009 - 17:18:37 EST


On Thu, 2009-12-10 at 17:27 -0800, venkatesh.pallipadi@xxxxxxxxx wrote:
> +/*
> + * idle load balancing details
> + * - One of the idle CPUs nominates itself as idle load_balancer, while
> + * entering idle.
> + * - With previous logic, this idle load balancer CPU will not go into
> + * tickless mode when it is idle and does the idle load balancing for
> + * all the idle CPUs.
> + * - With new logic, this idle load balancer CPU will also go into
> + * tickless mode when it is idle, just like all other idle CPUs
> + * - When one of the busy CPUs notice that there may be an idle rebalancing
> + * needed, they will kick the idle load balancer, which then does idle
> + * load balancing for all the idle CPUs.
> + * - As idle load balancing looks at the load of all the CPUs, not all busy
> + * CPUs need to do this idle load balancer kick.
> + * - first_pick_cpu is the one of the busy CPUs which will kick
> + * idle load balancer when it has more than one process active. This
> + * eliminates the need for idle load balancing altogether when we have
> + * only one running process in the system (common case).
> + * - If there are more than one busy CPU, idle load balancer may have
> + * to run for active_load_balance to happen (i.e., two busy CPUs are
> + * SMT or core siblings and can run better if they move to different
> + * physical CPUs). So, second_pick_cpu is the second of the busy CPUs
> + * which will kick idle load balancer as soon as it has any load.
> + * - With previous logic, idle load balancer used to run at every tick.
> + * With new logic, idle load balancer tracks the rq->next_balance for all
> + * the idle CPUs and does idle load balancing only when needed.
> + */

This isn't a very helpful comment for someone trying to understand the
current code who has never seen the previous bits.

Only describe the new behaviour, there is no point in describing
something that is not longer relevant.

--
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/