On Tue, 2019-10-01 at 14:51 +0300, Kirill A. Shutemov wrote: > On Tue, Oct 01, 2019 at 10:07:44AM +0200, Vlastimil Babka wrote: > > On 10/1/19 1:49 AM, Qian Cai wrote: > > > > > > > > > > On Sep 30, 2019, at 5:43 PM, Vlastimil Babka <vbabka@xxxxxxx> wrote: > > > > > > > > Well, my use case is shipping production kernels with CONFIG_PAGE_OWNER > > > > and CONFIG_DEBUG_PAGEALLOC enabled, and instructing users to boot-time > > > > enable only for troubleshooting a crash or memory leak, without a need > > > > to install a debug kernel. Things like static keys and page_ext > > > > allocations makes this possible without CPU and memory overhead when not > > > > boot-time enabled. I don't know too much about KASAN internals, but I > > > > assume it's not possible to use it that way on production kernels yet? > > > > > > In that case, why can’t users just simply enable page_owner=on and > > > debug_pagealloc=on for troubleshooting? The later makes the kernel > > > slower, but I am not sure if it is worth optimization by adding a new > > > parameter. There have already been quite a few MM-related kernel > > > parameters that could tidy up a bit in the future. > > > > They can do that and it was intention, yes. The extra parameter was > > requested by Kirill, so I'll defer the answer to him :) > > DEBUG_PAGEALLOC is much more intrusive debug option. Not all architectures > support it in an efficient way. Some require hibernation. > > I don't see a reason to tie these two option together. Make sense. How about page_owner=on will have page_owner_free=on by default? That way we don't need the extra parameter.