Messages in this thread | | | Date | Wed, 25 Aug 2010 15:39:48 +0200 | From | Andreas Herrmann <> | Subject | Re: [PATCH -v2] x86, tsc: Limit CPU frequency calibration on AMD |
| |
On Wed, Aug 25, 2010 at 03:04:54PM +0200, Andreas Herrmann wrote: > On Wed, Aug 25, 2010 at 03:06:53AM -0400, Borislav Petkov wrote: > > From: "H. Peter Anvin" <hpa@zytor.com> > > Date: Tue, Aug 24, 2010 at 06:33:07PM -0400 > > > > > Build failure: > > > > > > /home/hpa/kernel/linux-2.6-tip.cpu/arch/x86/kernel/cpu/amd.c: In > > > function ‘amd_calibrate_cpu’: > > > /home/hpa/kernel/linux-2.6-tip.cpu/arch/x86/kernel/cpu/amd.c:397: error: > > > implicit declaration of function ‘avail_to_resrv_perfctr_nmi_bit’ > > > /home/hpa/kernel/linux-2.6-tip.cpu/arch/x86/kernel/cpu/amd.c:409: error: > > > implicit declaration of function ‘reserve_perfctr_nmi’ > > > /home/hpa/kernel/linux-2.6-tip.cpu/arch/x86/kernel/cpu/amd.c:410: error: > > > implicit declaration of function ‘reserve_evntsel_nmi’ > > > /home/hpa/kernel/linux-2.6-tip.cpu/arch/x86/kernel/cpu/amd.c:429: error: > > > implicit declaration of function ‘release_perfctr_nmi’ > > > /home/hpa/kernel/linux-2.6-tip.cpu/arch/x86/kernel/cpu/amd.c:430: error: > > > implicit declaration of function ‘release_evntsel_nmi’ > > > > > > Reproducible by doing "make ARCH=i386 allnoconfig". > > > > Sh*t, I can't catch a break with that Kconfig dependency stuff, can I? > > > > This happens because perfctr-watchdog.c gets pulled in by > > CONFIG_X86_LOCAL_APIC which is, _of course_, not selected in an > > allnoconfig build. Fixing this would mean exporting all that perfcounter > > reservation functionality for the allnoconfig case, which is of course > > doable but I'm starting to question the need for recalibrating the TSC > > at all: > > > > I mean, in the 99% of the cases MSRC001_0015[24] should be set by the > > BIOS and if not then the BIOS which does that is pretty b0rked anyway. > > So I'm thinking of removing the recalibration code and simply warning > > the user instead, for the 1% case. > > > > Andreas, what do you think? > > I opt for removing the recalibration code plus keeping a FIRMWARE_WARN > for borked BIOSes (just in case that there are any old systems with > the wrong setting).
... and checking the HWCR MSR and issuing the firmware warning should only happen if not running on a hypervisor. (Validate whether CPU has X86_FEATURE_HYPERVISOR bit set or not.)
Andreas
-- Operating | Advanced Micro Devices GmbH System | Einsteinring 24, 85609 Dornach b. München, Germany Research | Geschäftsführer: Alberto Bozzo, Andrew Bowd Center | Sitz: Dornach, Gemeinde Aschheim, Landkreis München (OSRC) | Registergericht München, HRB Nr. 43632
-- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |