Browse Source

[PATCH] x86_64: Disable tsc when apicpmtimer is active

Otherwise it has no effect anyways.

Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Andi Kleen 19 năm trước cách đây
mục cha
commit
7fd67843b9

+ 1 - 0
arch/x86_64/kernel/apic.c

@@ -1152,6 +1152,7 @@ __setup("noapicmaintimer", setup_noapicmaintimer);
 static __init int setup_apicpmtimer(char *s)
 static __init int setup_apicpmtimer(char *s)
 {
 {
 	apic_calibrate_pmtmr = 1;
 	apic_calibrate_pmtmr = 1;
+	notsc_setup(NULL);
 	return setup_apicmaintimer(NULL);
 	return setup_apicmaintimer(NULL);
 }
 }
 __setup("apicpmtimer", setup_apicpmtimer);
 __setup("apicpmtimer", setup_apicpmtimer);

+ 1 - 2
arch/x86_64/kernel/time.c

@@ -1327,8 +1327,7 @@ static int __init nohpet_setup(char *s)
 
 
 __setup("nohpet", nohpet_setup);
 __setup("nohpet", nohpet_setup);
 
 
-
-static int __init notsc_setup(char *s)
+int __init notsc_setup(char *s)
 {
 {
 	notsc = 1;
 	notsc = 1;
 	return 0;
 	return 0;

+ 1 - 0
include/asm-x86_64/proto.h

@@ -133,6 +133,7 @@ extern int fix_aperture;
 extern int force_iommu;
 extern int force_iommu;
 
 
 extern int reboot_force;
 extern int reboot_force;
+extern int notsc_setup(char *);
 
 
 extern void smp_local_timer_interrupt(struct pt_regs * regs);
 extern void smp_local_timer_interrupt(struct pt_regs * regs);