On 2024/3/19 0:33, Mike Rapoport wrote: > On Mon, Mar 18, 2024 at 09:57:14PM +0800, thunder.leizhen@xxxxxxxxxxxxxxx wrote: >> From: Zhen Lei <thunder.leizhen@xxxxxxxxxx> >> >> The local variable 'page_poisoning_requested' is assigned true at only >> one point. It can be eliminated by moving the code that depends on it >> to the location where it is assigned true. This also make the moved >> code to be compiled only if CONFIG_PAGE_POISONING is set. > > I don't see it as much of an improvement and code readability becomes worse > IMO. Yes, the moved branch will be optimized by the compiler if CONFIG_PAGE_POISONING is not set. But for a reader, he can simply skip over that moved branch when CONFIG_PAGE_POISONING is not set. > >> Signed-off-by: Zhen Lei <thunder.leizhen@xxxxxxxxxx> >> --- >> mm/mm_init.c | 17 +++++++---------- >> 1 file changed, 7 insertions(+), 10 deletions(-) >> >> diff --git a/mm/mm_init.c b/mm/mm_init.c >> index 549e76af8f82a8e..3eb217130bcb2b5 100644 >> --- a/mm/mm_init.c >> +++ b/mm/mm_init.c >> @@ -2614,7 +2614,6 @@ DEFINE_STATIC_KEY_MAYBE(CONFIG_DEBUG_VM, check_pages_enabled); >> */ >> static void __init mem_debugging_and_hardening_init(void) >> { >> - bool page_poisoning_requested = false; >> bool want_check_pages = false; >> >> #ifdef CONFIG_PAGE_POISONING >> @@ -2626,18 +2625,16 @@ static void __init mem_debugging_and_hardening_init(void) >> (!IS_ENABLED(CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC) && >> debug_pagealloc_enabled())) { >> static_branch_enable(&_page_poisoning_enabled); >> - page_poisoning_requested = true; >> want_check_pages = true; >> - } >> -#endif >> >> - if ((_init_on_alloc_enabled_early || _init_on_free_enabled_early) && >> - page_poisoning_requested) { >> - pr_info("mem auto-init: CONFIG_PAGE_POISONING is on, " >> - "will take precedence over init_on_alloc and init_on_free\n"); >> - _init_on_alloc_enabled_early = false; >> - _init_on_free_enabled_early = false; >> + if (_init_on_alloc_enabled_early || _init_on_free_enabled_early) { >> + pr_info("mem auto-init: CONFIG_PAGE_POISONING is on, " >> + "will take precedence over init_on_alloc and init_on_free\n"); >> + _init_on_alloc_enabled_early = false; >> + _init_on_free_enabled_early = false; >> + } >> } >> +#endif >> >> if (_init_on_alloc_enabled_early) { >> want_check_pages = true; >> -- >> 2.34.1 >> > -- Regards, Zhen Lei