Messages in this thread |  | | Date | Sun, 07 Sep 2008 14:58:08 +0100 | | Subject | Re: nice and hyperthreading on atom | | From | "Phil Endecott" <> |
| |
Phil Endecott wrote: > Dear Experts, > > I have an ASUS Eee with an Atom processor, which has hyperthreading > enabled. If I have two processes, one nice and the other normal, they > each get 50% of the CPU time. Of course this is what you'd expect if > the scheduler didn't understand that the two virtual processors are not > really independent. I'd like to fix it.
I thought I'd try to quantify the effect with real processes. My "foreground" task is a compilation and my "background" task is a tight loop at nice -9. No doubt you would get different results with different tasks (amount of I/O, cache hit rate, different nice level etc.).
With no background task running, the foreground task takes 86s whether or not HT is enabled. With the background task running, the foreground task takes 97s with HT off and 104s with HT on. 104s is better than I was expecting; in fact it's close enough to 97s that the problem can be overlooked in this case.
I made a number of other measurements, of which the most significant is that the run time with no background task comes down to 63s with -j2 when HT is on. So for this compilation, hyperthreading makes the CPU perform like 1.36 uniprocessors (in some sense). I'll have to try to remember how to make -j2 the default...
Anyway, can I take it that the previous patches to improve this behaviour have never been merged?
Regards, Phil.
|  |