On Fri 12-02-21 11:16:28, David Hildenbrand wrote:
On 12.02.21 11:11, Michal Hocko wrote:
On Fri 12-02-21 10:56:19, David Hildenbrand wrote:
On 12.02.21 10:55, David Hildenbrand wrote:
On 08.02.21 12:08, Mike Rapoport wrote:
[...]
@@ -6519,8 +6581,19 @@ void __init get_pfn_range_for_nid(unsigned int nid, *end_pfn = max(*end_pfn, this_end_pfn); }
- if (*start_pfn == -1UL)
- if (*start_pfn == -1UL) { *start_pfn = 0;
return;
- }
+#ifdef CONFIG_SPARSEMEM
- /*
* Sections in the memory map may not match actual populated
* memory, extend the node span to cover the entire section.
*/
- *start_pfn = round_down(*start_pfn, PAGES_PER_SECTION);
- *end_pfn = round_up(*end_pfn, PAGES_PER_SECTION);
Does that mean that we might create overlapping zones when one node
s/overlapping zones/overlapping nodes/
I didn't get to review the patch yet. Just wanted to note that we can interleave nodes/zone. Or what kind of concern do you have in mind?
I know that we can have it after boot, when hotplugging memory. How about during boot?
I have seen systems where NUMA nodes are interleaved.
For example, which node will a PFN then actually be assigned to?
I would have to double check all the details but I do remember there was a non trivial work to handle those systems.