Re: [PATCH] mm/memory_hotplug: Fix remove_memory() lockdep splat

From: Michal Hocko
Date: Mon Jan 27 2020 - 08:47:08 EST


On Fri 24-01-20 10:04:52, Dan Williams wrote:
> On Fri, Jan 24, 2020 at 4:56 AM Michal Hocko <mhocko@xxxxxxxxxx> wrote:
> >
> > On Fri 10-01-20 13:27:24, Dan Williams wrote:
> > > On Fri, Jan 10, 2020 at 9:42 AM David Hildenbrand <david@xxxxxxxxxx> wrote:
> > [...]
> > > > For your reference (roughly 5 months ago, so not that old)
> > > >
> > > > https://lkml.kernel.org/r/20190724143017.12841-1-david@xxxxxxxxxx
> > >
> > > Oh, now I see the problem. You need to add that lock so far away from
> > > the __add_memory() to avoid lock inversion problems with the
> > > acpi_scan_lock. The organization I was envisioning would not work
> > > without deeper refactoring.
> >
> > Sorry to come back to this late. Has this been resolved?
>
> The mem_hotplug_lock lockdep splat fix in this patch has not landed.
> David and I have not quite come to consensus on how to resolve online
> racing removal. IIUC David wants that invalidation to be
> pages_correctly_probed(), I would prefer it to be directly tied to the
> object, struct memory_block, that remove_memory_block_devices() has
> modified, mem->section_count = 0.

I was asking about this part and I can see you have already posted a
patch[1] and I do not see any reason for not merging it.

[1] http://lkml.kernel.org/r/157991441887.2763922.4770790047389427325.stgit@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

--
Michal Hocko
SUSE Labs