LinuxGuruz
  • Last 5 Forum Topics
    Replies
    Views
    Last post


The Web Only This Site
  • BOOKMARK

  • ADD TO FAVORITES

  • REFERENCES


  • MARC

    Mailing list ARChives
    - Search by -
     Subjects
     Authors
     Bodies





    FOLDOC

    Computing Dictionary




  • Text Link Ads






  • LINUX man pages
  • Linux Man Page Viewer


    The following form allows you to view linux man pages.

    Command:

    libpfm

    
    
    
    

    SYNOPSIS

           #include <perfmon/pfmlib.h>
    
    
    

    DESCRIPTION

           The libpfm library is a helper library which can be called by  applica-
           tions  using the kernel perfmonctl() system call to program the perfor-
           mance monitoring unit (PMU) of IA-64 CPUs.
    
           The kernel perfmon subsystem exports a simple  interface  which  allows
           basic  reading  and  writing  of the PMU registers. There are two cate-
           gories of PMU registers.  The  performance  monitoring  data  registers
           (PMD)  are  used  to  collects counts or serve as hardware buffers. The
           performance monitoring control registers (PMCS) are  used  to  indicate
           what  events need to be monitored. Programming the PMU consists in set-
           ting up the PMC registers to monitor certain events. The PMDS are  com-
           monly set to zero unless sampling is used.
    
           The  number  of PMC and PMD registers varies from one implementation of
           the IA-64 architecture to another. The association of PMC  to  PMD  can
           also change. Moreover the number and encoding of events can also widely
           change. In addition the structure of a PMC register  can  also  change.
           All these factors make it quite difficult to write monitoring tools.
    
           This  library is designed to simplify the programming of the PMC regis-
           ters by hiding the complexity behind  simple  interfaces.  The  library
           does  this without limiting accessibility to model specific features by
           using a layered design.
    
           The library is structured in two layers. The common layer  provides  an
           interface  that is shared by all implementations. For instance, getting
           an event descriptor using the event name is the same operation  on  all
           IA-64 implementation, even though the returned descriptor and the event
           name can vary.  This layer is good enough to  setup  simple  monitoring
           sessions  which  count  occurrences  of  simple events. Then there is a
           model specific layer which gives access to the model-specific features.
           For  instance, on Itanium, you can use the library to figure out how to
           initialize PMC12 which controls the Branch Trace Buffer. Model specific
           interfaces  have  the  abbreviated  PMU  model name in their names. For
           instance, pfm_ita2_get_event_umask() is  an  Itanium2  (ita2)  specific
           function.
    
           When  the  library is initialized, it automatically probes the host CPU
           and enables the right set of interfaces. The layered design uses a mod-
           ular  implementation,  where support for each CPU is well separated and
           can be compiled in or out of the library.
    
           The common interface is defined in the pfmlib.h header file.  The  Ita-
           nium  specific  interface is in pfmlib_itanium.h. The pfmlib_itanium2.h
           provides the Itanium2 interface.
    
           It is important to realize that the library does not  make  any  kernel
           with the library
    
                                    November, 2002                       LIBPFM(3)
    
  • MORE RESOURCE


  • Linux

    The Distributions





    Linux

    The Software





    Linux

    The News



  • MARKETING






  • Toll Free

webmaster@linuxguruz.com
Copyright © 1999 - 2016 by LinuxGuruz