Re: apic: native_apic_write_dummy warning

From: Simon Holm Thøgersen
Date: Sun Jun 14 2009 - 17:49:25 EST


man, 15 06 2009 kl. 00:06 +0400, skrev Cyrill Gorcunov:
> [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.

That was quick work :) No warning with the patch (or lapic).

> ---
> [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>

Tested-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/

--
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/