|PMC_ENABLE(3)||FreeBSD Library Functions Manual||PMC_ENABLE(3)|
NAMEpmc_disable, pmc_enable — administrative control of hardware performance counters
LIBRARYPerformance Counters Library (libpmc, -lpmc)
SYNOPSIS#include < pmc.h>
pmc_disable( int cpu, int pmc);
pmc_enable( int cpu, int pmc);
DESCRIPTIONThese functions allow specific hardware performance monitoring counters in a system to be disabled and enabled administratively. The hardware performance counters available on each CPU are numbered using small non-negative integers, in a system dependent manner. Disabled counters will not be available to applications for use.
The invoking process needs to have the PRIV_PMC_MANAGE privilege to perform these operations.
Function pmc_disable() disables the hardware counter numbered by argument pmc on CPU number cpu.
Function pmc_enable() enables the hardware counter numbered by argument pmc on CPU number cpu.
IMPLEMENTATION NOTESHardware PMCs that are currently in use by applications cannot be disabled. Allocation of a process scope software PMC marks all hardware PMCs in the system with the same pmc number as being in-use.
RETURN VALUESUpon successful completion, the value 0 is returned; otherwise the value -1 is returned and the global variable errno is set to indicate the error.
ERRORSA call to these functions may fail with the following errors:
- [ EBUSY]
- Function pmc_disable() specified a hardware PMC is currently in use.
- [ EINVAL]
- Arguments cpu or pmc were invalid.
- [ ENXIO]
- Argument cpu specified a disabled or absent CPU.
- [ EPERM]
- The current process lacks sufficient privilege to perform this operation.
|September 22, 2008||FreeBSD|