perf: rdpmc mmap page time_enabled issue
From: Vince Weaver
Date: Tue Mar 14 2017 - 23:42:12 EST
So another obscure rdpmc problem, turned up by the PAPI regression tests.
If you use rdpmc, and your event is attached measuring another process,
and then you ENABLE/DISABLE/ENABLE/rdpmc the event
somehow the userpg->time_enabled field gets a weird value and that
completely confuses code expecting enabled!=running to mean multiplexing
is happening.
Example:
Trying attach:
* RDPMC 1 Event 0 -- count: 1058381 enabled ffe6935332c70240 running: 9d14f
* RDPMC 1 Event 1 -- count: 623980 enabled ffe6935332c829b3 running: 9d350
the rdpmc count and running values are expected, but the enabled value is way
off, it should match the running value.
If you want to test this out, I have a test case in perf_event_tests,
(github.com/deater/perf_event_tests.git)
tests/rdpmc/rdpmc_multiattach_papi
Vince