diff options
author | David S. Miller <davem@davemloft.net> | 2012-08-17 06:09:39 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2012-08-19 02:26:20 -0400 |
commit | 5ab968413515e17788003c522f7ca40a07fae900 (patch) | |
tree | 8af29c455d3469ea6af3086a303962f92c65ef1f /arch/sparc/kernel | |
parent | 3f1a20972239e3f66720c34d9009ae9cc9ddffba (diff) |
sparc64: Rework sparc_pmu_enable() so that the side effects are clearer.
When cpuc->n_events is zero, we actually don't do anything and we just
write the cpuc->pcr[0] value as-is without any modifications.
The "pcr = 0;" assignment there was just useless and confusing.
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'arch/sparc/kernel')
-rw-r--r-- | arch/sparc/kernel/perf_event.c | 8 |
1 files changed, 2 insertions, 6 deletions
diff --git a/arch/sparc/kernel/perf_event.c b/arch/sparc/kernel/perf_event.c index 9be089abb5d1..197c79e9206a 100644 --- a/arch/sparc/kernel/perf_event.c +++ b/arch/sparc/kernel/perf_event.c | |||
@@ -752,7 +752,6 @@ out: | |||
752 | static void sparc_pmu_enable(struct pmu *pmu) | 752 | static void sparc_pmu_enable(struct pmu *pmu) |
753 | { | 753 | { |
754 | struct cpu_hw_events *cpuc = &__get_cpu_var(cpu_hw_events); | 754 | struct cpu_hw_events *cpuc = &__get_cpu_var(cpu_hw_events); |
755 | u64 pcr; | ||
756 | 755 | ||
757 | if (cpuc->enabled) | 756 | if (cpuc->enabled) |
758 | return; | 757 | return; |
@@ -760,11 +759,8 @@ static void sparc_pmu_enable(struct pmu *pmu) | |||
760 | cpuc->enabled = 1; | 759 | cpuc->enabled = 1; |
761 | barrier(); | 760 | barrier(); |
762 | 761 | ||
763 | pcr = cpuc->pcr[0]; | 762 | if (cpuc->n_events) { |
764 | if (!cpuc->n_events) { | 763 | u64 pcr = maybe_change_configuration(cpuc, cpuc->pcr[0]); |
765 | pcr = 0; | ||
766 | } else { | ||
767 | pcr = maybe_change_configuration(cpuc, pcr); | ||
768 | 764 | ||
769 | /* We require that all of the events have the same | 765 | /* We require that all of the events have the same |
770 | * configuration, so just fetch the settings from the | 766 | * configuration, so just fetch the settings from the |