pmc_write3
Read and write hardware performance counters
Part of pmc_read(3).
Usage
#include <pmc.h>
int
pmc_read(pmc_id_t pmc, pmc_value_t *value);
int
pmc_rw(pmc_id_t pmc, pmc_value_t newvalue, pmc_value_t *oldvaluep);
int
pmc_write(pmc_id_t pmc, pmc_value_t value);
Library
library “libpmc”
Overview
These functions read and write the current value of a PMC.
Function pmc_read() will read the current value of the PMC specified by argument pmc and write it to the location specified by argument value.
Function pmc_write() will set the current value of the PMC specified by argument pmc to the value specified by argument value.
Function pmc_rw() combines a read and a write into a single atomic operation.
For write operations the PMC should be a quiescent state.
Return values
The pmc_read() function returns the value 0 if successful; otherwise the value -1 is returned and the global variable errno is set to indicate the error.
Errors
A call to these functions may fail with the following errors:
- [EBUSY]
-
A write operation specified a currently running PMC.
- [EINVAL]
-
Argument pmc specified a PMC not in a readable state.
- [EINVAL]
-
The PMC specified by argument pmc was not owned by the current process.
Releases
49 releases since FreeBSD 6.0-RELEASE; the text changed 33 times.