You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
We do not seem to fully support multiplexing in benchmark perf_counters, which can result in undercounting by a factor of 2..3.
There is an attempt to have multiple 'leaders' and we do specify PERF_FORMAT_GROUP, but not PERF_FORMAT_TOTAL_TIME_ENABLED nor PERF_FORMAT_TOTAL_TIME_RUNNING. The latter two are required to extrapolate the counter values according to how long they are running.
System
OS: Linux
Compiler and version: clang near trunk
To reproduce
Request many (>6) counters.
Expected behavior
Values are scaled according to the relative time during which the counter was enabled/bound to HW.
If PERF_FORMAT_GROUP was specified to allow reading all events
in a group at once:
struct read_format {
u64 nr; /* The number of events */
u64 time_enabled; /* if PERF_FORMAT_TOTAL_TIME_ENABLED */
u64 time_running; /* if PERF_FORMAT_TOTAL_TIME_RUNNING */
struct {
u64 value; /* The value of the event */
The text was updated successfully, but these errors were encountered:
Describe the bug
We do not seem to fully support multiplexing in benchmark perf_counters, which can result in undercounting by a factor of 2..3.
There is an attempt to have multiple 'leaders' and we do specify
PERF_FORMAT_GROUP
, but notPERF_FORMAT_TOTAL_TIME_ENABLED
norPERF_FORMAT_TOTAL_TIME_RUNNING
. The latter two are required to extrapolate the counter values according to how long they are running.System
To reproduce
Request many (>6) counters.
Expected behavior
Values are scaled according to the relative time during which the counter was enabled/bound to HW.
Additional context
From the manual:
If PERF_FORMAT_GROUP was specified to allow reading all events
in a group at once:
The text was updated successfully, but these errors were encountered: