From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S964789AbbIWADB (ORCPT ); Tue, 22 Sep 2015 20:03:01 -0400 Received: from mx1.redhat.com ([209.132.183.28]:46622 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S934153AbbIWADA (ORCPT ); Tue, 22 Sep 2015 20:03:00 -0400 Date: Wed, 23 Sep 2015 08:02:55 +0800 From: Baoquan He To: Andrew Morton Cc: yinghai@kernel.org, dyoung@redhat.com, jroedel@suse.de, tglx@linutronix.de, mingo@redhat.com, hpa@zytor.com, bp@suse.de, linux-kernel@vger.kernel.org Subject: Re: [Patch v4] Do not reserve crashkernel high memory if crashkernel low memory reserving failed Message-ID: <20150923000255.GA2569@dhcp-17-102.nay.redhat.com> References: <1442922494-5677-1-git-send-email-bhe@redhat.com> <20150922125410.c7b4e8f47ee7fdf1147e2fa0@linux-foundation.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20150922125410.c7b4e8f47ee7fdf1147e2fa0@linux-foundation.org> User-Agent: Mutt/1.5.21 (2010-09-15) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 09/22/15 at 12:54pm, Andrew Morton wrote: > > --- a/arch/x86/kernel/setup.c > > +++ b/arch/x86/kernel/setup.c > > @@ -493,7 +493,7 @@ static void __init memblock_x86_reserve_range_setup_data(void) > > # define CRASH_KERNEL_ADDR_HIGH_MAX MAXMEM > > #endif > > > > -static void __init reserve_crashkernel_low(void) > > +static int __init reserve_crashkernel_low(void) > > { > > #ifdef CONFIG_X86_64 > > const unsigned long long alignment = 16<<20; /* 16M */ > > @@ -522,17 +522,15 @@ static void __init reserve_crashkernel_low(void) > > } else { > > /* passed with crashkernel=0,low ? */ > > if (!low_size) > > - return; > > + return 0; > > What's happening here? It's returning "success" when > parse_crashkernel_low() fails? It's the case user specify "crashkernel=0,low" to disable crashkernel low memory allocation explicitly. So here we parse the cmdline and get it's in this case, reture 0 directly. > > > } > > > > low_base = memblock_find_in_range(low_size, (1ULL<<32), > > low_size, alignment); > > > > if (!low_base) { > > - if (!auto_set) > > - pr_info("crashkernel low reservation failed - No suitable area found.\n"); > > - > > - return; > > + pr_info("crashkernel low reservation failed - No suitable area found.\n"); > > That's not a terribly useful message. If kdump is now unavailable and > the operator needs to take some remedial action then we should inform > them of this. > > Also, such a message should have higher severity than KERN_INFO? Yes, how about KERN_ERR? It's an unexpected result from kdump side though it doesn't harm the normal kernel. >