[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAHbLzkpyxnvm3w0M_CEU7cYRCYr0coNCoiY1DvtnBzqb1R1nsw@mail.gmail.com>
Date: Tue, 5 Oct 2021 19:35:35 -0700
From: Yang Shi <shy828301@...il.com>
To: HORIGUCHI NAOYA(堀口 直也)
<naoya.horiguchi@....com>, Hugh Dickins <hughd@...gle.com>,
"Kirill A. Shutemov" <kirill.shutemov@...ux.intel.com>,
Matthew Wilcox <willy@...radead.org>,
Peter Xu <peterx@...hat.com>,
Oscar Salvador <osalvador@...e.de>,
Andrew Morton <akpm@...ux-foundation.org>
Cc: Linux MM <linux-mm@...ck.org>,
Linux FS-devel Mailing List <linux-fsdevel@...r.kernel.org>,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>
Subject: Re: [v3 PATCH 1/5] mm: hwpoison: remove the unnecessary THP check
Hi Naoya,
Any comment on this patch and patch #3? I'd prefer to fix more
comments for a new version.
Thanks,
Yang
On Thu, Sep 30, 2021 at 2:53 PM Yang Shi <shy828301@...il.com> wrote:
>
> When handling THP hwpoison checked if the THP is in allocation or free
> stage since hwpoison may mistreat it as hugetlb page. After
> commit 415c64c1453a ("mm/memory-failure: split thp earlier in memory error
> handling") the problem has been fixed, so this check is no longer
> needed. Remove it. The side effect of the removal is hwpoison may
> report unsplit THP instead of unknown error for shmem THP. It seems not
> like a big deal.
>
> The following patch depends on this, which fixes shmem THP with
> hwpoisoned subpage(s) are mapped PMD wrongly. So this patch needs to be
> backported to -stable as well.
>
> Cc: <stable@...r.kernel.org>
> Suggested-by: Naoya Horiguchi <naoya.horiguchi@....com>
> Signed-off-by: Yang Shi <shy828301@...il.com>
> ---
> mm/memory-failure.c | 14 --------------
> 1 file changed, 14 deletions(-)
>
> diff --git a/mm/memory-failure.c b/mm/memory-failure.c
> index 54879c339024..ed28eba50f98 100644
> --- a/mm/memory-failure.c
> +++ b/mm/memory-failure.c
> @@ -1147,20 +1147,6 @@ static int __get_hwpoison_page(struct page *page)
> if (!HWPoisonHandlable(head))
> return -EBUSY;
>
> - if (PageTransHuge(head)) {
> - /*
> - * Non anonymous thp exists only in allocation/free time. We
> - * can't handle such a case correctly, so let's give it up.
> - * This should be better than triggering BUG_ON when kernel
> - * tries to touch the "partially handled" page.
> - */
> - if (!PageAnon(head)) {
> - pr_err("Memory failure: %#lx: non anonymous thp\n",
> - page_to_pfn(page));
> - return 0;
> - }
> - }
> -
> if (get_page_unless_zero(head)) {
> if (head == compound_head(page))
> return 1;
> --
> 2.26.2
>
Powered by blists - more mailing lists