On 1 October 2012 05:47, Viresh Kumar viresh.kumar@linaro.org wrote:
On 1 October 2012 06:02, Tejun Heo tj@kernel.org wrote:
It isn't about the CPU being actually idle?
No. Being idle only from scheduler's perspective. :)
Also, if it's only about timers, shouldn't it be enough to implement it for timer and delayed_work?
What if we need a timer, which must re-arm itself + schedule a work? delayed_work will not be sufficient in that case, and we would need to use normal work.
If i am not wrong, there can be other future users of this routine too. @Vincent: Can you please comment on this?
The goal is to consolidate the place, where the selection of a target CPU for running something is done. The scheduler should select the CPU in order to have coherent behaviour of all framework.
A delayed work can be delayed for a long period and the target CPU that have been selected for the timer could not be the best place to queue a work any more.
The goal is to be able to migrate a work if the scheduler thinks that' is necessary.
Vincent
It would be great if you explain what you're trying to achieve how. I can't tell what you're aiming for and why that would be beneficial from these submissions.
Following slides are implemented by Vincent and presented during LPC. Please have a look at them, they explain the problem statement well:
http://www.linuxplumbersconf.org/2012/wp-content/uploads/2012/08/lpc2012-sch...
Specifically slides: 12 & 19.
There aren't too many users with this behavior, but even a single user will be sufficient not to let the cpu get idle at all. And that will result in less power saving.
-- viresh