Received: by 2002:a05:6a10:5bc5:0:0:0:0 with SMTP id os5csp1942299pxb; Thu, 4 Nov 2021 11:09:38 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxJVRgv8StZDEBOQRCWgFsMLrogs/tL5601VtrxvfFbdlmiviEsBmjl7XbsXbVcJEGy62KK X-Received: by 2002:a05:6602:2f04:: with SMTP id q4mr21598123iow.123.1636049378009; Thu, 04 Nov 2021 11:09:38 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1636049378; cv=none; d=google.com; s=arc-20160816; b=cczObi9bHBKvepGHwLqtFwJyM9A5IEP/r+Vpaaj4vmc7SUfQTAT3lDgaCNcGDt3gL4 PWXjL99je2/TT3rnG5FPoZ+Mc6vV1CAs7P/+1uBqcH4UhBlcwrYp6fbFtg3TqFioUcYp czA8UmStRyzjXn9NwQxgfVWdc+/ZjlxUUN49ZUV55sPx/gi0wqI+vUANo87Bh4fzJX83 3zrpTvRXSlihqvo2iY2PIG29hOIw/ElDb7H79XSaTbxF88VjFY9ogOOTI7BRRuAIsRTp RcI/t52Ysd/kM+bvQcAsdnh3THMffnxxxiK5+h7EVAKXlB02rAs9b2jTQf4tK9MMV77H loxA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:cc:to:subject:message-id:date:from:in-reply-to :references:mime-version:dkim-signature; bh=0oBqiMQfPYMmT40A5DIPYcF4on4Z6w8+xYNJvWPt73g=; b=p3a8tsKr6yshzUPFZsSUvIWKT6Q+0bFvOkHYb7Kf9ZfjF0Es1f2CxbTIaGKzD7b9Xj AB89WfryedTHqdNx6H2Fl4X3KiGtU3E2yNwIC2nWlcx2VlqA5GjqpSiBjIiIQR1B7L7v +YVd18EzyvyKZMaYTTwdA1w+ELUwoaeoaoEiB6Qigr4ADTj5UpTDKd0Y5r4bjWUYUInK xanStDjj6LfvQ/psE6kZMSIgUlVQROtH9D6vgcGGJCC8b94y19ndwQs4l5XJmHlTTTpM f1l1L+QMAc9CitlMfjiSm/nKKmZgIrNACrExf/h7XMUdAbcSyDOO0pZiGR/xokLVL5t8 wA4g== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20210112 header.b=eeZ2XvjY; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id 1si3132397iln.66.2021.11.04.11.09.24; Thu, 04 Nov 2021 11:09:37 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20210112 header.b=eeZ2XvjY; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233989AbhKDSKB (ORCPT + 99 others); Thu, 4 Nov 2021 14:10:01 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:37560 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231402AbhKDSKA (ORCPT ); Thu, 4 Nov 2021 14:10:00 -0400 Received: from mail-ed1-x52b.google.com (mail-ed1-x52b.google.com [IPv6:2a00:1450:4864:20::52b]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id CD9C1C061714; Thu, 4 Nov 2021 11:07:21 -0700 (PDT) Received: by mail-ed1-x52b.google.com with SMTP id r4so23659721edi.5; Thu, 04 Nov 2021 11:07:21 -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=tNgAzR2/QnyMlTZ+Npex5H7MJvtr+09V+AVBrZ3JXKEIscN75bFHT608CZUV2iw41N ql4KiPxZ0+bu6JzuqfsVSPn9343OjVzMPsUycBhl5pANB/7uqKbU2jCCkVUgn6EGdbu/ 9Kc5mJlAUDyrjg7q8NSRlLqyK+EZU7tj+rxgc80CRY5DEeIRIp1C2B3UAObgxyfqgMq4 I1y6MOzyVez+n7GpeEVRqeAOHJQCPswErhU808D7L/AJ7m8yqBAmMvQwRbN7QFuxob+O uVOBf6vLOKeOewu1VKL9kKFiAcd69g1O/HDoNCQM9HhzwNoUk7UQnHpLVq6kgMyJL+8U IcgQ== X-Gm-Message-State: AOAM530/fKnLB4ImZ8p+j3OaiKH7RtW+YXcupJ4vFzzO6NnqXV4x4GZH nc0zaTpKc6hr8l5APbMWZI0ukh3/x5Kuah9paNI= 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" Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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