pfm_get_event_next man page on Scientific

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

LIBPFM(3)		   Linux Programmer's Manual		     LIBPFM(3)

NAME
       pfm_get_event_next - iterate over events

SYNOPSIS
       #include <perfmon/pfmlib.h>

       int pfm_get_event_next(int idx);

DESCRIPTION
       Events  are uniquely identified with opaque integer identifiers.	 There
       is no guaranteed order  within  identifiers.  Thus,  to	list  all  the
       events, it is necessary to use iterators.

       Events  are grouped in tables within the libary. A table usually corre‐
       sponds to a PMU model or family. The library contains support for  mul‐
       tiple  PMU models, thus it has multiple tables. Based on the host hard‐
       ware and software environments, tables get activated when  the  library
       is  initialized	via pfm_initialize(). Events from activated tables are
       called active events. Events from non-activated tables are called  sup‐
       ported events.

       Event  identifiers  are	usually retrieved via pfm_find_event() or when
       encoding events.

       To iterate over a list of events for a given PMU	 model,	 all  that  is
       needed is an initial identifier for the PMU. The first event identifier
       is usually obainted via pfm_get_pmu_info().

       The pfm_get_event_next() function returns the identifier of  next  sup‐
       ported  event after the one passed in idx. This iterator stops when the
       last event for the PMU is passed as argument, in which case  the	 func‐
       tion returns -1.

       void list_pmu_events(pfm_pmu_t pmu)
       {
	  struct pfm_event_info info;
	  struct pfm_pmu_info pinfo;
	  int i, ret;

	  memset(&info, 0, sizeof(info));
	  memset(&pinfo, 0, sizeof(pinfo));

	  info.size = sizeof(info);
	  pinfo.size = sizeof(pinfo);

	  ret = pfm_get_pmu_info(pmu, &pinfo);
	  if (ret != PFM_SUCCESS)
	     errx(1, "cannot get pmu info");

	  for (i = pinfo.first_event; i != -1; i = pfm_get_event_next(i)) {
	     ret = pfm_get_event_info(i, &info);
	     if (ret != PFM_SUCCESS)
	       errx(1, "cannot get event info");

	       printf("%s Event: %s::%s\n",
		      pinfo.present ? "Active" : "Supported",
		      pinfo.name, info.name);
	 }
       }

RETURN
       The  function  returns  the  identifier of the next supported event. It
       returns -1 when the argument is already the last event for the PMU.

ERRORS
       No error code, besides -1, is returned by this function.

SEE ALSO
       pfm_find_event(3)

AUTHOR
       Stephane Eranian <eranian@gmail.com>

				September, 2009			     LIBPFM(3)
[top]

List of man pages available for Scientific

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