EN JA
PMC_READ(3)
PMC_READ(3) FreeBSD Library Functions Manual PMC_READ(3)

NAME

pmc_read, pmc_rw, pmc_write, — read and write hardware performance counters

LIBRARY

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.

SEE ALSO

pmc(3), hwpmc(4)
November 25, 2007 FreeBSD