Messages in this thread | | | Date | Mon, 1 Oct 2012 11:12:17 +0200 | Subject | Re: [PATCH V2 3/3] workqueue: Schedule work on non-idle cpu instead of current one | From | Vincent Guittot <> |
| |
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-sched-timer-workqueue.pdf > > 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
| |