aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Richter2021-04-29 15:04:30 +0200
committerVasily Gorbik2021-06-07 17:06:58 +0200
commit15e5b53ff4c92c8ea79094871f91d077bfc60526 (patch)
tree966859fdda5f78bd162a4b8e716975d7bc2bc3f6
parentd552a58d708020963f6973a8b3b690f19ac81c99 (diff)
s390/cpumf: remove WARN_ON_ONCE in counter start handler
Remove some WARN_ON_ONCE() warnings when a counter is started. Each counter is installed function calls event_sched_in() --> cpumf_pmu_add(..., PERF_EF_START). This is done after the event has been created using perf_pmu_event_init() which verifies the counter is valid. Member hwc->config must be valid at this point. Function cpumf_pmu_start(..., PERF_EF_RELOAD) is called from function cpumf_pmu_add() for counter events. All other invocations of cpumf_pmu_start(..., PERF_EF_RELOAD) are from the performance subsystem for sampling events. Signed-off-by: Thomas Richter <tmricht@linux.ibm.com> Acked-by: Sumanth Korikkar <sumanthk@linux.ibm.com> Signed-off-by: Vasily Gorbik <gor@linux.ibm.com>
-rw-r--r--arch/s390/kernel/perf_cpum_cf.c8
1 files changed, 1 insertions, 7 deletions
diff --git a/arch/s390/kernel/perf_cpum_cf.c b/arch/s390/kernel/perf_cpum_cf.c
index 91ee0f399aae..1b7a0525fbed 100644
--- a/arch/s390/kernel/perf_cpum_cf.c
+++ b/arch/s390/kernel/perf_cpum_cf.c
@@ -362,15 +362,9 @@ static void cpumf_pmu_start(struct perf_event *event, int flags)
struct cpu_cf_events *cpuhw = this_cpu_ptr(&cpu_cf_events);
struct hw_perf_event *hwc = &event->hw;
- if (WARN_ON_ONCE(!(hwc->state & PERF_HES_STOPPED)))
+ if (!(hwc->state & PERF_HES_STOPPED))
return;
- if (WARN_ON_ONCE(hwc->config == -1))
- return;
-
- if (flags & PERF_EF_RELOAD)
- WARN_ON_ONCE(!(hwc->state & PERF_HES_UPTODATE));
-
hwc->state = 0;
/* (Re-)enable and activate the counter set */