Changes since v2 [2] - rebase to next-20201113 - apply review feedback from David - acks from David and Rafael (thanks!) The first version was called "optimize handling of memory debugging parameters" [1], changes are: - apply review feedback - drop former Patch 3 - add new patches 3-5, change name and cover letter of series I have identified a number of issues and opportunities for cleanup with CONFIG_PAGE_POISON and friends: - interaction with init_on_alloc and init_on_free parameters depends on the order of parameters (Patch 1) - the boot time enabling uses static key, but inefficienty (Patch 2) - sanity checking is incompatible with hibernation (Patch 3) - CONFIG_PAGE_POISONING_NO_SANITY can be removed now that we have init_on_free (Patch 4) - CONFIG_PAGE_POISONING_ZERO can be most likely removed now that we have init_on_free (Patch 5) [1] https://lore.kernel.org/r/20201026173358.14704-1-vbabka@xxxxxxx [2] https://lore.kernel.org/linux-mm/20201103152237.9853-1-vbabka@xxxxxxx/ Vlastimil Babka (5): mm, page_alloc: do not rely on the order of page_poison and init_on_alloc/free parameters mm, page_poison: use static key more efficiently kernel/power: allow hibernation with page_poison sanity checking mm, page_poison: remove CONFIG_PAGE_POISONING_NO_SANITY mm, page_poison: remove CONFIG_PAGE_POISONING_ZERO drivers/virtio/virtio_balloon.c | 4 +- include/linux/mm.h | 54 +++++++++------ include/linux/poison.h | 4 -- init/main.c | 2 +- kernel/power/hibernate.c | 2 +- kernel/power/power.h | 2 +- kernel/power/snapshot.c | 14 +++- mm/Kconfig.debug | 28 ++------ mm/page_alloc.c | 112 ++++++++++++++++---------------- mm/page_poison.c | 56 ++-------------- tools/include/linux/poison.h | 6 +- 11 files changed, 117 insertions(+), 167 deletions(-) -- 2.29.2