Messages in this thread | | | Date | Mon, 25 Jan 2016 11:02:48 +0100 | From | Heiko Carstens <> | Subject | Re: [PATCH] mm/debug_pagealloc: Ask users for default setting of debug_pagealloc |
| |
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 ;)
| |