Re: apic: native_apic_write_dummy warning

From: Cyrill Gorcunov
Date: Sun Jun 14 2009 - 16:14:11 EST


[Cyrill Gorcunov - Sun, Jun 14, 2009 at 11:40:17PM +0400]
...
| Neither thermal interrupts nor mce will be functional if apic
| is not properly set up (even having kernel compiled that way
| it support both). So you may try to pass "lapic" boot option
| and check if we're lucky in attempt to enable apic via force
| push. Anyway this warn show that the code is to be fixed
| (and native_apic_write_dummy done its work great catching
| useless apic->write operation). I'll handle it but a bit later.
|
| Andi CC'ed since he is involved in MCE handling just for the
| record.
|
| -- Cyrill

Simon here is a patch I would appreciate if you test.

-- Cyrill

---
[PATCH -tip] x86: mce intel -- don't touch THERMAL_APIC_VECTOR if no active APIC

If APIC was disabled for some reason and not even mapped
we should not try to enable thermal interrupts at all.

Reported-by: Simon Holm Thøgersen <odie@xxxxxxxxx>
Signed-off-by: Cyrill Gorcunov <gorcunov@xxxxxxxxxx>
---
arch/x86/kernel/cpu/mcheck/mce_intel.c | 10 ++++++++--
1 file changed, 8 insertions(+), 2 deletions(-)

Index: linux-2.6.git/arch/x86/kernel/cpu/mcheck/mce_intel.c
=====================================================================
--- linux-2.6.git.orig/arch/x86/kernel/cpu/mcheck/mce_intel.c
+++ linux-2.6.git/arch/x86/kernel/cpu/mcheck/mce_intel.c
@@ -21,9 +21,15 @@ void intel_init_thermal(struct cpuinfo_x
int tm2 = 0;
u32 l, h;

- /* Thermal monitoring depends on ACPI and clock modulation*/
- if (!cpu_has(c, X86_FEATURE_ACPI) || !cpu_has(c, X86_FEATURE_ACC))
+ /*
+ * Thermal monitoring depends on ACPI, clock modulation
+ * and APIC as well
+ */
+ if (!cpu_has(c, X86_FEATURE_ACPI) || !cpu_has(c, X86_FEATURE_ACC) ||
+ !cpu_has(c, X86_FEATURE_APIC)) {
+ pr_debug("Thermal monitoring disabled\n");
return;
+ }

/*
* First check if its enabled already, in which case there might
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/