diff options
| -rw-r--r-- | arch/x86/kernel/cpu/perf_event_knc.c | 8 |
1 files changed, 2 insertions, 6 deletions
diff --git a/arch/x86/kernel/cpu/perf_event_knc.c b/arch/x86/kernel/cpu/perf_event_knc.c index 73bcfbdedd50..f3a2af41552d 100644 --- a/arch/x86/kernel/cpu/perf_event_knc.c +++ b/arch/x86/kernel/cpu/perf_event_knc.c | |||
| @@ -173,26 +173,22 @@ static void knc_pmu_enable_all(int added) | |||
| 173 | static inline void | 173 | static inline void |
| 174 | knc_pmu_disable_event(struct perf_event *event) | 174 | knc_pmu_disable_event(struct perf_event *event) |
| 175 | { | 175 | { |
| 176 | struct cpu_hw_events *cpuc = &__get_cpu_var(cpu_hw_events); | ||
| 177 | struct hw_perf_event *hwc = &event->hw; | 176 | struct hw_perf_event *hwc = &event->hw; |
| 178 | u64 val; | 177 | u64 val; |
| 179 | 178 | ||
| 180 | val = hwc->config; | 179 | val = hwc->config; |
| 181 | if (cpuc->enabled) | 180 | val &= ~ARCH_PERFMON_EVENTSEL_ENABLE; |
| 182 | val &= ~ARCH_PERFMON_EVENTSEL_ENABLE; | ||
| 183 | 181 | ||
| 184 | (void)wrmsrl_safe(hwc->config_base + hwc->idx, val); | 182 | (void)wrmsrl_safe(hwc->config_base + hwc->idx, val); |
| 185 | } | 183 | } |
| 186 | 184 | ||
| 187 | static void knc_pmu_enable_event(struct perf_event *event) | 185 | static void knc_pmu_enable_event(struct perf_event *event) |
| 188 | { | 186 | { |
| 189 | struct cpu_hw_events *cpuc = &__get_cpu_var(cpu_hw_events); | ||
| 190 | struct hw_perf_event *hwc = &event->hw; | 187 | struct hw_perf_event *hwc = &event->hw; |
| 191 | u64 val; | 188 | u64 val; |
| 192 | 189 | ||
| 193 | val = hwc->config; | 190 | val = hwc->config; |
| 194 | if (cpuc->enabled) | 191 | val |= ARCH_PERFMON_EVENTSEL_ENABLE; |
| 195 | val |= ARCH_PERFMON_EVENTSEL_ENABLE; | ||
| 196 | 192 | ||
| 197 | (void)wrmsrl_safe(hwc->config_base + hwc->idx, val); | 193 | (void)wrmsrl_safe(hwc->config_base + hwc->idx, val); |
| 198 | } | 194 | } |
