Messages in this thread | | | Subject | Re: [PATCH] mm/debug_pagealloc: Ask users for default setting of debug_pagealloc | From | Christian Borntraeger <> | Date | Mon, 25 Jan 2016 11:07:04 +0100 |
| |
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.
| |