pmc_start
, pmc_stop
—
start and stop a PMC
Performance Counters Library (libpmc, -lpmc)
#include <pmc.h>
int
pmc_start
(pmc_id_t
pmc);
int
pmc_stop
(pmc_id_t
pmc);
These functions are used to start and stop a PMC.
Function pmc_start
() starts the PMC
specified by argument pmc. If the specified PMC has
process scope and has not been attached to any targets, it will be attached
to the current process.
Function pmc_stop
() stops the PMC
specified by argument pmc.
Upon successful completion, the value 0 is returned; otherwise the
value -1 is returned and the global variable
errno is set to indicate the error.
A call to these functions may fail with the following errors:
- [
EDOOFUS
]
- Function
pmc_start
() specified a PMC that requires
a log file and no log file was configured.
- [
EINVAL
]
- The specified PMC is in the process of being deleted.
- [
EINVAL
]
- Function
pmc_stop
() specified a PMC that was never
started.
- [
ENXIO
]
- The specified PMC had system scope and its associated CPU was disabled or
absent.