Re: [PATCH] sched: minor optimizations in wake_affine andselect_task_rq_fair

From: Ingo Molnar
Date: Tue Sep 30 2008 - 03:02:30 EST



* Chris Friesen <cfriesen@xxxxxxxxxx> 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
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/