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 I am missing something (and the pagetables won't be freed) ? -- Oscar Salvador SUSE L3