Miaohe Lin writes: > On 2022/4/19 15:53, Alistair Popple wrote: >> Also in madvise_free_pte_range() you could just remove the swap entry as it's no >> longer needed. >> > > This swap entry will be removed in madvise_dontneed_single_vma(). > And in madvise_free_pte_range(), we may need to keep it as same as > hwpoison entry. Or am I supposed to remove it even if hwpoison entry > is reused later? Why would we need to keep it for MADV_FREE though? It only works on private anonymous memory, and once the MADV_FREE operation has succeeded callers can expect they might get zero-fill pages if accessing the memory again. Therefore it should be safe to delete the entry. I think that applies equally to a hwpoison entry too - there's no reason to kill the process if it has called MADV_FREE on the range. > > Thanks! > >> Alistair Popple writes: >> >>> Miaohe Lin writes: >>> > ...