Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

pmc_write(3) [freebsd man page]

PMC_READ(3)						   BSD 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) BSD
November 25, 2007 BSD

Check Out this Related Man Page

PMC_GET_MSR(3)						   BSD Library Functions Manual 					    PMC_GET_MSR(3)

NAME
pmc_get_msr -- x86 architecture-specific PMC operations LIBRARY
Performance Counters Library (libpmc, -lpmc) SYNOPSIS
#include <pmc.h> int pmc_get_msr(pmc_id_t pmc, uint32_t *msr); DESCRIPTION
The function pmc_get_msr() returns the processor model specific register number associated with a PMC for subsequent use with RDPMC instruc- tions. Argument pmc specifies a process scope counting PMC. The function will write the model specific register number associated with the PMC to the location pointed to by argument msr. After successful completion of this function, applications can directly read the contents of PMC hardware using RDPMC instructions. RETURN VALUES
The pmc_get_msr() 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 pmc_get_msr() may fail with the following errors: [EINVAL] The PMC handle specified was invalid. [EINVAL] The PMC specified did not have process scope or counting mode. [EINVAL] The PMC specified was allocated with the PMC_F_DESCENDANTS flag. [EINVAL] The specified PMC is already attached to target processes other than the owner. [ENOSYS] The underlying hardware does not support an RDPMC instruction. SEE ALSO
pmc(3), hwpmc(4) BSD
November 25, 2007 BSD
Man Page