Re: [PATCH 1/4] mm: Provide kernel parameter to allow disabling page init poisoning

From: Dave Hansen
Date: Wed Sep 12 2018 - 11:25:21 EST


On 09/12/2018 07:49 AM, Alexander Duyck wrote:
>>> + page_init_poison= [KNL] Boot-time parameter changing the
>>> + state of poisoning of page structures during early
>>> + boot. Used to verify page metadata is not accessed
>>> + prior to initialization. Available with
>>> + CONFIG_DEBUG_VM=y.
>>> + off: turn off poisoning
>>> + on: turn on poisoning (default)
>>> +
>> what about the following wording or something along those lines
>>
>> Boot-time parameter to control struct page poisoning which is a
>> debugging feature to catch unitialized struct page access. This option
>> is available only for CONFIG_DEBUG_VM=y and it affects boot time
>> (especially on large systems). If there are no poisoning bugs reported
>> on the particular system and workload it should be safe to disable it to
>> speed up the boot time.
> That works for me. I will update it for the next release.

FWIW, I rather liked Dan's idea of wrapping this under
vm_debug=<something>. We've got a zoo of boot options and it's really
hard to _remember_ what does what. For this case, we're creating one
that's only available under a specific debug option and I think it makes
total sense to name the boot option accordingly.

For now, I think it makes total sense to do vm_debug=all/off. If, in
the future, we get more options, we can do things like slab does and do
vm_debug=P (for Page poison) for this feature specifically.

vm_debug = [KNL] Available with CONFIG_DEBUG_VM=y.
May slow down boot speed, especially on larger-
memory systems when enabled.
off: turn off all runtime VM debug features
all: turn on all debug features (default)