Messages in this thread | | | Date | Tue, 30 Sep 2008 09:01:58 +0200 | From | Ingo Molnar <> | Subject | Re: [PATCH] sched: minor optimizations in wake_affine and select_task_rq_fair |
| |
* Chris Friesen <cfriesen@nortel.com> wrote:
> Amit K. Arora wrote: >> Hello, >> >> Please consider this patch. It makes a few minor changes to >> sched_fair.c. >> >> >> sched: Minor optimizations in wake_affine and select_task_rq_fair >> >> This patch does following: >> o Reduces the number of arguments to wake_affine(). > > At what point is it cheaper to pass items as args rather than > recalculating them? If reducing the number of args is desirable, what > about removing the "this_cpu" and "prev_cpu" args and recalculating > them in wake_affine()?
it's usually not worth it, especially if it leads to duplicated calculations (and code) like:
+ unsigned int imbalance = 100 + (this_sd->imbalance_pct - 100) / 2;
gcc will optimize it away because it's all static functions, but still.
'size kernel/sched.o' should be a good guideline: if the .o's text section gets smaller due to a patch it usually gets faster as well.
Ingo
| |