Messages in this thread | | | Date | Tue, 14 Dec 2021 11:38:47 +0100 | From | Michal Hocko <> | Subject | Re: [PATCH v2 2/4] mm: handle uninitialized numa nodes gracefully |
| |
On Tue 14-12-21 11:33:41, Christoph Lameter wrote: > On Tue, 14 Dec 2021, Michal Hocko wrote: > > > This patch takes a different approach (following a lead of [3]) and it > > pre allocates pgdat for all possible nodes in an arch indipendent code > > - free_area_init. All uninitialized nodes are treated as memoryless > > nodes. node_state of the node is not changed because that would lead to > > other side effects - e.g. sysfs representation of such a node and from > > past discussions [4] it is known that some tools might have problems > > digesting that. > > Would it be possible to define a pgdat statically and place it in read > only memory? Populate with values that ensure that the page allocator > does not blow up but does a defined fallback. > > Point the pgdat for all nodes not online to that readonly pgdat? > > Maybe that would save some memory. When the node comes online then a real > pgdat could be allocated.
This is certainly possible but also it is more complex. I aim for as simple as possible at this stage. The reason I am not concerned about memory overhead so much (even though the pgdat is a large data structure) is that these unpopulated nodes are rather rare. We might see more of them in the future but we are not quite there yet so I do not think this is a major obstacle for now.
-- Michal Hocko SUSE Labs
| |