lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:	Mon, 25 Jan 2016 10:41:32 +0100
From:	Heiko Carstens <heiko.carstens@...ibm.com>
To:	Christian Borntraeger <borntraeger@...ibm.com>
Cc:	linux-kernel@...r.kernel.org, peterz@...radead.org,
	akpm@...ux-foundation.org, linux-mm@...ck.org,
	Joonsoo Kim <iamjoonsoo.kim@....com>
Subject: Re: [PATCH] mm/debug_pagealloc: Ask users for default setting of
 debug_pagealloc

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@...ibm.com>
> or
> https://lkml.kernel.org/g/<56A20F30.4050705@...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 <iamjoonsoo.kim@....com>
> Cc: Andrew Morton <akpm@...ux-foundation.org>
> Signed-off-by: Christian Borntraeger <borntraeger@...ibm.com>
> ---
>  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.

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.

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ