Re: [PATCH] fix dynticks for voyager

From: Thomas Gleixner
Date: Mon Apr 30 2007 - 18:11:20 EST


On Mon, 2007-04-30 at 11:38 -0500, James Bottomley wrote:
> As usual voyager tripped over an explicit boot CPU is zero assumption in
> the dynticks code. This is the fix I have queued in the voyager tree.

I expected some kind of voyager breakage. I desperately tried to find
one for testing in my museum of bizarre hardware to avoid this,
but ... :)

tglx

> ---
>
> >From 5d3e489cf8fcf12eff92476098b9bfa0120ee3c7 Mon Sep 17 00:00:00 2001
> From: James Bottomley <James.Bottomley@xxxxxxxxxxxxxxxxxxxxx>
> Date: Mon, 30 Apr 2007 11:27:25 -0500
> Subject: [VOYAGER] clockevents: correct boot cpu is zero assumption
>
> This isn't true for voyager, so alter setup_pit_timer() to initialise
> the cpumask from the current processor id (which should be the boot
> processor) rather than defaulting to zero.
>
> Signed-off-by: James Bottomley <James.Bottomley@xxxxxxxxxxxxxxxxxxxxx>

Acked-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx>

> ---
> arch/i386/kernel/i8253.c | 2 +-
> 1 files changed, 1 insertions(+), 1 deletions(-)
>
> diff --git a/arch/i386/kernel/i8253.c b/arch/i386/kernel/i8253.c
> index 10cef5c..f8a3c40 100644
> --- a/arch/i386/kernel/i8253.c
> +++ b/arch/i386/kernel/i8253.c
> @@ -110,7 +110,7 @@ void __init setup_pit_timer(void)
> * Start pit with the boot cpu mask and make it global after the
> * IO_APIC has been initialized.
> */
> - pit_clockevent.cpumask = cpumask_of_cpu(0);
> + pit_clockevent.cpumask = cpumask_of_cpu(smp_processor_id());
> pit_clockevent.mult = div_sc(CLOCK_TICK_RATE, NSEC_PER_SEC, 32);
> pit_clockevent.max_delta_ns =
> clockevent_delta2ns(0x7FFF, &pit_clockevent);

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