On 07/31/2019 09:40 PM, Will Deacon wrote: > On Fri, Jun 28, 2019 at 10:14:42AM +0530, Anshuman Khandual wrote: >> Generic vmemmap_populate_basepages() is used across platforms for vmemmap >> as standard or as fallback when huge pages mapping fails. On arm64 it is >> used for configs with ARM64_SWAPPER_USES_SECTION_MAPS applicable both for >> ARM64_16K_PAGES and ARM64_64K_PAGES which cannot use huge pages because of >> alignment requirements. >> >> This prevents those configs from allocating from device memory for vmemap >> mapping as vmemmap_populate_basepages() does not support vmem_altmap. This >> enables that required support. Each architecture should evaluate and decide >> on enabling device based base page allocation when appropriate. Hence this >> keeps it disabled for all architectures to preserve the existing semantics. > > This commit message doesn't really make sense to me. There's a huge amount > of arm64-specific detail, followed by vague references to "this" and > "those" and "that" and I lost track of what you're trying to solve. Hmm, will clean up. > > However, I puzzled through the code and I think it does make sense, so: > > Acked-by: Will Deacon <will@xxxxxxxxxx> > > assuming you rewrite the commit message. Thanks, will do. > > However, this has a dependency on your hot remove series which has open > comments from Mark Rutland afaict. Yeah it has dependency on the hot-remove series. The only outstanding issue there being whether to call free_empty_tables() in vmemmap tear down path or not. Mark had asked for more details regarding the implications in cases where free_empty_tables() is called or is not called. I did evaluate those details recently and we should be able to take a decision sooner.