Blame src/libpfm-3.y/README

Packit 577717
            ------------------------------------------------------
Packit 577717
                                    libpfm-3.10:
Packit 577717
      a helper library to program the Performance Monitoring Unit (PMU)
Packit 577717
            ------------------------------------------------------
Packit 577717
 	  Copyright (c) 2001-2007 Hewlett-Packard Development Company, L.P.
Packit 577717
	                Contributed by Stephane Eranian <eranian@hpl.hp.com>
Packit 577717
	
Packit 577717
Packit 577717
This package provides a library, called libpfm, which can be used
Packit 577717
to develop monitoring tools which use the Performance Monitoring Unit (PMU)
Packit 577717
of several modern processors.
Packit 577717
Packit 577717
Packit 577717
This version of libpfm supports:
Packit 577717
	- For Intel IA-64:
Packit 577717
		Itanium (Merced), Itanium 2 (McKinley, Madison, Deerfield),
Packit 577717
		Itanium 2 9000/9100 (Montecito, Montvale) and Generic
Packit 577717
	- For AMD X86:
Packit 577717
		AMD64 (K8, family 10h)
Packit 577717
	- For Intel X86: 
Packit 577717
		Intel P6 (Pentium II, Pentium Pro, Pentium III, Pentium M)
Packit 577717
		Intel Yonah (Core Duo/Core Solo),
Packit 577717
		Intel Netburst (Pentium 4, Xeon)
Packit 577717
		Intel Core (Merom, Penryn, Dunnington) Core 2 and Quad
Packit 577717
		Intel Atom
Packit 577717
		Intel Nehalem (Nehalem, Westmere)
Packit 577717
		Intel architectural perfmon v1, v2, v3
Packit 577717
	- For MIPS:
Packit 577717
		5K, 20K, 25KF, 34K, 5KC, 74K, R10000, R12000, RM7000, RM9000,
Packit 577717
		SB1, VR5432, VR5500, SiCortex ICA9A/ICE9B
Packit 577717
	- For Cray:
Packit 577717
		XT3, XT4, XT5, XT5h, X2
Packit 577717
	- For IBM:
Packit 577717
		IBM Cell processor
Packit 577717
		POWER: PPC970, PPC970MP, POWER4+, POWER5, POWER5+, POWER6, POWER7
Packit 577717
	- For Sun:
Packit 577717
		 Sparc: Ultra12, Ultra3, Ultra3i, Ultra3Plus, Ultra4Plus,
Packit 577717
		 Sparc: Niagara1, Niagara2
Packit 577717
Packit 577717
The core library is generic and does not depend on the perfmon interface. It is
Packit 577717
possible to use it on other operating systems.
Packit 577717
Packit 577717
WHAT'S THERE
Packit 577717
-------------
Packit 577717
	- the library source code including support for all processors listed
Packit 577717
	  above
Packit 577717
Packit 577717
	- a set of examples showing how the library can be used with the
Packit 577717
	  perfmon2 and perfmon3 kernel interface.
Packit 577717
Packit 577717
	- a set of older examples for IA-64 only using the legacy perfmon2
Packit 577717
	  interface (v2.0).
Packit 577717
Packit 577717
	- a set of library header files and the perfmon2 and perfmon3 kernel
Packit 577717
	  interface headers
Packit 577717
Packit 577717
	- libpfms: a simple library to help setup SMP system-wide monitoring
Packit 577717
	  sessions. It comes with a simple example. This library is not part
Packit 577717
	  of libpfm.
Packit 577717
Packit 577717
	- man pages for all the library entry points
Packit 577717
Packit 577717
	- Python bindings for libpfm and the perfmon interface (experimental).
Packit 577717
Packit 577717
INSTALLATION
Packit 577717
------------
Packit 577717
	- edit config.mk to :
Packit 577717
		- update some of the configuration variables
Packit 577717
		- make your compiler options
Packit 577717
Packit 577717
	- type make
Packit 577717
	- type make install
Packit 577717
Packit 577717
 	- To compile and install the Python bindings, you need to go to the
Packit 577717
	  python sub-directory and type make. Python is not systematically
Packit 577717
	  built
Packit 577717
Packit 577717
	- to compile the library for another ABI (e.g. 32-bit x86 on a
Packit 577717
	  64-bit x86) system, you can pass the ABI flag to the compiler as
Packit 577717
	  follows (assuming you have the multilib version of gcc):
Packit 577717
		$ make OPTION="-m32 -O2"
Packit 577717
Packit 577717
REQUIREMENTS:
Packit 577717
-------------
Packit 577717
	- to run the programs in the examples subdir, you MUST be using a linux
Packit 577717
	  kernel with perfmon3. Perfmon3 is available as a branch of the
Packit 577717
	  perfmon kernel GIT tree on kernel.org.
Packit 577717
Packit 577717
	- to run the programs in the examples_v2x subdir, you MUST be using a
Packit 577717
	  linux kernel with perfmon2. Perfmon2 is available as the main branch
Packit 577717
	  of the perfmon kernel GIT tree on kernel.org.
Packit 577717
Packit 577717
	- On IA-64, the examples in old_interface_ia64_examples work with
Packit 577717
	  any 2.6.x kernels.
Packit 577717
Packit 577717
	- to compile the Python bindings, you need to have SWIG and the python
Packit 577717
	  development packages installed
Packit 577717
Packit 577717
DOCUMENTATION
Packit 577717
-------------
Packit 577717
	- man pages for all entry points
Packit 577717
	- More information can be found on library web site:
Packit 577717
			http://perfmon2.sf.net