Re: HT scheduler: is it really correct? or is it feature of HT?

From: Con Kolivas
Date: Thu May 19 2005 - 06:22:13 EST


On Thu, 19 May 2005 08:46 pm, Tetsuji "Maverick" Rai wrote:
> I've done a temporary minor hacking, which tells kernel only the half
> value of nice in all processes. Actually idle percentage was lowered,
> but the response of the main application became slower (as a matter of
> course.)
>
> I'm not sure which is better..if possible I want to take advantages of
> each one :) Am I expecting too much?

Yes you are. Hyperthreading (currently depending on workload) only gives you
on average 15-25% more cpu with multiple threads. You can't get something for
nothing. Either the nice 0 task runs slower because a low priority task is
bound to the sibling, or it runs at the same speed and the low priority task
runs for less. If you want the nice 19 task to use more cpu run it at nice 0
- because this is effectively what you are trying to do. If you want more cpu
you need extra true physical cpus, not logical cores.

Your code does not do what you think it is doing either. If you want to change
the bias between nice levels across logical cores search the code for where
the value of sd->per_cpu_gain is set. It is currently set to 25% and you want
to increase it (although as I said you will derive no real world benefit as
your nice 0 task will just slow down).

Cheers,
Con
-
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/