cpc_disable man page on SunOS

Man page or keyword search:  
man Server   20652 pages
apropos Keyword Search (all sections)
Output format
SunOS logo
[printable version]

cpc_enable(3CPC)  CPU Performance Counters Library Functions  cpc_enable(3CPC)

NAME
       cpc_enable, cpc_disable - enable and disable performance counters

SYNOPSIS
       cc [ flag... ] file... -lcpc [ library... ]
       #include <libcpc.h>

       int cpc_enable(cpc_t *cpc);

       int cpc_disable(cpc_t *cpc);

DESCRIPTION
       In certain applications, it can be useful to explicitly enable and dis‐
       able performance counters at different times so that the performance of
       a  critical  algorithm  can  be examined. The cpc_enable() and cpc_dis‐
       able() functions can be used to	enable	and  disable  the  performance
       counters	 without  otherwise  disturbing the invoking LWP's performance
       hardware configuration.

RETURN VALUES
       Upon successful completion, cpc_enable() and  cpc_disable()  return  0.
       Otherwise, they return -1 and set errno to indicate the error.

ERRORS
       These functions will fail if:

       EAGAIN	       The  associated	performance  counter  context has been
		       invalidated by another process.

       EINVAL	       No performance counter context has been created for the
		       calling LWP.

EXAMPLES
       Example	1:  Use	 cpc_enable and cpc_disable to minimize code needed by
       application.

       In the following example, the cpc_enable() and cpc_disable()  functions
       are  used  to minimize the amount of code that needs to be added to the
       application. The cputrack(1) command can be used	 in  conjunction  with
       these  functions	 to provide event programming, sampling, and reporting
       facilities.

       If the application is instrumented in this way and then started by cpu‐
       track  with the nouser flag set in the event specification, counting of
       user events will only be enabled around the critical  code  section  of
       interest. If the program is run normally, no harm will ensue.

       int
       main(int argc, char *argv[])
       {
	  cpc_t *cpc = cpc_open(CPC_VER_CURRENT);
	   /* ... application code ... */

	  if (cpc != NULL)
		  (void) cpc_enable(cpc);

	   /* ==> Code to be measured goes here <== */

	  if (cpc != NULL)
		  (void) cpc_disable(cpc);

	   /* ... other application code */
       }

ATTRIBUTES
       See attributes(5) for descriptions of the following attributes:

       ┌─────────────────────────────┬─────────────────────────────┐
       │      ATTRIBUTE TYPE	     │	    ATTRIBUTE VALUE	   │
       ├─────────────────────────────┼─────────────────────────────┤
       │Interface Stability	     │Evolving			   │
       ├─────────────────────────────┼─────────────────────────────┤
       │MT-Level		     │Safe			   │
       └─────────────────────────────┴─────────────────────────────┘

SEE ALSO
       cputrack(1), cpc(3CPC), cpc_open(3CPC), libcpc(3LIB), attributes(5)

SunOS 5.10			  31 Jan 2005		      cpc_enable(3CPC)
[top]

List of man pages available for SunOS

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net