[PATCH v2 0/5] cleanup page poisoning

From: Vlastimil Babka
Date: Tue Nov 03 2020 - 10:26:58 EST


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