Difference between revisions of "(K)TAU"
From ZeptoOS
Jump to navigationJump to searchLine 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 .. | ||
+ | |||
+ | [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 | ||
+ | |||
+ | </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
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