From 3d2f07e1709289b7b8d99f7eac12acb4e4b920b4 Mon Sep 17 00:00:00 2001 From: Cyrill Gorcunov Date: Sat, 8 May 2010 15:25:52 +0400 Subject: [PATCH] --- yaml --- r: 191305 b: refs/heads/master c: 137351e0feeb9f25d99488ee1afc1c79f5499a9a h: refs/heads/master i: 191303: 22d8c2f248e107c4279954facdcadaeee43e60c2 v: v3 --- [refs] | 2 +- trunk/arch/x86/kernel/cpu/perf_event_p4.c | 8 ++++++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/[refs] b/[refs] index 0d155d0bdc79..48f0040eecd5 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: de902d967feb96f2dfddfbe9dbd69dc22fd5ebcb +refs/heads/master: 137351e0feeb9f25d99488ee1afc1c79f5499a9a diff --git a/trunk/arch/x86/kernel/cpu/perf_event_p4.c b/trunk/arch/x86/kernel/cpu/perf_event_p4.c index b1f532d1d36f..ca40180c41d4 100644 --- a/trunk/arch/x86/kernel/cpu/perf_event_p4.c +++ b/trunk/arch/x86/kernel/cpu/perf_event_p4.c @@ -421,7 +421,8 @@ static u64 p4_pmu_event_map(int hw_event) static int p4_hw_config(struct perf_event *event) { - int cpu = raw_smp_processor_id(); + int cpu = get_cpu(); + int rc = 0; u32 escr, cccr; /* @@ -454,7 +455,10 @@ static int p4_hw_config(struct perf_event *event) p4_config_pack_cccr(P4_CCCR_MASK_HT)); } - return x86_setup_perfctr(event); + rc = x86_setup_perfctr(event); + put_cpu(); + + return rc; } static inline void p4_pmu_clear_cccr_ovf(struct hw_perf_event *hwc)