Re: [RFC PATCH 0/7] mm: Get rid of vmalloc_sync_(un)mappings()

From: Joerg Roedel
Date: Tue May 12 2020 - 11:02:56 EST


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.


Joerg