Re: [PATCH v2 2/3] x86/vmemmap: Drop handling of 1GB vmemmap ranges

From: David Hildenbrand
Date: Wed Feb 03 2021 - 09:13:54 EST


On 03.02.21 15:10, Oscar Salvador wrote:
On Wed, Feb 03, 2021 at 02:33:56PM +0100, David Hildenbrand wrote:
One problem I see with existing code / this change making more obvious is
that when trying to remove in other granularity than we added (e.g., unplug
a 128MB DIMM avaialble during boot), we remove the direct map of unrelated
DIMMs.

So, let me see if I understand your concern.

We have a range that was mapped with 1GB page, and we try to remove
a 128MB chunk from it.
Yes, in that case we would clear the pud, and that is bad, so we should
keep the PAGE_ALIGNED checks.

Now, let us assume that scenario.
If you have a 1GB mapped range and you remove it in smaller chunks bit by bit
(e.g: 128M), the direct mapping of that range will never be cleared unless

No, that's exactly what's happening. Good thing is that it barely ever happens, so I assume leaving behind some direct mapping / page tables is not that bad.

--
Thanks,

David / dhildenb