Project

General

Profile

Actions

Bug #1037

closed

Invalid offset value in Perf PMU counters sampling on x86

Added by Julien Desfossez almost 8 years ago. Updated almost 8 years ago.

Status:
Resolved
Priority:
Normal
Assignee:
-
Target version:
-
Start date:
07/05/2016
Due date:
% Done:

0%

Estimated time:

Description

The value output by the perf PMU contexts is abnormally high when using the rdpmc instruction on x86.
The source of this high value seems to be related to the pc->offset handling.

When removing the "+ pc->offset", the value read from rdpmc matches the one read with the read() syscall.

example values:
rdpmc + offset: 281474976933816
read(): 223160

Actions #1

Updated by Mathieu Desnoyers almost 8 years ago

  • Status changed from New to Resolved

Fixed by commit:

commit 4f58f54fdc949a00a05743ecf6d95144192c2ce2
Author: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Date:   Wed Jul 6 14:47:00 2016 -0400

    Fix: perf counters: sign-extend pmc register

    Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Actions

Also available in: Atom PDF