From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 0807AC433FE for ; Thu, 4 Nov 2021 18:07:21 +0000 (UTC) Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.kernel.org (Postfix) with ESMTP id 9726E60EC0 for ; Thu, 4 Nov 2021 18:07:20 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.4.1 mail.kernel.org 9726E60EC0 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=gmail.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=kvack.org Received: by kanga.kvack.org (Postfix) id 19F666B006C; Thu, 4 Nov 2021 14:07:20 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 14E7C940007; Thu, 4 Nov 2021 14:07:20 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 064D76B0073; Thu, 4 Nov 2021 14:07:20 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0171.hostedemail.com [216.40.44.171]) by kanga.kvack.org (Postfix) with ESMTP id EA18D6B006C for ; Thu, 4 Nov 2021 14:07:19 -0400 (EDT) Received: from smtpin26.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay03.hostedemail.com (Postfix) with ESMTP id 97E9182499A8 for ; Thu, 4 Nov 2021 18:07:19 +0000 (UTC) X-FDA: 78772029756.26.D7F7849 Received: from mail-ed1-f53.google.com (mail-ed1-f53.google.com [209.85.208.53]) by imf26.hostedemail.com (Postfix) with ESMTP id E42BF20019C0 for ; Thu, 4 Nov 2021 18:07:19 +0000 (UTC) Received: by mail-ed1-f53.google.com with SMTP id j21so24231060edt.11 for ; Thu, 04 Nov 2021 11:07:19 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=0oBqiMQfPYMmT40A5DIPYcF4on4Z6w8+xYNJvWPt73g=; b=eeZ2XvjYsAmlKJoAShKpm61374UX1KXky42ers2ZsOYnDO+g0eGlayb66DWtgoS72f Tt/weU/uhv7E5UbNYszJmEqlUkSJ78bWk9CdoS1miD204aK2Zh6CLcBlIP3fI0iUP9o1 SBJrWFtAnK6+JlZdpG0482trqMHlyE4FdwWjufahsDb/1vou3AKI9bofRV9NZi96ThI6 3q0qmDCUMYuYeuA3His/T3eTs0I6k1JRTpTDcPZfpDX8AxEoe5xZlSDj0mKtzkfbTNAr RgDaKfUkqqb3MwmxNQPuuS7uqSbcGZ7r6+2x7QAijpN4AX/5icSwglyYKPC1In2dQg3l jICw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=0oBqiMQfPYMmT40A5DIPYcF4on4Z6w8+xYNJvWPt73g=; b=VUGSaH/I0mSDUbtYGwrlZwoEtugwqjt0KDnKDtWfz8TdB/MkVDUYPxVf9WaOyRA4uo 9u5lr0f8xWynQlS7u0gZptbcnYJM7iM5MEMGnUfy69ch0aHAefmh1CZ/V+Ww0stUd+5+ zfMc7VOF31qWfGS+qo2rORJQQXwyrjUnJrWMfHpdJvOtx6iydPBx4n2kDkbxiy2b0Vtt zIYT+ZYc0Yhr9YcCV0k/n9HSRPFB9oj3BH1Zsa/9DKq3uS2c37fJgYxYFiInAbO9NF/V W5Klcn3np6ooqEMAMFv1vfr2An4gspUsUFY44v842cie7FprLliGo/6gzWpSvka8XCgC 5g9Q== X-Gm-Message-State: AOAM533+bMs1+SXDfEL8W8xEZGvXWfsAk7aNzOGVa30mvFNujcnmdYzf TtSccvsOrzWeAvM+jYxy+YTkDsJwuHpBdyDRlLA= X-Google-Smtp-Source: ABdhPJwL5te/AV6rDZ+HrdHQbrH0/Jfel4UqGZ5KJbNZMGRUMlkoThsNHjlm3PefqNni9Etz9NHqYrl3oelK2xRaILM= X-Received: by 2002:a17:907:3f83:: with SMTP id hr3mr65570030ejc.555.1636049237843; Thu, 04 Nov 2021 11:07:17 -0700 (PDT) MIME-Version: 1.0 References: <20211101194856.305642-1-shy828301@gmail.com> In-Reply-To: From: Yang Shi Date: Thu, 4 Nov 2021 11:07:05 -0700 Message-ID: Subject: Re: [stable 5.10 PATCH] mm: hwpoison: remove the unnecessary THP check To: Greg KH Cc: =?UTF-8?B?SE9SSUdVQ0hJIE5BT1lBKOWggOWPoyDnm7TkuZ8p?= , Hugh Dickins , "Kirill A. Shutemov" , Matthew Wilcox , Oscar Salvador , Peter Xu , Andrew Morton , stable , Linux MM , Linux Kernel Mailing List Content-Type: text/plain; charset="UTF-8" Authentication-Results: imf26.hostedemail.com; dkim=pass header.d=gmail.com header.s=20210112 header.b=eeZ2XvjY; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf26.hostedemail.com: domain of shy828301@gmail.com designates 209.85.208.53 as permitted sender) smtp.mailfrom=shy828301@gmail.com X-Rspamd-Server: rspam04 X-Rspamd-Queue-Id: E42BF20019C0 X-Stat-Signature: kwq4op94yjabckb9cgs3s936sz68rr1f X-HE-Tag: 1636049239-449487 X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: On Thu, Nov 4, 2021 at 10:43 AM Yang Shi wrote: > > On Thu, Nov 4, 2021 at 9:53 AM Greg KH wrote: > > > > On Wed, Nov 03, 2021 at 10:46:24AM +0100, Greg KH wrote: > > > On Mon, Nov 01, 2021 at 12:48:56PM -0700, Yang Shi wrote: > > > > commit c7cb42e94473aafe553c0f2a3d8ca904599399ed upstream. > > > > > > > > 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 "mm: filemap: check if THP has hwpoisoned subpage > > > > for PMD page fault" 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. > > > > > > > > Link: https://lkml.kernel.org/r/20211020210755.23964-2-shy828301@gmail.com > > > > Signed-off-by: Yang Shi > > > > Suggested-by: Naoya Horiguchi > > > > Acked-by: Naoya Horiguchi > > > > Cc: Hugh Dickins > > > > Cc: Kirill A. Shutemov > > > > Cc: Matthew Wilcox > > > > Cc: Oscar Salvador > > > > Cc: Peter Xu > > > > Cc: > > > > Signed-off-by: Andrew Morton > > > > Signed-off-by: Linus Torvalds > > > > --- > > > > mm-filemap-check-if-thp-has-hwpoisoned-subpage-for-pmd-page-fault.patch > > > > depends on this one. > > > > > > Both now queued up, thanks. > > > > This breaks the build, see: > > https://lore.kernel.org/r/acabc414-164b-cd65-6a1a-cf912d8621d7@roeck-us.net > > > > so I'm going to drop both of these now. Please fix this up and resend a > > tested series. > > Thanks for catching this. It is because I accidentally left the > PAGEFLAG_* macros into CONFIG_TRANSHUGE_PAGE section, so it is: > > #ifdef CONFIG_TRANSHUGE_PAGE > ... > #if defined(CONFIG_MEMORY_FAILURE) && defined(CONFIG_TRANSHUGE_PAGE) > PAGEFLAG_xxx > #else > PAGEFLAG_FALSE_xxx > #endif > ... > #endif > > So when THP is disabled the PAGEFLAG_FALSE_xxx macro is actually absent. > > The upstream has the same issue, will send a patch to fix it soon, and > send fixes (folded the new fix in) to -stable later. Sorry for the > inconvenience. Further looking shows the upstream is good. I did *NOT* add the code in CONFIG_TRANSHUGE_PAGE section. It seems the code section was moved around when the patch was applied to 5.10. Could you please fold the below patch into mm-filemap-check-if-thp-has-hwpoisoned-subpage-for-pmd-page-fault.patch? Or I could prepare a patch for you. diff --git a/include/linux/page-flags.h b/include/linux/page-flags.h index 0db6d83f70c3..1e33ba465195 100644 --- a/include/linux/page-flags.h +++ b/include/linux/page-flags.h @@ -676,20 +676,6 @@ static inline int PageTransCompoundMap(struct page *page) atomic_read(compound_mapcount_ptr(head)); } -#if defined(CONFIG_MEMORY_FAILURE) && defined(CONFIG_TRANSPARENT_HUGEPAGE) -/* - * PageHasHWPoisoned indicates that at least one subpage is hwpoisoned in the - * compound page. - * - * This flag is set by hwpoison handler. Cleared by THP split or free page. - */ -PAGEFLAG(HasHWPoisoned, has_hwpoisoned, PF_SECOND) - TESTSCFLAG(HasHWPoisoned, has_hwpoisoned, PF_SECOND) -#else -PAGEFLAG_FALSE(HasHWPoisoned) - TESTSCFLAG_FALSE(HasHWPoisoned) -#endif - /* * PageTransTail returns true for both transparent huge pages * and hugetlbfs pages, so it should only be called when it's known @@ -724,6 +710,20 @@ PAGEFLAG_FALSE(DoubleMap) TESTSCFLAG_FALSE(DoubleMap) #endif +#if defined(CONFIG_MEMORY_FAILURE) && defined(CONFIG_TRANSPARENT_HUGEPAGE) +/* + * PageHasHWPoisoned indicates that at least one subpage is hwpoisoned in the + * compound page. + * + * This flag is set by hwpoison handler. Cleared by THP split or free page. + */ +PAGEFLAG(HasHWPoisoned, has_hwpoisoned, PF_SECOND) + TESTSCFLAG(HasHWPoisoned, has_hwpoisoned, PF_SECOND) +#else +PAGEFLAG_FALSE(HasHWPoisoned) + TESTSCFLAG_FALSE(HasHWPoisoned) +#endif + /* * For pages that are never mapped to userspace (and aren't PageSlab), * page_type may be used. Because it is initialised to -1, we invert the > > > > > thanks, > > > > greg k-h