diff options
Diffstat (limited to 'lib/libpmc/pmc_disable.3')
-rw-r--r-- | lib/libpmc/pmc_disable.3 | 99 |
1 files changed, 99 insertions, 0 deletions
diff --git a/lib/libpmc/pmc_disable.3 b/lib/libpmc/pmc_disable.3 new file mode 100644 index 0000000..96eb6df --- /dev/null +++ b/lib/libpmc/pmc_disable.3 @@ -0,0 +1,99 @@ +.\" Copyright (c) 2007-2008 Joseph Koshy. All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" $FreeBSD$ +.\" +.Dd September 22, 2008 +.Dt PMC_ENABLE 3 +.Os +.Sh NAME +.Nm pmc_disable , +.Nm pmc_enable +.Nd administrative control of hardware performance counters +.Sh LIBRARY +.Lb libpmc +.Sh SYNOPSIS +.In pmc.h +.Ft int +.Fn pmc_disable "int cpu" "int pmc" +.Ft int +.Fn pmc_enable "int cpu" "int pmc" +.Sh 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. +.Pp +The invoking process needs to have the +.Dv PRIV_PMC_MANAGE +privilege to perform these operations. +.Pp +Function +.Fn pmc_disable +disables the hardware counter numbered by argument +.Fa pmc +on CPU number +.Fa cpu . +.Pp +Function +.Fn pmc_enable +enables the hardware counter numbered by argument +.Fa pmc +on CPU number +.Fa cpu . +.Sh 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. +.Sh RETURN VALUES +.Rv -std +.Sh ERRORS +A call to these functions may fail with the following errors: +.Bl -tag -width Er +.It Bq Er EBUSY +Function +.Fn pmc_disable +specified a hardware PMC is currently in use. +.It Bq Er EINVAL +Arguments +.Fa cpu +or +.Fa pmc +were invalid. +.It Bq Er ENXIO +Argument +.Fa cpu +specified a disabled or absent CPU. +.It Bq Er EPERM +The current process lacks sufficient privilege to perform this +operation. +.El +.Sh SEE ALSO +.Xr pmc 3 , +.Xr pmc_cpuinfo 3 , +.Xr pmc_pmcinfo 3 , +.Xr hwpmc 4 , +.Xr pmccontrol 8 , +.Xr priv_check 9 |