Re: [RFC/PATCH 0/3] sched: allow arch override of cpu power

From: Breno Leitao
Date: Thu Jun 26 2008 - 15:49:48 EST


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@xxxxxxxxxxxxxxxxxx

--
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/