[PATCH 0/3] optimize handling of memory debugging parameters

From: Vlastimil Babka
Date: Mon Oct 26 2020 - 13:34:10 EST


We currently have several kernel parameters that affect page allocator wrt
debugging and hardening, some also with config options: init_on_alloc,
init_on_free, page_poison, debug_pagealloc.

These options generally have their own static keys, but sometimes a decision
for e.g. clearing a page depends on multiple options, and the handling is not
as efficient as it could be. This series addresses that by centralizing the
decisions into a new init_mem_debugging() function that enables individual
static keys, and most paths now rely on a single static key check. Subtle
dependency on the order of parameters is also eliminated (Patch 1). The result
is more efficient and hopefully also more readable code.

Vlastimil Babka (3):
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
mm, page_alloc: reduce static keys in prep_new_page()

drivers/virtio/virtio_balloon.c | 2 +-
include/linux/mm.h | 36 ++++-----
init/main.c | 2 +-
mm/page_alloc.c | 126 ++++++++++++++++++--------------
mm/page_poison.c | 40 ++--------
5 files changed, 97 insertions(+), 109 deletions(-)

--
2.29.0