[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <1160041705.9060.35.camel@localhost.localdomain>
Date: Thu, 05 Oct 2006 11:48:25 +0200
From: Thomas Gleixner <tglx@...utronix.de>
To: Andrew Morton <akpm@...l.org>
Cc: Ingo Molnar <mingo@...e.hu>, LKML <linux-kernel@...r.kernel.org>,
John Stultz <johnstul@...ibm.com>,
Valdis Kletnieks <valdis.kletnieks@...edu>,
Arjan van de Ven <arjan@...radead.org>,
Dave Jones <davej@...hat.com>,
David Woodhouse <dwmw2@...radead.org>,
Jim Gettys <jg@...top.org>,
Roman Zippel <zippel@...ux-m68k.org>
Subject: Re: [patch 00/22] high resolution timers / dynamic ticks - V3
On Thu, 2006-10-05 at 01:50 -0700, Andrew Morton wrote:
> The stock kernel shows a local-apic interrupt rate of 18Hz (HZ=250). Other
> times I've seen 13Hz.
>
> With this patch series applied, disabling the local apic in config fixes
> things up (using the PIT).
>
> With the stock kernel and SMP, the system is slow, but not _as_ slow.
> Bootup takes maybe twice as long, but not all week. This time the local
> APIC interrupt rate is 8Hz, so something peculiar is happening here -
> nothing is proportional.
The stock SMP kernel increases jiffies in IRQ0, while HIGH_RES=y
emulates the tick via the lapic timer. If you disable lapic, hrtimer
emulates via PIT in the HIGH_RES=y case.
> It'd be nice to fix the local apic rather than working around it. Any idea
> why it's doing this?
Not at all. Can you please apply the patch below and add "apic=verbose"
to the commandline ? This should give use some hint.
Watch out for "calibrating APIC timer ..." in the boot messages.
tglx
Index: linux-2.6.18-mm3/arch/i386/kernel/apic.c
===================================================================
--- linux-2.6.18-mm3.orig/arch/i386/kernel/apic.c 2006-10-04 19:11:08.000000000 +0200
+++ linux-2.6.18-mm3/arch/i386/kernel/apic.c 2006-10-05 11:33:04.000000000 +0200
@@ -1147,7 +1147,7 @@ static int __init calibrate_APIC_clock(v
lapic_clockevent.min_delta_ns =
clockevent_delta2ns(0xF, &lapic_clockevent);
- apic_printk(APIC_VERBOSE, "..... tt1-tt2 %ld\n", tt1 - tt2);
+ apic_printk(APIC_VERBOSE, "..... tt1: %ld tt2: %ld\n", tt1, tt2);
apic_printk(APIC_VERBOSE, "..... mult: %ld\n", lapic_clockevent.mult);
apic_printk(APIC_VERBOSE, "..... calibration result: %ld\n", result);
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists