Re: [RFC 2/2] Make x86 calibrate_delay run in parallel.

From: Thomas Gleixner
Date: Thu Dec 16 2010 - 03:35:14 EST


On Tue, 14 Dec 2010, Robin@xxxxxxx wrote:
> On a 4096 cpu machine, we noticed that 318 seconds were taken for bringing
> up the cpus. By specifying lpj=<value>, we reduced that to 75 seconds.
> Andi Kleen suggested we rework the calibrate_delay calls to run in
> parallel. With that code in place, a test boot of the same machine took
> 61 seconds to bring the cups up. I am not sure how we beat the lpj=
> case, but it did outperform.

If you know that all cpus are running at the same speed, then you can
set lpj=firstcpu and juts calibrate the first cpu and take the value
for all others.

> One thing to note is the total BogoMIPS value is also consistently higher.
> I am wondering if this is an effect with the cores being in performance
> mode. I did notice that the parallel calibrate_delay calls did cause the

We really to know that. I mean the change from:

> bogomips : 4532.81
> bogomips : 4532.65
> bogomips : 4532.64
> bogomips : 4532.64

to

> bogomips : 4533.49
> bogomips : 7890.05
> bogomips : 9699.67
> bogomips : 10047.13

looks strange. The deviation is more than factor 2 and this is on the
same socket. So before we push that into the tree we better know
what's going on.

Thanks,

tglx

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