On 02/25/2013 11:23 AM, Mike Galbraith wrote: > On Mon, 2013-02-25 at 10:23 +0800, Alex Shi wrote: > >> One of problem is the how to decide the criteria of the burst? If we set >> 5 waking up/ms is burst, we will lose 4 waking up/ms. >> another problem is the burst detection cost, we need tracking a period >> history info of the waking up, better on whole group. but that give the >> extra cost in burst. >> >> solution candidates: >> https://lkml.org/lkml/2013/1/21/316 >> After talk with MikeG, I remove the runnable load avg in performance >> load balance. > > One thing you could try is to make criteria depend on avg_idle. It will > slam to 2*migration_cost when a wakeup arrives after an ~extended idle. > You could perhaps extend it to cover new task wakeup as well, and use > that transition to invalidate history, switch to instantaneous until > fresh history can accumulate.
Sorry for can not get your points, would you like to goes to details? And still don't understand of the idle_stamp setting, idle_stamp was set in idle_balance(), if idle_balance doesn't pulled task, idle_stamp value kept. then even the cpu get tasks from another balancing, like periodic balance, fork/exec/wake balancing, the idle_stamp is still kept. So, when the cpu goes to next idle_balance(), it's highly possible to meet the avg_idle > migration_cost condition, and start try to pull tasks, nearly unconditionally. Does the idle_balance was designed to this? or we still should reset idle_stamp whichever we pulled a task? > > -Mike > -- Thanks Alex -- 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/