pfmon-3.0 is now available

From: Stephane Eranian <>
Date: 2003-12-03 07:32:27

I am happy to report that I have finally released version 3.0 of the pfmon,
a tool to monitor performance on Linux/ia64.

This version represents a major milestone for pfmon. They are many many 
new features to explore, most of them unprecedented on Linux.

Short summary of the new features and changes:
  - full support for Itanium, Itanium2 (all processors in the family)
  - updated to use the kernel perfmon-2 interface
  - complete rewrite of the per-task monitoring support
  - you can now selectively monitor (counting and sampling) across fork(), 
    vfork(), pthread_create() (--follow-fork, --follow-vfork, --follow-pthread, --follow-all)
  - you can follow across several levels of exec() (--follow-exec-*)
  - you can use regular expression to include/exclude certain exec() (--follow-exec, --follow-exec-excl)
  - task execution before and after an exec() can be differentiated (--exec-split)
  - support for code triggers allow you to start and stop monitoring when 
    execution reaches certain locations (--trigger-code-start, --trigger-code-stop)
  - support for data triggers allow you to start and stop monitoring when certain data memory locations
    are accessed (--tigger-data-start, --trigger-data-stop)
  - support for data triggers on read/write/read-write accesses (--trigger-data-ro, --trigger-data-wo)
  - code/data triggers can be repeated (--trigger-code-repeat, --trigger-data-repeat)
  - code/data triggers can follow fork/vfork/pthread_create (--trigger-code-follow, --trigger-data-follow)
  - code stop triggers can be dynamically determined (monitoring limited to execution within a function)
  - you can attach to an already running task (--attach-task)
  - correlation of sample addresses to symbols for the kernel in system-wide mode via /proc/kallsyms (--resolve-addresses)
  - correlation of sample addresses to symbols for task/kernel in per-task mode.
  - you can force a reset of counters not used as sampling periods for each sample (--smpl-reset-non-smpl-periods)
  - you can turn off output of commands that are monitored (--no-cmd-output)
  - support for up to 1024 processors, list specification instead of bitmask (--cpu-list)
  - for experts, possibility to bypass certain event qualifier checks on Itanium and Itanium2 (--no-qual-check)
  - saturation mode when sampling, i.e., only captures the first n samples  (--saturate-smpl-buffer)

	- because pfmon-3.0 is a pure perfmon-2 tool, it CAN ONLY RUN on 2.6.0-test5 kernels or higher. 
	  As several important bugs were fixed recently, I STRONGLY recommend that you download the latest 2.6 
	  kernels from Linus's or David's BK repository.

	- you must have libpfm-3.0 (NOT 3.0-beta) installed (runtime/dev)

	- you must have the libelf or elfutil development package installed

	- given that there is not 2.6-based Linux/ia64 distribution at this point
	  you need to host this on your current distribution and reboot with a 2.6
	  kernel. Pfmon compiles with both LinuxThreads and NPTL thread libraries
	  without Makefile changes.

	The package includes a completely updated documentation which describes
	ALL the features available in pfmon. For each implementation specific
	features (Itanium and Itanium2) there is an additional file.

	The entire documentation is also available online at the perfmon 
	web site at:

	Due to limited resources, not all features combinations have necessarily 
	been tested. I have not tested pfmon-3.0 on Itanium (Merced) machines.

	Feel free to test pfmon on your systems and report bugs to me 
	personally or preferrably on the perfmon mailing-list at (must be a member to post).

	 pfmon-3.0 source tar file:
		MD5SUM: 3f4ea872488ebda2987716d8686981cc

	 pfmon-3.0 binary RPM (RHEL-3.0):
		MD5SUM: 811aafc7280aa6e3be1567ecb6ffa28d

The control files to build the Debian package are included in the source
tar file.


To unsubscribe from this list: send the line "unsubscribe linux-ia64" in
the body of a message to
More majordomo info at
Received on Tue Dec 2 15:43:28 2003

This archive was generated by hypermail 2.1.8 : 2005-08-02 09:20:20 EST