Re: [PATCH] sched/isolation: Postpone re-allocation of housekeeping cpumask until initcall

From: Valentin Schneider

Date: Wed May 06 2026 - 09:13:14 EST


On 10/04/26 15:27, Waiman Long wrote:
> When testing a linux-next kernel with commit 59bd1d914bb5 ("memblock:
> warn when freeing reserved memory before memory map is initialized"),
> the following warning was hit when there was a "nohz_full" kernel boot
> parameter.
>
> [ 0.080911] Cannot free reserved memory because of deferred initialization of the memory map
> [ 0.080911] WARNING: mm/memblock.c:904 at __free_reserved_area+0xde/0xf0, CPU#0: swapper/0/0
> :
> [ 0.080945] Call Trace:
> [ 0.080947] <TASK>
> [ 0.080949] memblock_phys_free+0xcb/0x100
> [ 0.080953] housekeeping_init+0x14c/0x170
> [ 0.080957] start_kernel+0x207/0x450
> [ 0.080961] x86_64_start_reservations+0x24/0x30
> [ 0.080965] x86_64_start_kernel+0xda/0xe0
> [ 0.080967] common_startup_64+0x13e/0x141
> [ 0.080972] </TASK>
>
> IOW, we shouldn't free memblock allocated memory so early in
> the boot process when memory map isn't fully initialized in
> deferred_init_memmap(). Fix it by adding a new housekeeping_late_init()
> helper to defer the re-allocation of the housekeeping cpumasks to when
> initcall's are being processed.
>
> Fixes: 27c3a5967f05 ("sched/isolation: Convert housekeeping cpumasks to rcu pointers")
> Signed-off-by: Waiman Long <longman@xxxxxxxxxx>

Reviewed-by: Valentin Schneider <vschneid@xxxxxxxxxx>