On 7 January 2014 14:17, Peter Zijlstra peterz@infradead.org wrote:
On Mon, Dec 23, 2013 at 01:48:02PM +0530, Viresh Kumar wrote:
*But wouldn't it make sense if we can tell scheduler that don't queue these works on a CPU that is running in NO_HZ_FULL mode?*
No,.. that's the wrong way around.
Hmm.. Just to make it clear I didn't meant that any input from workqueue code should go to scheduler but something like this:
Scheduler will check following before pushing a task on any CPU: - If that CPU is part of NO_HZ_FULL cpu list? - If yes, is that CPU running only one task for now? i.e. running task for best performance case? - If yes, then don't queue new task to that CPU, whether task belongs to workqueue or not doesn't matter.
That looks to be a normal unpinned timer, it should migrate to a 'busy' cpu once the one its running on it going idle.
ISTR people trying to make that active and also migrating on nohz full or somesuch, just like the workqueues. Forgot what happened with that; if it got dropped it should probably be ressurected.
I will search for that in archives..