Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

pmc_set(3) [freebsd man page]

PMC_SET(3)						   BSD Library Functions Manual 						PMC_SET(3)

NAME
pmc_set -- set the reload count of a sampling PMC LIBRARY
Performance Counters Library (libpmc, -lpmc) SYNOPSIS
#include <pmc.h> int pmc_set(pmc_id_t pmc, pmc_value_t value); DESCRIPTION
Function pmc_set() is used to set the reload value of sampling PMCs. Argument pmc specified the handle a previously allocate sampling mode PMC. Argument value specifies the reload count. Sampling PMCs will interrupt the CPU after the number of hardware events specified by the reload count are seen. After the sampling inter- rupt is processed the underlying hardware will be reloaded with the specified count and the hardware automatically restarted by hwpmc(4). Function pmc_set() should be called on PMC in a quiescent state. RETURN VALUES
The pmc_set() 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_set() may fail with the following errors: [EINVAL] The current process did not own a PMC with the specified handle. [EBUSY] The specified PMC was already running. SEE ALSO
pmc(3), hwpmc(4) BSD
November 25, 2007 BSD

Check Out this Related Man Page

PMC_ATTACH(3)						   BSD Library Functions Manual 					     PMC_ATTACH(3)

NAME
pmc_attach, pmc_detach -- attaching and detaching process scope PMCs to target processes LIBRARY
Performance Counters Library (libpmc, -lpmc) SYNOPSIS
#include <pmc.h> int pmc_attach(pmc_id_t pmcid, pid_t pid); int pmc_detach(pmc_id_t pmcid, pid_t pid); DESCRIPTION
These functions control the set of target processes tracked by a process scope PMC. Function pmc_attach() is used to attach a process scope PMC specified by argument pmcid to a target process specified by argument pid. Argu- ment pid may be zero to denote the current process. If the PMC was allocated with modifier PMC_F_DESCENDANTS, the PMC will additionally attach to current and future descendents of the specified target process. The PMC should be in a quiescent state (i.e., not running). Function pmc_detach() is used to detach a process scope PMC specified by argument pmcid from a process specified by argument pid. Argument pid may be zero to denote the current process. 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 function pmc_attach() may fail with the following errors: [EBUSY] Argument pmcid specified a PMC that was not in a quiescent state. [EBUSY] The target process specified by function pmc_attach is being tracked by another process scope PMC that uses the same PMC hardware resources. [EEXIST] The target process is already being tracked by the specified PMC. [EINVAL] Argument pmcid specified a PMC with system scope. [EINVAL] Argument pid specified an illegal process id. [EINVAL] The current process does not own a PMC with the handle specified in argument pmcid. [EPERM] The caller lacked the privilege needed to attach PMCs to the specified target process. [EPERM] (i386 and amd64 architectures) The PMC specified by argument pmcid has been setup to allow the use of the RDPMC instruc- tion for self measurement. [ESRCH] The current process does not own any PMCs. [ESRCH] The process specified by argument pid did not exist. A call to function pmc_detach() may fail with the following errors: [EINVAL] Argument pmcid specified a PMC with system scope. [EINVAL] Argument pid specified an illegal process id. [EINVAL] The current process does not own a PMC with the handle specified in argument pmcid. [EINVAL] The specified PMC was not attached to the target process. [ESRCH] The current process does not own any PMCs. [ESRCH] The process specified by argument pid is not being monitored by hwpmc(4). [ESRCH] The process specified by argument pid did not exist. SEE ALSO
pmc(3), pmc_start(3), pmc_stop(3), hwpmc(4) BSD
November 25, 2007 BSD
Man Page