Re: [PATCH v5 4/4] mm/hwpoison: introduce per-memory_block hwpoison counter counter

From: HORIGUCHI NAOYA(堀口 直也)
Date: Thu Oct 06 2022 - 20:52:33 EST


On Mon, Sep 26, 2022 at 10:05:05AM +0200, David Hildenbrand wrote:
> > /*
> > @@ -2414,6 +2417,10 @@ int unpoison_memory(unsigned long pfn)
> > unlock_mutex:
> > mutex_unlock(&mf_mutex);
> > if (!ret || freeit) {
> > + /*
> > + * TODO: per-memory_block counter might break when the page
> > + * size to be unpoisoned is larger than a memory_block.
> > + */
>
> Hmm, but that happens easily e.g., with 1 GiB hugetlb page and 128 MiB
> memory section/block size. What would be the right thing to do here? The
> TODO should rather spell that out instead of just stating the problem.

What should we need here is to cancel the per-memory_block hwpoison counts
in each memory block associated with the hugepage to be unpoisoned.
I found that it can be done with additional several lines of code, so
v6 will contain them. Then, this TODO comment is no longer needed.

Thanks,
Naoya Horiguchi