From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756372AbcAYJqB (ORCPT ); Mon, 25 Jan 2016 04:46:01 -0500 Received: from e06smtp09.uk.ibm.com ([195.75.94.105]:50874 "EHLO e06smtp09.uk.ibm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755710AbcAYJp4 (ORCPT ); Mon, 25 Jan 2016 04:45:56 -0500 X-IBM-Helo: d06dlp03.portsmouth.uk.ibm.com X-IBM-MailFrom: borntraeger@de.ibm.com X-IBM-RcptTo: linux-kernel@vger.kernel.org Subject: Re: [PATCH] mm/debug_pagealloc: Ask users for default setting of debug_pagealloc To: Heiko Carstens References: <1453713588-119602-1-git-send-email-borntraeger@de.ibm.com> <20160125094132.GA4298@osiris> Cc: linux-kernel@vger.kernel.org, peterz@infradead.org, akpm@linux-foundation.org, linux-mm@kvack.org, Joonsoo Kim From: Christian Borntraeger Message-ID: <56A5EECE.90607@de.ibm.com> Date: Mon, 25 Jan 2016 10:45:50 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.5.0 MIME-Version: 1.0 In-Reply-To: <20160125094132.GA4298@osiris> Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit X-TM-AS-MML: disable X-Content-Scanned: Fidelis XPS MAILER x-cbid: 16012509-0037-0000-0000-0000055E3222 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 01/25/2016 10:41 AM, Heiko Carstens wrote: > On Mon, Jan 25, 2016 at 10:19:48AM +0100, Christian Borntraeger wrote: >> since commit 031bc5743f158 ("mm/debug-pagealloc: make debug-pagealloc >> boottime configurable") CONFIG_DEBUG_PAGEALLOC is by default a no-op. >> >> This resulted in several unnoticed bugs, e.g. >> >> https://lkml.kernel.org/g/<569F5E29.3090107@de.ibm.com> >> or >> https://lkml.kernel.org/g/<56A20F30.4050705@de.ibm.com> >> >> as this behaviour change was not even documented in Kconfig. >> >> Let's provide a new Kconfig symbol that allows to change the default >> back to enabled, e.g. for debug kernels. This also makes the change >> obvious to kernel packagers. >> >> Let's also change the Kconfig description for CONFIG_DEBUG_PAGEALLOC, >> to indicate that it is ok to enable this by default. >> >> Cc: Joonsoo Kim >> Cc: Andrew Morton >> Signed-off-by: Christian Borntraeger >> --- >> mm/Kconfig.debug | 17 +++++++++++++++++ >> mm/page_alloc.c | 6 +++++- >> 2 files changed, 22 insertions(+), 1 deletion(-) >> >> diff --git a/mm/Kconfig.debug b/mm/Kconfig.debug >> index 957d3da..4cf1212 100644 >> --- a/mm/Kconfig.debug >> +++ b/mm/Kconfig.debug >> @@ -26,5 +26,22 @@ config DEBUG_PAGEALLOC >> that would result in incorrect warnings of memory corruption after >> a resume because free pages are not saved to the suspend image. >> >> + By default this option will be almost for free and can be activated >> + in distribution kernels. The overhead and the debugging can be enabled >> + by DEBUG_PAGEALLOC_ENABLE_DEFAULT or the debug_pagealloc command line >> + parameter. > > Sorry, but it's not almost for free and should not be used by distribution > kernels. If we have DEBUG_PAGEALLOC enabled, at least on s390 we will not > make use of 2GB and 1MB pagetable entries for the identy mapping anymore. > Instead we will only use 4K mappings. Hmmm, can we change these code areas to use debug_pagealloc_enabled? I guess this evaluated too late? > I assume this is true for all architectures since freeing pages can happen > in any context and therefore we can't allocate memory in order to split > page tables. > > So enabling this will cost memory and put more pressure on the TLB. So I will change the description and drop the "if unsure" statement. Christian