Re: [PATCH v1 05/12] mm/memory_hotplug: remove nid parameter from remove_memory() and friends

From: David Hildenbrand
Date: Tue Jun 08 2021 - 07:19:04 EST


On 08.06.21 13:11, Michael Ellerman wrote:
David Hildenbrand <david@xxxxxxxxxx> writes:
There is only a single user remaining. We can simply try to offline all
online nodes - which is fast, because we usually span pages and can skip
such nodes right away.

That makes me slightly nervous, because our big powerpc boxes tend to
trip on these scaling issues before others.

But the spanned pages check is just:

void try_offline_node(int nid)
{
pg_data_t *pgdat = NODE_DATA(nid);
...
if (pgdat->node_spanned_pages)
return;

So I guess that's pretty cheap, and it's only O(nodes), which should
never get that big.

Exactly. And if it does turn out to be a problem, we can walk all memory blocks before removing them, collecting the nid(s).

--
Thanks,

David / dhildenb