Message ID | 1554265806-11501-1-git-send-email-anshuman.khandual@arm.com (mailing list archive) |
---|---|
Headers | show |
Series | arm64/mm: Enable memory hot remove and ZONE_DEVICE | expand |
On Tue, Apr 2, 2019 at 9:30 PM Anshuman Khandual <anshuman.khandual@arm.com> wrote: > > This series enables memory hot remove on arm64, fixes a memblock removal > ordering problem in generic __remove_memory(), enables sysfs memory probe > interface on arm64. It also enables ZONE_DEVICE with struct vmem_altmap > support. > > Testing: > > Tested hot remove on arm64 for all 4K, 16K, 64K page config options with > all possible VA_BITS and PGTABLE_LEVELS combinations. Tested ZONE_DEVICE > with ARM64_4K_PAGES through a dummy driver. > > Build tested on non arm64 platforms. I will appreciate if folks can test > arch_remove_memory() re-ordering in __remove_memory() on other platforms. > > Dependency: > > V5 series in the thread (https://lkml.org/lkml/2019/2/14/1096) will make > kernel linear mapping loose pgtable_page_ctor() init. When this happens > the proposed functions free_pte|pmd|pud_table() in [PATCH 2/6] will have > to stop calling pgtable_page_dtor(). Hi Anshuman, I'd be interested to integrate this with the sub-section hotplug support [1]. Otherwise the padding implementation in libnvdimm can't be removed unless all ZONE_DEVICE capable archs also agree on the minimum arch_add_memory() granularity. I'd prefer not to special case which archs support which granularity, but it unfortunately complicates what you're trying to achieve. I think at a minimum we, mm hotplug co-travellers, need to come to a consensus on whether sub-section support is viable for v5.2 and / or a pre-requisite for new arch-ZONE_DEVICE implementations.
On 04/03/2019 11:38 PM, Dan Williams wrote: > On Tue, Apr 2, 2019 at 9:30 PM Anshuman Khandual > <anshuman.khandual@arm.com> wrote: >> >> This series enables memory hot remove on arm64, fixes a memblock removal >> ordering problem in generic __remove_memory(), enables sysfs memory probe >> interface on arm64. It also enables ZONE_DEVICE with struct vmem_altmap >> support. >> >> Testing: >> >> Tested hot remove on arm64 for all 4K, 16K, 64K page config options with >> all possible VA_BITS and PGTABLE_LEVELS combinations. Tested ZONE_DEVICE >> with ARM64_4K_PAGES through a dummy driver. >> >> Build tested on non arm64 platforms. I will appreciate if folks can test >> arch_remove_memory() re-ordering in __remove_memory() on other platforms. >> >> Dependency: >> >> V5 series in the thread (https://lkml.org/lkml/2019/2/14/1096) will make >> kernel linear mapping loose pgtable_page_ctor() init. When this happens >> the proposed functions free_pte|pmd|pud_table() in [PATCH 2/6] will have >> to stop calling pgtable_page_dtor(). > > Hi Anshuman, Hello Dan, > > I'd be interested to integrate this with the sub-section hotplug > support [1]. Otherwise the padding implementation in libnvdimm can't > be removed unless all ZONE_DEVICE capable archs also agree on the > minimum arch_add_memory() granularity. I'd prefer not to special case > which archs support which granularity, but it unfortunately > complicates what you're trying to achieve. Sorry I have not been following your series on sub-section hotplug support. Hence might not have the full context here. Could you please give some more details on what exactly might be a problem. > > I think at a minimum we, mm hotplug co-travellers, need to come to a > consensus on whether sub-section support is viable for v5.2 and / or a > pre-requisite for new arch-ZONE_DEVICE implementations I would need to go through sub-section hotplug series first to understand the pre-requisite. Do we need to support sub-section hotplug first before being able to enable ZONE_DEVICE ? - Anshuman