diff options
author | Joerg Roedel <jroedel@suse.de> | 2019-06-24 10:23:16 +0200 |
---|---|---|
committer | Joerg Roedel <jroedel@suse.de> | 2019-06-24 10:23:16 +0200 |
commit | ceedd5f74d8cfe34db4e654a7808e3c5de40d6f5 (patch) | |
tree | e19c18292231202e9cd8d484ee43f46b2c9c9ad1 /arch/sparc/kernel/perf_event.c | |
parent | 1b961423158caaae49d3900b7c9c37477bbfa9b3 (diff) | |
parent | 4b972a01a7da614b4796475f933094751a295a2f (diff) |
Merge tag 'v5.2-rc6' into generic-dma-ops
Linux 5.2-rc6
Diffstat (limited to 'arch/sparc/kernel/perf_event.c')
-rw-r--r-- | arch/sparc/kernel/perf_event.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/arch/sparc/kernel/perf_event.c b/arch/sparc/kernel/perf_event.c index 6de7c684c29f..a58ae9c42803 100644 --- a/arch/sparc/kernel/perf_event.c +++ b/arch/sparc/kernel/perf_event.c @@ -891,6 +891,10 @@ static int sparc_perf_event_set_period(struct perf_event *event, s64 period = hwc->sample_period; int ret = 0; + /* The period may have been changed by PERF_EVENT_IOC_PERIOD */ + if (unlikely(period != hwc->last_period)) + left = period - (hwc->last_period - left); + if (unlikely(left <= -period)) { left = period; local64_set(&hwc->period_left, left); |