Re: [PATCH 3/5] metag: smp: don't spin waiting for CPU to start

From: James Hogan
Date: Mon Jul 01 2013 - 18:02:09 EST


On 1 July 2013 22:46, Thomas Gleixner <tglx@xxxxxxxxxxxxx> wrote:
> On Mon, 1 Jul 2013, James Hogan wrote:
>> Use a completion to block until a secondary CPU has started up, like ARM
>> do, instead of a loop of udelays.
>>
>> On Meta, SMP is really SMT, with each "CPU" being a different hardware
>> thread on the same Meta processor core, so as well as being more
>> efficient and latency friendly, using a completion prevents the bogomips
>> of the secondary CPU from being drastically skewed every time by the
>> execution of the tight in-cache udelay loop on the other CPU.
>
> The least of our worries is the correctness of bogomips. But if that
> patch makes bogomips less bogus while fixing a real issue, please add
> my
>
> Acked-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx>

Yes, it's not so much the absolute value, but that secondary cpus will
have a bogomips around 25% higher than the boot cpu, even though they
should be about equal (ignoring the effects of other cpus). If I
understand correctly, all else being equal this would make udelay
block for a different amount of time on different cpus (although I
haven't tried measuring it).

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