On Tue, 2006-03-14 at 01:39, Khalid Aziz wrote: > I have updated kexec patch for ia64. Attached patch fixes a couple of > bugs from previous version and incorporates code developed by Nan Hai. > This patch works on 2.6.16-rc6 kernel. Also attached is a patch for > kexec-tools which applies on top of kexec-tools-1.101 release from Eric > Biederman 7Eebiederm/files/kexec/kexec-tools-1.101.tar.gz> and adds support for > ia64. Please test and provide feedback. > > I am working on integrating kdump support and will post that patch once > I have tested it. Thanks for merging the patches, Some issues in the patches. 1. in machine_crash_shutdown we can't call device_shutdown, because device or device driver may fail at this point. call to machine_shutdown is unnecessary, because high level code will call it. 2. I am afraid #ifdef ... #include ... #endif is not the linux including style, ifdefs are already in header file, you just need to include the header. and there is also some unnecessary extern declares in your code. 3. Is the set ar.k0 code necessary? ar.k0 is already holding the right value. 4. Is the VHPT disable code necessary? kernel will soon goes into Physical mode and the new kernel will reset VHPT walker. 5. Is the PCI disable code too complex? The overall concern is I am afraid the code is too much than necessary. Attach is the kdump patches which I have sent to you for merging. I post it to community for early test on various platforms before merging is done. the first patch applies to 2.6.15 kernel the second patch applies to kexec-tools-1.101 and the generic kexec-tools-1.101-kdump.patch to test kexec, build the kernel with CPU_HOTPLUG and kexec enabled, reboot to this kernel. kexec -l vmlinux.gz --initrd="...." --append="...." kexec -e the second kernel can be any kernel even an 2.4 based kernel... to test kdump, build the first kernel with kdump enabled, you may need to enable sysrq support to help you trigger a crash. Build a second crashdumping UP kernel with pseudo proc fs vmcore enabled. boot to first kernel with kernel parameter crashkernel=XXXM@YYYM which means reserve XXXM memory at physical address YYYM for crashdumping kernel. then kexec -p crash-kernel-vmlinux.gz --initrd="...." --append="...." echo c > /proc/sysre-trigger to tigger a crash. Then the crash dumping kernel boots, log into the crash dumping kernel, cp /proc/vmcore core gdb first-kernel-vmlinux core Thanks Zou Nan hai