man.bsd.lv manual page server

Manual Page Search Parameters

PMC_ENABLE(3) Library Functions Manual PMC_ENABLE(3)

pmc_disable, pmc_enableadministrative control of hardware performance counters

library “libpmc”

#include <pmc.h>

int
pmc_disable(int cpu, int pmc);

int
pmc_enable(int cpu, int pmc);

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 () disables the hardware counter numbered by argument pmc on CPU number cpu.

Function () enables the hardware counter numbered by argument pmc on CPU number cpu.

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.

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.

A call to these functions may fail with the following errors:

[]
Function pmc_disable() specified a hardware PMC is currently in use.
[]
Arguments cpu or pmc were invalid.
[]
Argument cpu specified a disabled or absent CPU.
[]
The current process lacks sufficient privilege to perform this operation.

pmc(3), pmc_cpuinfo(3), pmc_pmcinfo(3), hwpmc(4), pmccontrol(8), priv_check(9)

September 22, 2008 FreeBSD-12.0