Difference between revisions of "(K)TAU"

From ZeptoOS
Jump to navigationJump to search
Line 6: Line 6:
  
 
===Acquiring KTAU===
 
===Acquiring KTAU===
 +
 +
 
===Configuring under ZeptoOS===
 
===Configuring under ZeptoOS===
 +
<pre>
 +
[email protected]:~/BGP> ./configure --edit
 +
 +
[email protected]:~/BGP> cat Make.rules
 +
#
 +
# Automatically generated make config: don't edit
 +
#
 +
 +
#
 +
# BG/P DIST_DIR
 +
#
 +
DRV_DIR="/bgsys/drivers/ppcfloor/"
 +
BGP_CROSS="$(DRV_DIR)/gnu-linux/bin/powerpc-bgp-linux-"
 +
BGCNS_H_PATH="$(DRV_DIR)/mcp-2.6.16.46/include/"
 +
BGCNS_H="$(BGCNS_H_PATH)/bgcns.h"
 +
OS_DIR="/bgsys/linux/1.3.020081029"
 +
 +
#
 +
# KTAU
 +
#
 +
KTAU_DIR="/home/anataraj/ktau-1.7.15-bgpzepto"
 +
KTAU_PATCH="patch-2.6.19.2-ktau-1.7.15-bgpzepto"
 +
 +
[email protected]:~/BGP> cd kernel/
 +
 +
[email protected]:~/BGP/kernel> make help
 +
 +
[menu]
 +
 +
bgp-ion-linux                : Simply use recent built or prebuilt ION kernel (no kernel rebuild)
 +
bgp-ion-linux-prebuilt        : Use prebuilt ION kernel
 +
bgp-ion-linux-menuconfig      : Invoke ION kernel menuconfig
 +
bgp-ion-linux-build          : Rebuild ION kernel and copy
 +
bgp-ion-linux-try-patching    : Try to apply new patch to ION kernel
 +
bgp-ion-linux-update-prebuilt : Copy ION kernel from tmp dir to prebuilt dir (no rebuild)
 +
 +
bgp-cn-linux                  : Rebuild CN ramdisk and merge with recent built or prebuilt CN kernel objs
 +
bgp-cn-linux-prebuilt        : Use prebuilt CN kernel
 +
bgp-cn-linux-menuconfig      : Invoke CN kernel menuconfig
 +
bgp-cn-linux-build            : Rebuild CN kernel objs and CN ramdisk, then merge them into CN Kernel
 +
bgp-cn-linux-try-patching    : Try to apply new patch to CN kernel
 +
bgp-cn-linux-update-prebuilt  : Copy CN kernel objs from tmp dir to prebuilt dir (no build)
 +
bgp-cn-linux-add-ktau        : Patch CN kernel with KTAU and link in KTAU headers & sources
 +
bgp-cn-linux-del-ktau        : Remove KTAU patch and links from CN kernel
 +
 +
NOTE:
 +
- The following targets copy prebuilt or newly built kernel image to the top dir
 +
  bgp-ion-linux, bgp-ion-linux-build, bgp-cn-linux, bgp-cn-linux-build and bgp-cn-linux-ramdisk
 +
 +
- 'make GIT=1 ...' clone repo from public git repo via http and use them as target source tree
 +
- By default, kernel tarballs are extracted and use them as target source tree
 +
 +
[email protected]:~/BGP/kernel> make bgp-cn-linux-add-ktau
 +
[ -d work ] || mkdir work
 +
tar xfj tarball/linux-2.6.19.2-BGP-V1R3.tar.bz2 -C work
 +
if [ -f tarball/linux-2.6.19.2-BGP-V1R3.patch ] ; then \
 +
( cd work/linux-2.6.19.2-BGP-V1R3 ; patch -p1 < ../../tarball/linux-2.6.19.2-BGP-V1R3.patch ) ; \
 +
cp tarball/linux-2.6.19.2-BGP-V1R3.patch work/linux-2.6.19.2-BGP-V1R3.patch.applied ; \
 +
fi
 +
patching file Makefile
 +
patching file arch/ppc/Kconfig
 +
patching file arch/ppc/kernel/head_44x.S
 +
patching file arch/ppc/kernel/vmlinux.lds.S
 +
patching file arch/ppc/mm/zepto_flatmem.c
 +
patching file arch/ppc/syslib/bgdd/bluegene_console.c
 +
patching file arch/ppc/syslib/bgdd/bluegene_dma.c
 +
patching file bgp-cn-2.6.19.2-dot-config
 +
patching file bgp-ion-flatmem-2.6.19.2-dot-config
 +
patching file fs/Kconfig
 +
patching file include/asm-ppc/page.h
 +
patching file include/asm-ppc/pgtable.h
 +
patching file include/linux/mmzone.h
 +
patching file kernel/exit.c
 +
touch work/.cn_kernel_prepared
 +
Linking to KTAU headers...
 +
Linking to KTAU sources...
 +
Linking to KTAU make...
 +
Applying KTAU patch...
 +
patching file arch/powerpc/kernel/irq.c
 +
patching file arch/powerpc/oprofile/Kconfig
 +
patching file arch/ppc/kernel/entry.S
 +
Hunk #4 succeeded at 306 (offset -6 lines).
 +
patching file arch/ppc/kernel/smp.c
 +
patching file arch/ppc/kernel/time.c
 +
patching file arch/ppc/kernel/traps.c
 +
Hunk #1 succeeded at 69 (offset -7 lines).
 +
patching file arch/ppc/syslib/bgdd/bluegene_network.c
 +
Hunk #2 succeeded at 496 (offset -34 lines).
 +
Hunk #3 succeeded at 513 (offset -34 lines).
 +
patching file include/linux/sched.h
 +
patching file init/main.c
 +
patching file kernel/fork.c
 +
patching file kernel/irq/handle.c
 +
patching file kernel/Makefile
 +
patching file kernel/sched.c
 +
patching file kernel/softirq.c
 +
patching file kernel/timer.c
 +
patching file kernel/workqueue.c
 +
patching file Makefile
 +
NOTE: Integration of KTAU into ZeptoOS is complete. Next, please configure KTAU kernel options using "make bgp-cn-linux-menuconfig". After that, please follow the standard ZeptoOS build steps (e.g. "make bgp-cn-linux-build").
 +
 +
[email protected]:~/BGP/kernel> make bgp-cn-linux-menuconfig
 +
 +
[email protected]:~/BGP/kernel> make bgp-cn-linux-build
 +
 +
[email protected]:~/BGP/kernel> make bgp-cn-linux-update-prebuilt
 +
Copying kernel objs from tmp/cnkernelobjs to prebuilt/2.6.19/objs/ ...
 +
done
 +
CN kernel prebuilt objs and kernel image has been updated
 +
 +
[email protected]:~/BGP/kernel> cd ..
 +
 +
 +
/home/anataraj/BGP
 +
 +
[email protected]:~/BGP> make
 +
Create root password for I/O Node
 +
  Leave the password field empty if you want to disable root login
 +
  New password:
 +
  Retype new password:
 +
<snipped out>
 +
Zepto Kernel and ramdisk images are ready:
 +
BGP-CN-zImage-with-initrd.elf
 +
BGP-ION-ramdisk.elf
 +
BGP-ION-ramdisk-for-CNL.elf
 +
BGP-ION-zImage.elf
 +
 +
</pre>
 +
 +
 
===Building ZeptoOS with KTAU===
 
===Building ZeptoOS with KTAU===
 +
 
===Updating the Kernel profile===
 
===Updating the Kernel profile===
 +
 
===Example Run===
 
===Example Run===
 +
 +
 +
  
 
==TAU==
 
==TAU==

Revision as of 11:48, 27 April 2009

Top


Both TAU (Tuning and Analysis Utilities) and its Linux kernel counterpart, KTAU have been ported to ZeptoOS. In addition the build system of the ZeptoOS kernel has been modified to simplify the integration of KTAU patches. The following sections describe how to acquire, configure, build and use TAU and KTAU under ZeptoOS, with Surveyor at ANL as the test platform. The KTAU section appears first as the TAU section has some dependencies on that information.

KTAU

Acquiring KTAU

Configuring under ZeptoOS

[email protected]:~/BGP> ./configure --edit

[email protected]:~/BGP> cat Make.rules
#
# Automatically generated make config: don't edit
#

#
# BG/P DIST_DIR
#
DRV_DIR="/bgsys/drivers/ppcfloor/"
BGP_CROSS="$(DRV_DIR)/gnu-linux/bin/powerpc-bgp-linux-"
BGCNS_H_PATH="$(DRV_DIR)/mcp-2.6.16.46/include/"
BGCNS_H="$(BGCNS_H_PATH)/bgcns.h"
OS_DIR="/bgsys/linux/1.3.020081029"

#
# KTAU
#
KTAU_DIR="/home/anataraj/ktau-1.7.15-bgpzepto"
KTAU_PATCH="patch-2.6.19.2-ktau-1.7.15-bgpzepto"

[email protected]:~/BGP> cd kernel/

[email protected]:~/BGP/kernel> make help

[menu]

bgp-ion-linux                 : Simply use recent built or prebuilt ION kernel (no kernel rebuild)
bgp-ion-linux-prebuilt        : Use prebuilt ION kernel
bgp-ion-linux-menuconfig      : Invoke ION kernel menuconfig
bgp-ion-linux-build           : Rebuild ION kernel and copy
bgp-ion-linux-try-patching    : Try to apply new patch to ION kernel
bgp-ion-linux-update-prebuilt : Copy ION kernel from tmp dir to prebuilt dir (no rebuild)

bgp-cn-linux                  : Rebuild CN ramdisk and merge with recent built or prebuilt CN kernel objs
bgp-cn-linux-prebuilt         : Use prebuilt CN kernel
bgp-cn-linux-menuconfig       : Invoke CN kernel menuconfig
bgp-cn-linux-build            : Rebuild CN kernel objs and CN ramdisk, then merge them into CN Kernel
bgp-cn-linux-try-patching     : Try to apply new patch to CN kernel
bgp-cn-linux-update-prebuilt  : Copy CN kernel objs from tmp dir to prebuilt dir (no build)
bgp-cn-linux-add-ktau         : Patch CN kernel with KTAU and link in KTAU headers & sources
bgp-cn-linux-del-ktau         : Remove KTAU patch and links from CN kernel

NOTE:
- The following targets copy prebuilt or newly built kernel image to the top dir
  bgp-ion-linux, bgp-ion-linux-build, bgp-cn-linux, bgp-cn-linux-build and bgp-cn-linux-ramdisk

- 'make GIT=1 ...' clone repo from public git repo via http and use them as target source tree
- By default, kernel tarballs are extracted and use them as target source tree

[email protected]:~/BGP/kernel> make bgp-cn-linux-add-ktau 
[ -d work ] || mkdir work
tar xfj tarball/linux-2.6.19.2-BGP-V1R3.tar.bz2 -C work
if [ -f tarball/linux-2.6.19.2-BGP-V1R3.patch ] ; then \
	( cd work/linux-2.6.19.2-BGP-V1R3 ; patch -p1 < ../../tarball/linux-2.6.19.2-BGP-V1R3.patch ) ; \
	cp tarball/linux-2.6.19.2-BGP-V1R3.patch work/linux-2.6.19.2-BGP-V1R3.patch.applied ; \
fi
patching file Makefile
patching file arch/ppc/Kconfig
patching file arch/ppc/kernel/head_44x.S
patching file arch/ppc/kernel/vmlinux.lds.S
patching file arch/ppc/mm/zepto_flatmem.c
patching file arch/ppc/syslib/bgdd/bluegene_console.c
patching file arch/ppc/syslib/bgdd/bluegene_dma.c
patching file bgp-cn-2.6.19.2-dot-config
patching file bgp-ion-flatmem-2.6.19.2-dot-config
patching file fs/Kconfig
patching file include/asm-ppc/page.h
patching file include/asm-ppc/pgtable.h
patching file include/linux/mmzone.h
patching file kernel/exit.c
touch work/.cn_kernel_prepared
Linking to KTAU headers...
Linking to KTAU sources...
Linking to KTAU make...
Applying KTAU patch...
patching file arch/powerpc/kernel/irq.c
patching file arch/powerpc/oprofile/Kconfig
patching file arch/ppc/kernel/entry.S
Hunk #4 succeeded at 306 (offset -6 lines).
patching file arch/ppc/kernel/smp.c
patching file arch/ppc/kernel/time.c
patching file arch/ppc/kernel/traps.c
Hunk #1 succeeded at 69 (offset -7 lines).
patching file arch/ppc/syslib/bgdd/bluegene_network.c
Hunk #2 succeeded at 496 (offset -34 lines).
Hunk #3 succeeded at 513 (offset -34 lines).
patching file include/linux/sched.h
patching file init/main.c
patching file kernel/fork.c
patching file kernel/irq/handle.c
patching file kernel/Makefile
patching file kernel/sched.c
patching file kernel/softirq.c
patching file kernel/timer.c
patching file kernel/workqueue.c
patching file Makefile
NOTE: Integration of KTAU into ZeptoOS is complete. Next, please configure KTAU kernel options using "make bgp-cn-linux-menuconfig". After that, please follow the standard ZeptoOS build steps (e.g. "make bgp-cn-linux-build").

[email protected]:~/BGP/kernel> make bgp-cn-linux-menuconfig 

[email protected]:~/BGP/kernel> make bgp-cn-linux-build

[email protected]:~/BGP/kernel> make bgp-cn-linux-update-prebuilt 
Copying kernel objs from tmp/cnkernelobjs to prebuilt/2.6.19/objs/ ...
done
CN kernel prebuilt objs and kernel image has been updated

[email protected]:~/BGP/kernel> cd ..

[email protected]:~/BGP> pwd
/home/anataraj/BGP

[email protected]:~/BGP> make 
Create root password for I/O Node
   Leave the password field empty if you want to disable root login
   New password:
   Retype new password:
<snipped out>
Zepto Kernel and ramdisk images are ready:
BGP-CN-zImage-with-initrd.elf
BGP-ION-ramdisk.elf
BGP-ION-ramdisk-for-CNL.elf
BGP-ION-zImage.elf


Building ZeptoOS with KTAU

Updating the Kernel profile

Example Run

TAU

Acquiring KTAU

Configuring under ZeptoOS

Example Run

Using TAU with KTAU : Integrated Profiles

Configuring under ZeptoOS

Example Run


Top