[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <4889DCA4.4010800@fujitsu-siemens.com>
Date: Fri, 25 Jul 2008 16:01:08 +0200
From: Martin Wilck <martin.wilck@...itsu-siemens.com>
To: Cyrill Gorcunov <gorcunov@...il.com>
CC: Thomas Gleixner <tglx@...utronix.de>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"H. Peter Anvin" <hpa@...or.com>,
"Wichert, Gerhard" <Gerhard.Wichert@...itsu-siemens.com>,
"Maciej W. Rozycki" <macro@...ux-mips.org>
Subject: Re: [PATCH] x86 (64): make calibrate_APIC_clock() SMI-safe (take
3)
Cyrill Gorcunov wrote:
> Martin, if I understood you right - this means your patch is not
> needed?
The patch would still be needed. Just the reported failure of my
simplified patch on the old kernel would not have occurred in the
current kernel. IOW, the patch is fine for the current kernel, but not
for the old one.
> Actually on 64bit mode APIC_DIVISOR is a bit hidden in
> __setup_APIC_LVTT - you may see it as APIC_TDR_DIV_16 while setting
> up divisor register. I was proposing patch for that but it leaded
> to potetntial overflow (thanks Ingo for catching) so we leave it as
> is. Maybe I miss something?
The problem was not that the divisor 16 was used for the counter speed
(APIC_TDR_DIV_16), but that the old code set the counter start value to
(250000000/16) rather than just 250000000. That means the counter will
underflow earlier.
I am attaching a "take 3" patch which minimizes the risk of an underflow
by using the maximum possible initial value for the APIC timer.
Martin
--
Martin Wilck
PRIMERGY System Software Engineer
FSC IP ESP DEV 6
Fujitsu Siemens Computers GmbH
Heinz-Nixdorf-Ring 1
33106 Paderborn
Germany
Tel: ++49 5251 8 15113
Fax: ++49 5251 8 20209
Email: mailto:martin.wilck@...itsu-siemens.com
Internet: http://www.fujitsu-siemens.com
Company Details: http://www.fujitsu-siemens.com/imprint.html
--
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