On Thu, Feb 03, 2022 at 10:25:51AM +0100, David Hildenbrand wrote: >On 03.02.22 03:00, Wei Yang wrote: >> During memory hotplug, when online/offline a zone, we need to rebuild >> the zonelist for all nodes. Current behavior would lose a valid zone in >> zonelist since only pick up managed_zone. >> >> There are two cases for a zone with memory but still !managed. >> >> * all pages were allocated via memblock >> * all pages were taken by ballooning / virtio-mem >> >> This state maybe temporary, since both of them may release some memory. >> Then it end up with a managed zone not in zonelist. >> >> This is introduced in 'commit 6aa303defb74 ("mm, vmscan: only allocate >> and reclaim from zones with pages managed by the buddy allocator")'. >> This patch restore the behavior. >> >> Signed-off-by: Wei Yang <richard.weiyang@xxxxxxxxx> >> CC: Mel Gorman <mgorman@xxxxxxxxxxxxxxxxxxx> >> CC: David Hildenbrand <david@xxxxxxxxxx> >> Fixes: 6aa303defb74 ("mm, vmscan: only allocate and reclaim from zones with pages managed by the buddy allocator") > >That commit mentions that there used to be some ppc64 cases with fadump >where it might have been a real problem. Unfortunately, that commit >doesn't really tell what the performance implications are. > It mentioned a 100% CPU usage by commit 1d82de618ddd. Currently I don't find which part introduced this and how it is fixed. >We'd have to know how many "permanent memblock" allocations we have, >that can never get freed. > For the case in that commit, the memory are reserved for crash kernel. I am afraid this never get freed. But for all the cases, I am not sure. -- Wei Yang Help you, Help me