On Tue, 12 May 2020 17:02:50 +0200 Joerg Roedel <jroedel@xxxxxxx> wrote: > On Mon, May 11, 2020 at 12:36:19PM -0700, Andy Lutomirski wrote: > > I’m guessing the right solution is either your series or your series > > plus preallocation on 64-bit. I’m just grumpy about it... > > Okay, so we can do the pre-allocation when it turns out the pgd_list > lock-times become a problem on x86-64. The tracking code in vmalloc.c is > needed anyway for 32-bit and there is no reason why 64-bit shouldn't use > it as well for now. > I don't think that taking the lock _will_ be a problem, as it is only > taken when a new PGD/P4D entry is populated. And it is pretty unlikely > that a system will populate all 64 of them, with 4-level paging each of > these entries will map 512GB of address space. But if I am wrong here > pre-allocating is still an option. > 256TB of RAM isn't too far in the future ;-) -- Steve