Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
PMC_ENABLE(3)		 BSD Library Functions Manual		 PMC_ENABLE(3)

NAME
     pmc_disable, pmc_enable --	administrative control of hardware performance
     counters

LIBRARY
     Performance Counters Library (libpmc, -lpmc)

SYNOPSIS
     #include <pmc.h>

     int
     pmc_disable(int cpu, int pmc);

     int
     pmc_enable(int cpu, int pmc);

DESCRIPTION
     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 per-
     form 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 dis-
     abled.  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
     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]		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 per-
			form this operation.

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

BSD			      September	22, 2008			   BSD

NAME | LIBRARY | SYNOPSIS | DESCRIPTION | IMPLEMENTATION NOTES | RETURN VALUES | ERRORS | SEE ALSO

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=pmc_disable&sektion=3&manpath=FreeBSD+12.0-RELEASE+and+Ports>

home | help