Re: [PATCH] mm: fix panic in __alloc_pages

From: Michal Hocko
Date: Tue Nov 02 2021 - 05:40:49 EST


On Tue 02-11-21 10:04:23, Michal Hocko wrote:
[...]
> > Is there any reason why try_online_node() resides in cpu_up() and not in add_cpu()?
> > I think it would be correct to online node during the CPU hot add to align with
> > memory hot add.
>
> I am not familiar with cpu hotplug, but this doesn't seem to be anything
> new so how come this became problem only now?

Just looked at the cpu hotplug part. I do not see add_cpu to add much
here. Here is what I can see in the current Linus tree
add_cpu
device_online() # cpu device - cpu_sys_devices with cpu_subsys bus
dev->bus->online -> cpu_subsys_online
cpu_device_up
cpu_up
try_online_node

So we should be bringing up the node during add_cpu. Unless something
fails on the way - e.g. cpu_possible check or something similar.

--
Michal Hocko
SUSE Labs