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

HORIGUCHI NAOYA(堀口 直也)
2020-06-24T22:36:26Z

On Wed, Jun 24, 2020 at 12:17:42PM -0700, Andrew Morton wrote:
> On Wed, 24 Jun 2020 15:01:22 +0000 nao.horiguchi@gmail.com 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@ah.jp.nec.com/
> > [2] v2: https://lore.kernel.org/linux-mm/20191017142123.24245-1-osalvador@suse.de/
>
> 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.

Thanks,
Naoya Horiguchi