Re: [RFC] sched: Ensure cpu_power periodic update

From: Peter Zijlstra
Date: Thu Dec 15 2011 - 05:09:28 EST


On Mon, 2011-12-12 at 20:21 +0100, Vincent Guittot wrote:
> With a lot of small tasks, the softirq sched is nearly never called
> when no_hz is enable. In this case the load_balance is mainly called with
> the newly_idle mode which doesn't update the cpu_power.
> Add a next_update field which ensure a maximum update period when
> there is short activity

> + if (local_group) {
> + if (idle != CPU_NEWLY_IDLE) {
> + if (balance_cpu != this_cpu) {
> + *balance = 0;
> + return;
> + }
> + update_group_power(sd, this_cpu);
> + } else if (time_after_eq(jiffies, group->sgp->next_update))
> + update_group_power(sd, this_cpu);
> }

Hmm, I would have expected it to be called from the NOHZ balancing path
instead of the new_idle path. Your changelog fails to mentions any
considerations on this..

Then again, its probably easier to keep update_group_power on this_cpu
than to allow a remote update of your cpu_power.

So I'm not opposed to this patch, I'd just like a little extra
clarification.
--
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/