提交 d6dc0b4e 编写于 作者: R Robert Richter 提交者: Ingo Molnar

perf/core, x86: Remove duplicate perf_event_mask variable

The same information is stored also in x86_pmu.intel_ctrl. This
patch removes perf_event_mask and instead uses
x86_pmu.intel_ctrl directly.
Signed-off-by: NRobert Richter <robert.richter@amd.com>
Cc: Stephane Eranian <eranian@google.com>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
LKML-Reference: <1268826553-19518-5-git-send-email-robert.richter@amd.com>
Signed-off-by: NIngo Molnar <mingo@elte.hu>
上级 10f1014d
...@@ -75,8 +75,6 @@ copy_from_user_nmi(void *to, const void __user *from, unsigned long n) ...@@ -75,8 +75,6 @@ copy_from_user_nmi(void *to, const void __user *from, unsigned long n)
return len; return len;
} }
static u64 perf_event_mask __read_mostly;
struct event_constraint { struct event_constraint {
union { union {
unsigned long idxmsk[BITS_TO_LONGS(X86_PMC_IDX_MAX)]; unsigned long idxmsk[BITS_TO_LONGS(X86_PMC_IDX_MAX)];
...@@ -1406,7 +1404,7 @@ void __init init_hw_perf_events(void) ...@@ -1406,7 +1404,7 @@ void __init init_hw_perf_events(void)
x86_pmu.num_events, X86_PMC_MAX_GENERIC); x86_pmu.num_events, X86_PMC_MAX_GENERIC);
x86_pmu.num_events = X86_PMC_MAX_GENERIC; x86_pmu.num_events = X86_PMC_MAX_GENERIC;
} }
perf_event_mask = (1 << x86_pmu.num_events) - 1; x86_pmu.intel_ctrl = (1 << x86_pmu.num_events) - 1;
perf_max_events = x86_pmu.num_events; perf_max_events = x86_pmu.num_events;
if (x86_pmu.num_events_fixed > X86_PMC_MAX_FIXED) { if (x86_pmu.num_events_fixed > X86_PMC_MAX_FIXED) {
...@@ -1415,9 +1413,8 @@ void __init init_hw_perf_events(void) ...@@ -1415,9 +1413,8 @@ void __init init_hw_perf_events(void)
x86_pmu.num_events_fixed = X86_PMC_MAX_FIXED; x86_pmu.num_events_fixed = X86_PMC_MAX_FIXED;
} }
perf_event_mask |= x86_pmu.intel_ctrl |=
((1LL << x86_pmu.num_events_fixed)-1) << X86_PMC_IDX_FIXED; ((1LL << x86_pmu.num_events_fixed)-1) << X86_PMC_IDX_FIXED;
x86_pmu.intel_ctrl = perf_event_mask;
perf_events_lapic_init(); perf_events_lapic_init();
register_die_notifier(&perf_event_nmi_notifier); register_die_notifier(&perf_event_nmi_notifier);
...@@ -1442,7 +1439,7 @@ void __init init_hw_perf_events(void) ...@@ -1442,7 +1439,7 @@ void __init init_hw_perf_events(void)
pr_info("... value mask: %016Lx\n", x86_pmu.event_mask); pr_info("... value mask: %016Lx\n", x86_pmu.event_mask);
pr_info("... max period: %016Lx\n", x86_pmu.max_period); pr_info("... max period: %016Lx\n", x86_pmu.max_period);
pr_info("... fixed-purpose events: %d\n", x86_pmu.num_events_fixed); pr_info("... fixed-purpose events: %d\n", x86_pmu.num_events_fixed);
pr_info("... event mask: %016Lx\n", perf_event_mask); pr_info("... event mask: %016Lx\n", x86_pmu.intel_ctrl);
perf_cpu_notifier(x86_pmu_notifier); perf_cpu_notifier(x86_pmu_notifier);
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册