Hi, Here is a minor update to this patch, which makes the use of log priorities more consistent.
-- Horms H: http://www.vergenet.net/~horms/ W: http://www.valinux.co.jp/en/ Date: Tue, 06 Mar 2007 16:28:51 +0900 To: Linux-IA64 <[email protected]>, [email protected] Cc: Tony Luck <[EMAIL PROTECTED]>, Nanhai Zou <[EMAIL PROTECTED]>, Magnus Damm <[EMAIL PROTECTED]> Subject: [patch 2/3] IA64: log insertion of crashkernel region Message-Id: <[EMAIL PROTECTED]> This patch adds a faclilty to print out a message regarding the success or failure of inserting the crashkernel region. On systems with a large ammount of memory, the chances of failure tend to be quite low, especially now that the base address of the region can be determined by the kernel. However, on systems with less memory, such as Xen's Domain 0, it can occur, and silently failing is confusing to say the least. It also updates the error message generated by kdump_find_rsvd_region() if it can't locate a base address for the requested crashkernel region, which is really just another failure mode for the problem detailed in the paragraph above. * Update - Consistently use KERN_WARNING for errors/warnings (which are not critical) and ERN_INFO for logging success Signed-off-by: Simon Horman <[EMAIL PROTECTED]> linux-2.6/arch/ia64/kernel/efi.c | 25 +++++++++++++++++++++---- 1 file changed, 21 insertions(+), 4 deletions(-) Index: linux-2.6/arch/ia64/kernel/efi.c =================================================================== --- linux-2.6.orig/arch/ia64/kernel/efi.c 2007-03-07 09:39:15.000000000 +0900 +++ linux-2.6/arch/ia64/kernel/efi.c 2007-03-07 09:40:49.000000000 +0900 @@ -1076,6 +1076,9 @@ u64 efi_desc_size; char *name; unsigned long flags; +#ifdef CONFIG_KEXEC + int crashk_res_inserted = 0; +#endif efi_map_start = __va(ia64_boot_param->efi_memmap); efi_map_end = efi_map_start + ia64_boot_param->efi_memmap_size; @@ -1152,11 +1155,25 @@ #ifdef CONFIG_KEXEC insert_resource(res, &efi_memmap_res); insert_resource(res, &boot_param_res); - if (crashk_res.end > crashk_res.start) - insert_resource(res, &crashk_res); + if (!crashk_res_inserted && + crashk_res.end > crashk_res.start && + insert_resource(res, &crashk_res) >= 0) + crashk_res_inserted = 1; + #endif } } + + if (crashk_res.end > crashk_res.start) { + if (crashk_res_inserted) + printk(KERN_INFO "Kdump: registered crashdump: " + "0x%08lx-0x%08lx\n", crashk_res.start, + crashk_res.end); + else + printk(KERN_WARNING "Kdump: failed to insert resource " + "for crashdump: 0x%08lx-0x%08lx\n", + crashk_res.start, crashk_res.end); + } } #ifdef CONFIG_KEXEC @@ -1277,8 +1294,8 @@ return start; } - printk(KERN_WARNING "Cannot reserve 0x%lx byte of memory for crashdump\n", - size); + printk(KERN_WARNING "Kdump: failed to find a base address for 0x%lx bytes" + "of memory for crashdump\n", size); return ~0UL; } #endif _______________________________________________ fastboot mailing list [email protected] https://lists.osdl.org/mailman/listinfo/fastboot
