On 12/6/21 05:45, David Hildenbrand wrote: >> This doesn't seen complete. Slab shrinkers are used in the reclaim >> context. Previously offline nodes could be onlined later and this would >> lead to NULL ptr because there is no hook to allocate new shrinker >> infos. This would be also really impractical because this would have to >> update all existing memcgs... > > Instead of going through the trouble of updating... > > ... maybe just keep for_each_node() and check if the target node is > offline. If it's offline, just allocate from the first online node. > After all, we're not using __GFP_THISNODE, so there are no guarantees > either way ... Thanks for your reviews David :) Yes, I believe this would be a viable solution. At this point it looks like our short term solution would be something along this line. Long term we would want to either allocate all pgdats (which will waste memory) or update the memcgs with the appropriate node information once a node is onlined. Im currently working a solution that does the latter.