[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <200801191957.21832.ak@suse.de>
Date: Sat, 19 Jan 2008 19:57:21 +0100
From: Andi Kleen <ak@...e.de>
To: Ian Campbell <ijc@...lion.org.uk>
Cc: mingo@...e.hu, hpa@...or.com, tglx@...utronix.de,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH] [4/7] Convert TSC disabling to generic cpuid disable bitmap
On Saturday 19 January 2008 19:15:48 Ian Campbell wrote:
> On Fri, 2008-01-18 at 18:27 +0100, Andi Kleen wrote:
> > Index: linux/arch/x86/xen/time.c
> > ===================================================================
> > --- linux.orig/arch/x86/xen/time.c
> > +++ linux/arch/x86/xen/time.c
> > @@ -592,7 +592,7 @@ __init void xen_time_init(void)
> > set_normalized_timespec(&wall_to_monotonic,
> > -xtime.tv_sec, -xtime.tv_nsec);
> >
> > - tsc_disable = 0;
> > + setup_clear_cpu_cap(X86_FEATURE_TSC);
> >
> > xen_setup_timer(cpu);
> > xen_setup_cpu_clockevents();
>
> That inverts the meaning, doesn't it? Previously the code force the TSC
> to be on and now it forcefully disables it. Now when booting a Xen guest
> I get:
> Kernel panic - not syncing: Kernel compiled for Pentium+, requires TSC feature!
You're right -- i was a bit overzealous in search'n'replace with that one.
It's the only place who force enables TSC.
> diff --git a/arch/x86/xen/time.c b/arch/x86/xen/time.c
> index 6f5c74a..b3721fd 100644
> --- a/arch/x86/xen/time.c
> +++ b/arch/x86/xen/time.c
> @@ -592,7 +592,7 @@ __init void xen_time_init(void)
> set_normalized_timespec(&wall_to_monotonic,
> -xtime.tv_sec, -xtime.tv_nsec);
>
> - setup_clear_cpu_cap(X86_FEATURE_TSC);
> + setup_force_cpu_cap(X86_FEATURE_TSC);
Actually that would be only needed if someone else disabled TSC explicitely before.
Simply deleting this should be sufficient. Does this patch work for you?
It would break if someone passes notsc to a Xen kernel, but then a lot of options make the kernel
break if you don't know what you're doing so that doesn't seem like a big issue.
-Andi
---
Don't disable TSC in Xen boot
That was a typo in the previous TSC option changes.
TSC shouldn't be disabled at this point, so just don't do anything.
Signed-off-by: Andi Kleen <ak@...e.de>
Index: linux/arch/x86/xen/time.c
===================================================================
--- linux.orig/arch/x86/xen/time.c
+++ linux/arch/x86/xen/time.c
@@ -592,8 +592,6 @@ __init void xen_time_init(void)
set_normalized_timespec(&wall_to_monotonic,
-xtime.tv_sec, -xtime.tv_nsec);
- setup_clear_cpu_cap(X86_FEATURE_TSC);
-
xen_setup_timer(cpu);
xen_setup_cpu_clockevents();
}
--
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