Home

Installing Performance Inspector ™ for Linux


Supported systems


Prerequisites

Performance Inspector is designed to work without the need to patch the kernel source code. Instead, it builds a kernel module compiled against the currently running kernel. This module takes advantage of the same system hooks used by OProfile, so we can be notified on timer ticks, task exit and memory unmap. For Dispatch hooks and ITrace, we use kprobes (ppc64) or run-time kernel patching (x86, x86_64).

You need the following prerequisites to compile and run Performance Inspector:


Installation using the tarball

  1. Make sure you have a softlink (or directory) to /usr/src/linux that matches your kernel (See Prerequisites).
  2. Make sure you have a libbfd.so (See Prerequisites).
  3. Download the complete source tarball pi_linux_cross_src-20080731.tar.gz
  4. Untar package:


  5. tar -xzf pi_linux_cross_src-20080731.tar.gz
    cd Dpiperf
     
  6. From Dpiperf directory, run

    ./tinstall.appl

    This will build and install user space tools. You will be asked for JDK directory if not in the path.
  7. Change to root (su) and from Dpiperf directory run

    ./tinstall.drv

    This will build, install, and load the kernel driver.


Installation using rpm packages


Precompiled rpm packages are currently available only for x86, x86_64, and PPC64 systems.
  1. You may need to remove a previous package before installing a new one.
    The rpm packages may be removed using rpm -e package_name(s).
    Note that we changed the package name in this release,to remove the previous release run:
    rpm -e dpiperf_appl dpiperf_drv

    You need two rpm files: for the user-space applications and for the kernel module.
    The user-space applications are precompiled and the kernel module is automatically built after rpm installation.
  2. Make sure you have a softlink (or directory) to /usr/src/linux that matches your kernel (See Prerequisites).

  3. Make sure you have a libbfd.so (See Prerequisites).

  4. For x86: pi_linux_appl-2008.07-31.i586.rpm
    For x86_64: pi_linux_appl-2008.07-31.x86_64.rpm
    For PPC64: pi_linux_appl-2008.07-31.ppc64.rpm
  5. Install the rpm package for the user-space applications:

    rpm -ivh --prefix tools_dir pi_linux_appl-2008.07-31.arch.rpm

    tools_dir is the directory where you want the tools to be installed; if --prefix is ommited,
    the default directory is /opt directory.
    arch is the architecture for which you downloaded the rpm.
    Note: If binutil version on your system does not match the one that was on the system where the rpm package was built,
    the post-install rpm script will build liba2n and post on your system.
  6. Download the kernel module rpm: pi_linux_drv-2008.07-31.noarch.rpm
  7. Install the rpm package for the kernel module:

    rpm -ivh --prefix tools_dir pi_linux_drv-2008.07-31.noarch.rpm

    tools_dir is the directory where you want the driver source code to be installed; if --prefix is ommited,
    the default directory is /opt directory.
    The post-install rpm script will build and install the kernel module.


Setting up the environment


A warning about ITrace

DO NOT RUN ITRACE WITHOUT A BACKUP,
Since ITrace can hang your system. In the current package on x86 and x86_64 systems, ITrace run-time patches stay in the kernel until the computer is rebooted, so do not manually unload the driver after collecting an ITrace. On PPC64, ITrace support can be safely removed by unloading the driver.


Known Problems

Home