Re: [PATCH v2] x86/vmemmap: Handle unpopulated sub-pmd ranges

2021-02-02 Thread Oscar Salvador
On Tue, Feb 02, 2021 at 09:35:09AM +0100, David Hildenbrand wrote: > Yeah, last time I raised it was in > > https://lkml.kernel.org/r/20200703013435.GA11340@L-31X9LVDL-1304.local > > but I never got to clean it up myself. I see. > > So, IIRC we have two cases during hotplug: > > 1) the ones t

Re: [PATCH v2] x86/vmemmap: Handle unpopulated sub-pmd ranges

2021-02-02 Thread David Hildenbrand
IMHO, we should rip out that code here and enforce page alignment in vmemmap_populate()/vmemmap_free(). Am I missing something? Thanks David for bringing this up, I must say I was not aware that this topic was ever discussed. Yeah, last time I raised it was in https://lkml.kernel.org/r/20200

Re: [PATCH v2] x86/vmemmap: Handle unpopulated sub-pmd ranges

2021-02-01 Thread Oscar Salvador
On Fri, Jan 29, 2021 at 01:46:33PM +0100, David Hildenbrand wrote: > > static void __meminit free_pagetable(struct page *page, int order) > > { > > @@ -1008,10 +1073,10 @@ remove_pte_table(pte_t *pte_start, unsigned long > > addr, unsigned long end, > > * with 0xFD, and re

[PATCH v2] x86/vmemmap: Handle unpopulated sub-pmd ranges

2021-01-28 Thread Oscar Salvador
When the size of a struct page is not multiple of 2MB, sections do not span a PMD anymore and so when populating them some parts of the PMD will remain unused. Because of this, PMDs will be left behind when depopulating sections since remove_pmd_table() thinks that those unused parts are still in u