Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit c43ca04b authored by James Hogan's avatar James Hogan
Browse files

metag: perf: fix wrap handling in delta calculation



When calculating the delta, mask with MAX_PERIOD (24 bits) to handle
wrapping, which particularly happens with periodic sampling since the
value is intentionally set so that it will overflow soon.

Signed-off-by: default avatarJames Hogan <james.hogan@imgtec.com>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: Arnaldo Carvalho de Melo <acme@ghostprotocols.net>
parent 3424dabb
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -211,7 +211,7 @@ void metag_pmu_event_update(struct perf_event *event,
	/*
	 * Calculate the delta and add it to the counter.
	 */
	delta = new_raw_count - prev_raw_count;
	delta = (new_raw_count - prev_raw_count) & MAX_PERIOD;

	local64_add(delta, &event->count);
}