Re: [tip:perf/urgent] x86, perf events: Check if we have APICenabled

From: Cyrill Gorcunov
Date: Thu Dec 10 2009 - 13:16:07 EST


On Thu, Dec 10, 2009 at 05:18:32PM +0000, tip-bot for Cyrill Gorcunov wrote:
> Commit-ID: 125580380f418000b1a06d9a54700f1191b6e561
> Gitweb: http://git.kernel.org/tip/125580380f418000b1a06d9a54700f1191b6e561
> Author: Cyrill Gorcunov <gorcunov@xxxxxxxxxx>
> AuthorDate: Thu, 10 Dec 2009 19:56:34 +0300
> Committer: Ingo Molnar <mingo@xxxxxxx>
> CommitDate: Thu, 10 Dec 2009 18:00:30 +0100
>
> x86, perf events: Check if we have APIC enabled
>
> Ralf Hildebrandt reported this boot warning:
>
> | Running a vanilla 2.6.32 as Xen DomU, I'm getting:
> |
> | [ 0.000999] CPU: Physical Processor ID: 0
> | [ 0.000999] CPU: Processor Core ID: 1
> | [ 0.000999] Performance Events: AMD PMU driver.
> | [ 0.000999] ------------[ cut here ]------------
> | [ 0.000999] WARNING: at arch/x86/kernel/apic/apic.c:249 native_apic_write_dummy
>
> So we need to check if APIC functionality is available, and
> not just in the P6 driver but elsewhere as well.
>
> Reported-by: Ralf Hildebrandt <Ralf.Hildebrandt@xxxxxxxxxx>
> Signed-off-by: Cyrill Gorcunov <gorcunov@xxxxxxxxxx>
> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx>
> Cc: Mike Galbraith <efault@xxxxxx>
> Cc: Paul Mackerras <paulus@xxxxxxxxx>
> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx>
> LKML-Reference: <20091210165634.GF5086@lenovo>
> Signed-off-by: Ingo Molnar <mingo@xxxxxxx>
> ---
> arch/x86/kernel/cpu/perf_event.c | 18 ++++++++++++------
> 1 files changed, 12 insertions(+), 6 deletions(-)
>
...

Btw, is there some particular reason to have x86_pmu::apic item?
Can't we use cpu_has_apic directly? Or there some plans about
this item? Or I miss something obvious?

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