Re: [PATCH v3 00/15] HWPOISON: soft offline rework

From: HORIGUCHI NAOYA(堀口 直也)
Date: Wed Jun 24 2020 - 19:01:47 EST


On Wed, Jun 24, 2020 at 03:49:47PM -0700, Andrew Morton wrote:
> 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?

Yes, they are.

- Naoya