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.
-
btain a
KTAUdistribution. -
Obtain a vanilla Linux kernel.
-
To install the kernel extension, in "
KTAU/src/linux-2.x/", runsh INSTALL-kernel.sh <path of kernel source> <
KTAUpatch name>This script will patch the kernel source with the specified patch name, and Then install the
KTAUextension to Linux kernel. -
To install libraries and utilities, in "
KTAU/user-src/src", runmake 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. -
At kernel source root, run make menuconfig and configure the kernel. Configure KTAU as discussed in section 3.3.
-
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)
-
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.
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 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.
