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