On 3/8/21 10:20 AM, Oscar Salvador wrote: > On Thu, Mar 04, 2021 at 07:50:10AM -0800, Dave Hansen wrote: >> On 3/1/21 12:32 AM, Oscar Salvador wrote: >>> remove_pte_table() is prepared to handle the case where either the >>> start or the end of the range is not PAGE aligned. >>> This cannot actually happen: >>> >>> __populate_section_memmap enforces the range to be PMD aligned, >>> so as long as the size of the struct page remains multiple of 8, >>> the vmemmap range will be aligned to PAGE_SIZE. >>> >>> Drop the dead code and place a VM_BUG_ON in vmemmap_{populate,free} >>> to catch nasty cases. >> I was wondering why the VM_BUG_ON()s went in vmemmap_free() instead of >> closer to the code that you modified in remove_pte_table(). I assume >> this was because vmemmap_free() is the only (indirect) caller of >> remove_pte_table(). > Yes, that was pretty much the reason. > It seemed reasonable to me to fence it off at the "gate", and not further > deep. > > Does it make sense to you? May I keep your Ack? Yep, makes sense. If you rev the series, it would be nice to put that in the changelog. But, either way, please keep the Ack!