On 04.01.17 14:02:23, Will Deacon wrote: > Using early_pfn_valid feels like a bodge to me, since having pfn_valid > return false for something that early_pfn_valid says is valid (and is > therefore initialised in the memmap) makes the NOMAP semantics even more > confusing.
The concern I have had with HOLES_IN_ZONE is that it enables pfn_valid_within() for arm64. This means that each pfn of a section is checked which is done only once for the section otherwise. With up to 2^18 pages per section we traverse the memblock list by that factor more often. There could be a performance regression. I haven't numbers yet, since the fix causes another kernel crash. And, this is the next problem I have. The crash doesn't happen otherwise. So, either it uncovers another bug or the fix is incomplete. Though the changes look like it should work. This needs more investigation. -Robert

