pmc_disable3
Administrative control of hardware performance counters
Part of pmc_enable(3).
Usage
#include <pmc.h>
int
pmc_disable(int cpu, int pmc);
int
pmc_enable(int cpu, int pmc);
Library
library “libpmc”
Overview
These 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 notes
Hardware 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 values
The pmc_disable() 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 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.
Releases
49 releases since FreeBSD 6.0-RELEASE; the text changed 33 times.