PMC_READ(3) | FreeBSD Library Functions Manual | PMC_READ(3) |
NAME
pmc_read, pmc_rw, pmc_write, — read and write hardware performance countersLIBRARY
Performance Counters Library (libpmc, -lpmc)SYNOPSIS
#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);
DESCRIPTION
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
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.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.
November 25, 2007 | FreeBSD |