[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <56A5F3C8.4050202@de.ibm.com>
Date: Mon, 25 Jan 2016 11:07:04 +0100
From: Christian Borntraeger <borntraeger@...ibm.com>
To: Heiko Carstens <heiko.carstens@...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 01/25/2016 11:02 AM, Heiko Carstens wrote:
> On Mon, Jan 25, 2016 at 10:45:50AM +0100, Christian Borntraeger wrote:
>>>> + 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?
>
> Yes, that should be possible. "debug_pagealloc" is an early_param, which
> will be evaluated before we call paging_init() (both in
> arch/s390/kernel/setup.c).
>
> So it looks like this can be trivially changed. (replace the ifdefs in
> arch/s390/mm/vmem.c with debug_pagealloc_enabled()).
>
>>> 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.
>
> Well, given that we can change it like above... I don't care anymore ;)
Ok, I will give it a try, and come back with a rewording or an s390 patch.
Powered by blists - more mailing lists