On Sun, Jul 19, 2015 at 07:07:44PM +0800, Baoquan He wrote: > People reported that when allocating crashkernel memory using > ",high" and ",low" syntax, there were cases where the reservation > of the "high" portion succeeds, but the reservation of the "low" > portion fails. Then kexec can load kdump kernel successfully, but > the boot of kdump kernel fails as there's no low memory. This is > because allocation of low memory for kdump kernel can fail on large > systems for reasons. E.g it could be manually specified crashkernel > low memory is too large to find in memblock region. > > In this patch add return value for reserve_crashkernel_low. Then put > the crashkernel low memory reserving earlier, just between finding > the crashkernel high memory region and reserving crashkernel high > memory. Then if crashkernel low memory reserving failed we do not > reserve crashkernel high memory but return directly. Users can take > measures when they found kdump kernel cann't be loaded successfully. > > Signed-off-by: Baoquan He <b...@redhat.com> > --- > arch/x86/kernel/setup.c | 14 ++++++++------ > 1 file changed, 8 insertions(+), 6 deletions(-)
... > @@ -552,7 +552,7 @@ static void __init reserve_crashkernel_low(void) > if (!auto_set) > pr_info("crashkernel low reservation failed - No > suitable area found.\n"); > > - return; > + return EINVAL; Error values are negative: return -EINVAL; -- Regards/Gruss, Boris. ECO tip #101: Trim your mails when you reply. -- -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/