On 08/07/2011 10:48 PM, Amirali Shambayati wrote:
Would you say how you rebuild kernel?
On Sun, Aug 7, 2011 at 10:34 PM, Randy Dunlap <rdunlap@xenotime.net> wrote:
On Sun, 7 Aug 2011 21:39:12 +0430 Amirali Shambayati wrote:
Hi all, Since I want to evaluate performance improvements by changing just one file in kernel(noop-iosched) and compiling kernel is too much time-consuming, I want to know that if I compile kernel for more than one time, does it take similar time to first time?
I use following commands. If I don't use "make-kpkg clean" for next times, does it just compile the files which have been modified or it compile whole kernel package again?
make-kpkg clean fakeroot make-kpkg --initrd --append-to-version=-some-string-here kernel-image kernel-headers Since I never use make-kpkg, I can only tell you that when I modified block/noop-iosched.c and rebuilt the kernel, here is what was rebuilt:
GEN /lnx/src/NEXT/linux-next-20110805/X32/Makefile CHK include/linux/version.h Using /lnx/src/NEXT/linux-next-20110805 as source for kernel CHK include/generated/utsrelease.h CALL /lnx/src/NEXT/linux-next-20110805/scripts/checksyscalls.sh CHK include/generated/compile.h CHK kernel/config_data.h CC block/noop-iosched.o LD block/built-in.o LD vmlinux.o MODPOST vmlinux.o GEN .version CHK include/generated/compile.h UPD include/generated/compile.h CC init/version.o LD init/built-in.o LD .tmp_vmlinux1 KSYM .tmp_kallsyms1.S AS .tmp_kallsyms1.o LD .tmp_vmlinux2 KSYM .tmp_kallsyms2.S AS .tmp_kallsyms2.o LD vmlinux SYSMAP System.map SYSMAP .tmp_System.map Building modules, stage 2. VOFFSET arch/x86/boot/voffset.h CC arch/x86/boot/version.o OBJCOPY arch/x86/boot/compressed/vmlinux.bin LZMA arch/x86/boot/compressed/vmlinux.bin.lzma MODPOST 575 modules MKPIGGY arch/x86/boot/compressed/piggy.S AS arch/x86/boot/compressed/piggy.o LD arch/x86/boot/compressed/vmlinux ZOFFSET arch/x86/boot/zoffset.h OBJCOPY arch/x86/boot/vmlinux.bin AS arch/x86/boot/header.o LD arch/x86/boot/setup.elf OBJCOPY arch/x86/boot/setup.bin BUILD arch/x86/boot/bzImage Setup is 14972 bytes (padded to 15360 bytes). System is 1287 kB CRC 64ecf4d Kernel: arch/x86/boot/bzImage is ready (#18)
so it's a minimal rebuild, not a full kernel rebuild.
--- ~Randy *** Remember to use Documentation/SubmitChecklist when testing your code ***
just run a make at the toplevel kernel sources directory...if you change just one file, make won't rebuild everything, just what it needs to be rebuilt and 'relinked'...
you're rebuilding the whole kernel every time, because you're running make-pkg clean, which I think runs make clean and cleans every object file you've built so far... -- Stratos Psomadakis <psomas@gentoo.org>