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: James 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>
This commit is contained in:
Родитель
3424dabb65
Коммит
c43ca04b5e
|
@ -211,7 +211,7 @@ again:
|
|||
/*
|
||||
* 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);
|
||||
}
|
||||
|
|
Загрузка…
Ссылка в новой задаче