3. Distribution, Configuration and Installation

3.1. KTAU Distribution Overview

KTAU distribution is organized as in following hierarchy.

  • TAU/patches/ : Contains patches for various versions of Linux kernel

  • KTAU/src/ : Contains extension to Linux kernel which is independent from version of the kernel.

  • KTAU/user-src/ : Contains user-space libraries and utilities.

  • misc/ : Contains works in progress.

3.2. Installation Steps

  1. btain a KTAU distribution.

  2. Obtain a vanilla Linux kernel.

  3. To install the kernel extension, in "KTAU/src/linux-2.x/", run

    sh INSTALL-kernel.sh <path of kernel source> <KTAU patch name>
    

    This script will patch the kernel source with the specified patch name, and Then install the KTAU extension to Linux kernel.

  4. To install libraries and utilities, in "KTAU/user-src/src", run

      
    make clean all install KERNEL_SRC=<path to kernel source>
    

    This will build and put all the libraries and utilities in "KTAU/user-src/bin", which must be included in $PATH variable.

  5. At kernel source root, run make menuconfig and configure the kernel. Configure KTAU as discussed in section 3.3.

  6. Compile and build the kernel as usual. At kernel root, run

    make clean dep bzImage modules modules_install  (for Linux-2. 4) 
    

    or

    make clean bzImage modules modules_install
    

    (for Linux-2.6)

  7. Install kernel image (bzImage for ix86) and configure the bootloader (i.e. lilo, grub) to choose the installed kernel image.

NOTE:please see "KTAU/KTAU_installation.log" for an installation demo.

3.3. Configuration

KTAU configuration is integrated into the Linux kernel configuration utility (i.e. make menuconfig). It is listed under KTAU Profiling and Profiling Support in Linux-2.4 and Linux-2.6 respectively. Each option enables instrumentations for each aspect of the kernel. Figure 2 shows a screenshot of KTAU configuration screen in Linux-2.4.30 after the kernel is patched with KTAU.

Figure 2.  KTAU configuration screenshot.

KTAU configuration screenshot.

Figure 2 shows a general configuration of KTAU. In this case, it enables profiling and tracing on all aspects. However, the option Merging KTAU Profile with TAU'is to be used together with TAU to generate a merged profile output from both kernel and user- space. However, this option limits the number of aspects that KTAU can profile since merging profile requires the profile data must be accessed only from process context, and not from interrupt context.