Re: [PATCH] mm/hotplug: Reorder memblock_[free|remove]() calls in try_remove_memory()

From: Andrew Morton
Date: Tue Sep 24 2019 - 23:13:47 EST


On Mon, 23 Sep 2019 11:16:38 +0530 Anshuman Khandual <anshuman.khandual@xxxxxxx> wrote:

>
>
> On 09/16/2019 11:17 AM, Anshuman Khandual wrote:
> > In add_memory_resource() the memory range to be hot added first gets into
> > the memblock via memblock_add() before arch_add_memory() is called on it.
> > Reverse sequence should be followed during memory hot removal which already
> > is being followed in add_memory_resource() error path. This now ensures
> > required re-order between memblock_[free|remove]() and arch_remove_memory()
> > during memory hot-remove.
> >
> > Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
> > Cc: Oscar Salvador <osalvador@xxxxxxx>
> > Cc: Michal Hocko <mhocko@xxxxxxxx>
> > Cc: David Hildenbrand <david@xxxxxxxxxx>
> > Cc: Pavel Tatashin <pasha.tatashin@xxxxxxxxxx>
> > Cc: Dan Williams <dan.j.williams@xxxxxxxxx>
> > Signed-off-by: Anshuman Khandual <anshuman.khandual@xxxxxxx>
> > ---
> > Original patch https://lkml.org/lkml/2019/9/3/327
> >
> > Memory hot remove now works on arm64 without this because a recent commit
> > 60bb462fc7ad ("drivers/base/node.c: simplify unregister_memory_block_under_nodes()").
> >
> > David mentioned that re-ordering should still make sense for consistency
> > purpose (removing stuff in the reverse order they were added). This patch
> > is now detached from arm64 hot-remove series.
> >
> > https://lkml.org/lkml/2019/9/3/326
>
> ...
>
> Hello Andrew,
>
> Any feedbacks on this, does it look okay ?
>

Well. I'd parked this for 5.4-rc1 processing because it looked like a
cleanup.

But waaaay down below the ^---$ line I see "Memory hot remove now works
on arm64". Am I correct in believing that 60bb462fc7ad broke arm64 mem
hot remove? And that this patch fixes a serious regression? If so,
that should have been right there in the patch title and changelog!