Messages in this thread | | | Date | Thu, 26 Jun 2008 16:49:32 -0300 | From | Breno Leitao <> | Subject | Re: [RFC/PATCH 0/3] sched: allow arch override of cpu power |
| |
Hi Nathan,
Nathan Lynch wrote: > There is an "interesting" quality of POWER6 cores, which each have 2 > hardware threads: assuming one thread on the core is idle, the primary > thread is a little "faster" than the secondary thread. To illustrate: > I found this feature interesting and decided to do some tests. After some tests I found that the example you post really runs fast in the first CPU, but a more "elaborated" application runs slower on the first CPU. Here is a small example:
# taskset 0x1 time -f "%e, %U, %S" ./a.out ; taskset 0x2 time -f "%e, %U, %S" ./a.out 10.77, 10.72, 0.01 10.53, 10.48, 0.01
# taskset 0x2 time -f "%e, %U, %S" ./a.out ; taskset 0x1 time -f "%e, %U, %S" ./a.out 10.55, 10.50, 0.01 10.77, 10.72, 0.01
# cat calc.c #include <stdio.h>
int main(){ int j = 0; float i = 42; srand(123); while (j++ < 100000000){ i = i*i + i; i = i/2 + random(2); }
printf("%d\n", i); return 0; } # cat /proc/cpuinfo processor : 0 cpu : POWER6 (architected), altivec supported clock : 5000.001000MHz revision : 3.2 (pvr 003e 0302)
processor : 1 cpu : POWER6 (architected), altivec supported clock : 5000.001000MHz revision : 3.2 (pvr 003e 0302) ...
Note that the IRQ are balanced among the 8 CPUs, and the machine is idle. Do you know why I get this difference? Something wrong with the test?
Thanks
Breno Leitao Linux Technology Center Brazil Phone: +55-16-8115-3915 (T/L: 839-1293) leitao@linux.vnet.ibm.com
| |