On Thu 26-03-15 11:09:01, Viresh Kumar wrote: > A delayed work to schedule vmstat_shepherd() is queued at periodic intervals > for > internal working of vmstat core. This work and its timer end up waking an idle > cpu sometimes, as this always stays on CPU0. > > Because we re-queue the work from its handler, idle_cpu() returns false and so > the timer (used by delayed work) never migrates to any other CPU. > > This may not be the desired behavior always as waking up an idle CPU to queue > work on few other CPUs isn't good from power-consumption point of view.
Wouldn't something like I was suggesting few months back (http://article.gmane.org/gmane.linux.kernel.mm/127569) solve this problem as well? Scheduler should be idle aware, no? I mean it shouldn't wake up an idle CPU if the task might run on another one. -- Michal Hocko SUSE Labs -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/