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 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 | 43 ++++++------ 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 | 113 ++++++++++++++++---------------- mm/page_poison.c | 56 ++-------------- tools/include/linux/poison.h | 6 +- 11 files changed, 106 insertions(+), 168 deletions(-) -- 2.29.1