On Mon, 2013-01-07 at 23:29 +0530, Viresh Kumar wrote:
By default, I would suggest for cache locality, that we try to keep it on the same CPU. But if there's a better CPU to run on, it runs there.
That would break our intention behind this routine. We should run it on a cpu which we think is the best one for it power/performance wise.
If you are running on a big.Little box sure. But for normal (read x86 ;) systems, it should probably stay on the current CPU.
So, i would like to call the sched_select_cpu() routine from this routine to get the suggested cpu.
Does the caller need to know? Or if you have a big.LITTLE setup, it should just work automagically?
This routine would however would see more changes later to optimize it more.
Also, we could still add a debug option that makes it always run on other CPUs to slap developers that don't read.
I don't think we need it :( It would be a new API, with zero existing users. And so, whomsoever uses it, should know what exactly he is doing :)
Heh, you don't know kernel developers well do you? ;-)
Once a new API is added to the kernel tree, it quickly becomes (mis)used.
-- Steve