On Mon, Jan 07, 2013 at 11:37:22PM +0530, Viresh Kumar wrote:
On 7 January 2013 20:34, Tejun Heo firstname.lastname@example.org wrote:
The latter part "not using idle cpu just for processing work" does apply to homogeneous systems too but as I wrote earlier work items don't spontaneously happen on an idle core. Something, including timer, needs to kick it. So, by definition, a CPU already isn't idle when a work item starts execution on it. What am I missing here?
We are talking about a core being idle from schedulers perspective :)
But it's not like cpu doesn't consume power if scheduler considers it idle, right? Can you please explain in detail how this contributes to saving power? Is it primarily about routing work items to lower power CPUs? And please don't point to presentation slides. They don't seem to explain much better and patches and the code should be able to describe themselves. Here, more so, as the desired behavior change and the resulting powersave are rather subtle.
Yeah, this could be a better solution, I think. Plus, it's not like finding the optimal cpu is free.
Thanks for the first part (When i shared this idea with Vincent and Amit, i wasn't sure at all about the feedback i will get from you and others, but i am very happy now :) ).
I couldn't understand the second part. We still need to search for a free cpu for this new routine. And the implementation would almost be same as the implementation of queue_work() in my initial patch
I meant that enforcing lookup for the "optimal" cpu on queue_work() by default would add overhead to the operation, which in cases (on most homogeneous configs) would lead to overhead without any realized benefit.
Let's start simple for now. If we really need it, we can always add more later.
:) Agreed. But i liked the idea from steven, we can have two routines: queue_work_on_any_cpu() and queue_work_on_cpus()
We can talk about specifics later but please try to *justify* each new interface. Please note that "putting work items to cpus which the scheduler considers idle" can't really be justification in itself.