Re: [PATCH v3 00/15] HWPOISON: soft offline rework
From: Andrew Morton
Date: Wed Jun 24 2020 - 18:49:57 EST
On Wed, 24 Jun 2020 22:36:18 +0000 HORIGUCHI NAOYA(ååãçä) <naoya.horiguchi@xxxxxxx> wrote:
> On Wed, Jun 24, 2020 at 12:17:42PM -0700, Andrew Morton wrote:
> > On Wed, 24 Jun 2020 15:01:22 +0000 nao.horiguchi@xxxxxxxxx wrote:
> >
> > > I rebased soft-offline rework patchset [1][2] onto the latest mmotm. The
> > > rebasing required some non-trivial changes to adjust, but mainly that was
> > > straightforward. I confirmed that the reported problem doesn't reproduce on
> > > compaction after soft offline. For more precise description of the problem
> > > and the motivation of this patchset, please see [2].
> > >
> > > I think that the following two patches in v2 are better to be done with
> > > separate work of hard-offline rework, so it's not included in this series.
> > >
> > > - mm,hwpoison: Take pages off the buddy when hard-offlining
> > > - mm/hwpoison-inject: Rip off duplicated checks
> > >
> > > These two are not directly related to the reported problem, so they seems
> > > not urgent. And the first one breaks num_poisoned_pages counting in some
> > > testcases, and The second patch needs more consideration about commented point.
> > >
> >
> > It would be nice to have some sort of overview of the patch series in
> > this [0/n] email.
> >
> > > [1] v1: https://lore.kernel.org/linux-mm/1541746035-13408-1-git-send-email-n-horiguchi@xxxxxxxxxxxxx/
> > > [2] v2: https://lore.kernel.org/linux-mm/20191017142123.24245-1-osalvador@xxxxxxx/
> >
> > The above have such, but are they up to date?
>
> The description of the problem doesn't change, but there're some new patches
> and some patches are postponed, so I should've added an overview of this series:
>
> - patch 1, 2 are cleanups.
> - patch 3, 4, 5 change the precondition when calling memory_failure(). Previously
> we sometimes call it with holding refcount of the target page and somtimes call
> without holding it, and we passed a flag of whether refcount was taken out of
> memory_failure(). It was confusing and caused code more complex than needed.
> - patch 6-10 are cleanups.
> - patch 11 introduces new logic to remove the error page from buddy allocator,
> which is also applied to the path of soft-offling in-use pages in patch 12.
> - patch 13 is basically a refactoring but I added some adjustment to make sure
> that the freed page is surely sent back to buddy instead of being kept in pcplist,
> which is based on discussion in v2.
> - patch 14 fixes the inconsistency of return values between injection interfaces.
> - patch 15 is a new patch to complement missing code found in code review for
> previous version.
>
> Core change is in patch 11 and 12, and the others are kind of cleanup/refactoring.
And all the other words in
https://lore.kernel.org/linux-mm/1541746035-13408-1-git-send-email-n-horiguchi@xxxxxxxxxxxxx/
are still accurate and complete?