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 kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 3946CCD1292 for ; Sat, 6 Apr 2024 03:54:54 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 872CD6B0083; Fri, 5 Apr 2024 23:54:53 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 823BF6B0087; Fri, 5 Apr 2024 23:54:53 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 6E98F6B0088; Fri, 5 Apr 2024 23:54:53 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0016.hostedemail.com [216.40.44.16]) by kanga.kvack.org (Postfix) with ESMTP id 51ECF6B0083 for ; Fri, 5 Apr 2024 23:54:53 -0400 (EDT) Received: from smtpin22.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay05.hostedemail.com (Postfix) with ESMTP id EA6A240583 for ; Sat, 6 Apr 2024 03:54:52 +0000 (UTC) X-FDA: 81977740824.22.F6EAF0A Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.223.131]) by imf30.hostedemail.com (Postfix) with ESMTP id BD3D280006 for ; Sat, 6 Apr 2024 03:54:50 +0000 (UTC) Authentication-Results: imf30.hostedemail.com; dkim=pass header.d=suse.de header.s=susede2_rsa header.b=bZiu7LxW; dkim=pass header.d=suse.de header.s=susede2_ed25519 header.b=wbOp1VyJ; dkim=pass header.d=suse.de header.s=susede2_rsa header.b=bZiu7LxW; dkim=pass header.d=suse.de header.s=susede2_ed25519 header.b=wbOp1VyJ; dmarc=pass (policy=none) header.from=suse.de; spf=pass (imf30.hostedemail.com: domain of osalvador@suse.de designates 195.135.223.131 as permitted sender) smtp.mailfrom=osalvador@suse.de ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1712375691; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=wmAoTNWRoS2R2PrY9I6OGgAdt7uEnRmkelnWDdBbXlw=; b=UQdqSuQsXlu+Za9cDWywtXn7sGtNtpaK41aKdvG1bUkUkvEB1kdxOPlaqj5MGhmvQZqVDz aK3C2JqUZ4xFCSqe+4WsfRtnD8pcz8FfTlfoVpMfyJNAB84Kta98KIEQuP+FS2EtTnMoWQ QZdy18IBYBh7K1pINAFR8w1qXcnouWw= ARC-Authentication-Results: i=1; imf30.hostedemail.com; dkim=pass header.d=suse.de header.s=susede2_rsa header.b=bZiu7LxW; dkim=pass header.d=suse.de header.s=susede2_ed25519 header.b=wbOp1VyJ; dkim=pass header.d=suse.de header.s=susede2_rsa header.b=bZiu7LxW; dkim=pass header.d=suse.de header.s=susede2_ed25519 header.b=wbOp1VyJ; dmarc=pass (policy=none) header.from=suse.de; spf=pass (imf30.hostedemail.com: domain of osalvador@suse.de designates 195.135.223.131 as permitted sender) smtp.mailfrom=osalvador@suse.de ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1712375691; a=rsa-sha256; cv=none; b=F0ht8WtmJgUsc3inLBxPuJS7uSjGBcZvxeblr525ciLVVbayFKLfnqs7vCQTp9PfV/7nUz vJz4xsD/n4h7RAHCshTmklUW+T1/bWW+2KjSiZwu1r+nSuPasWxDMRiRIaKsaH6FGLPLN/ NB2q36GUwS81BbaUytvGQ3g+N3Tq5eo= Received: from imap2.dmz-prg2.suse.org (imap2.dmz-prg2.suse.org [10.150.64.98]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by smtp-out2.suse.de (Postfix) with ESMTPS id 328D51F808; Sat, 6 Apr 2024 03:54:49 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_rsa; t=1712375689; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=wmAoTNWRoS2R2PrY9I6OGgAdt7uEnRmkelnWDdBbXlw=; b=bZiu7LxWDg9lyKYHV4RxTbmBCiQ1KPgvYhU50rb3FI2SO0GweWldqPo4vs3/kfelefGw48 zHianIU2T2rM4WYqymLc/dCBfPgsCp2fq4iU491iaKEC+9Mxyip6fivgzUs32y5Fg4Gqd0 F0dSZNIGx3mYclZCt40ahFFNPh/o4n0= DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_ed25519; t=1712375689; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=wmAoTNWRoS2R2PrY9I6OGgAdt7uEnRmkelnWDdBbXlw=; b=wbOp1VyJ61hBy0dpxpT9RYlsc8qPH2dFcWgcGBCFdOlN2LM/Kc2CGCAZgPp0tzjO7JJgWq EvCil9xr7/01YeDQ== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_rsa; t=1712375689; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=wmAoTNWRoS2R2PrY9I6OGgAdt7uEnRmkelnWDdBbXlw=; b=bZiu7LxWDg9lyKYHV4RxTbmBCiQ1KPgvYhU50rb3FI2SO0GweWldqPo4vs3/kfelefGw48 zHianIU2T2rM4WYqymLc/dCBfPgsCp2fq4iU491iaKEC+9Mxyip6fivgzUs32y5Fg4Gqd0 F0dSZNIGx3mYclZCt40ahFFNPh/o4n0= DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_ed25519; t=1712375689; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=wmAoTNWRoS2R2PrY9I6OGgAdt7uEnRmkelnWDdBbXlw=; b=wbOp1VyJ61hBy0dpxpT9RYlsc8qPH2dFcWgcGBCFdOlN2LM/Kc2CGCAZgPp0tzjO7JJgWq EvCil9xr7/01YeDQ== Received: from imap2.dmz-prg2.suse.org (localhost [127.0.0.1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by imap2.dmz-prg2.suse.org (Postfix) with ESMTPS id A43BA138E7; Sat, 6 Apr 2024 03:54:48 +0000 (UTC) Received: from dovecot-director2.suse.de ([2a07:de40:b281:106:10:150:64:167]) by imap2.dmz-prg2.suse.org with ESMTPSA id 4fVcJYjHEGZcJQAAn2gu4w (envelope-from ); Sat, 06 Apr 2024 03:54:48 +0000 Date: Sat, 6 Apr 2024 05:54:47 +0200 From: Oscar Salvador To: Tony Luck Cc: David Hildenbrand , Borislav Petkov , Yazen Ghannam , Miaohe Lin , Naoya Horiguchi , "linux-mm@kvack.org" , "linux-kernel@vger.kernel.org" Subject: Re: Machine check recovery broken in v6.9-rc1 Message-ID: References: <1e943439-6044-4aa4-8c41-747e9e4dca27@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: X-Rspamd-Queue-Id: BD3D280006 X-Rspam-User: X-Rspamd-Server: rspam05 X-Stat-Signature: 56yopy6tisg7r7gafqpt1c685ykan9pm X-HE-Tag: 1712375690-565657 X-HE-Meta: U2FsdGVkX1/e0ZXI/jtdw83STDzOb1k52d0SS97goFWpE/xk2Nrbgx+X4mig/2srQe8/+GKK9J60lNr78UD942+eH8Hip+y8OkHLTbwIznDZuHdXaeexl/ApFQ5JHqL6VJVccxADXLb+Z1Nz+7yU1/HlrZd2I3Hp4JoqrYn99i+2tlp4W2VdAS/x9LcfOSoTl2tKf2D5T2Xp0jlapjMyrzaQSR2onHsEZ20HbT2utdsOcUl3sV/XMTzMLu8jrdoq4eMzB7h7Fiw3mTwsyTAcdwMtS4fl5PFA4qXuzbzkGgNhipmBu0vR3n442jyUYAoeLBJEbwfnAUoxbr/kcTeXktZrJUzdh9NzoL0XdwRwRO824H/KnBQuGSN9HbcdYdRFiGMDiYhjjHG4wdSQU3mwRuMqx4rwIUazH5P786EA3uDx4LWmcjiQ8k4CE4BVZHReSFdiv4a5I9AJQnfg5J3QPoJzgUF58YGYEU7S9X72mCI1qdoJk2NfM3meKY9p6sjRhHnOU2Fotcn8FPtTJLNu6tUvfxlvi4S/vEfiGbKytQxE8U8sHbDb9zS3YtKMYdjhthFyDiHb7XhXL6GWox2HCJCDzvZfSIH+TVIDksmIQDN4LGzVhVVgPTGQo4MyV4tM5XAe7Ph5pLsBEmX2+uIqfEuzz1nU42hMXAd6Xb9hjreUiwgLhe0A0R8SDElet9OtP5QufOap7TgoZEvimAsxZyqZb9lTyrnSogCsW/UATjasSOSYlT/l/YPyU+rqLxQDKtaFMpGiO9Jg8IrhmRgrZf07tL1NLP+TmbkmuOEwENjqw09OuL6oqtY0mU2oE+3Hw++rf5AEETt7g0yXjGY1U9pEVMuLAmsObXrgeZ4rGcOp7mP2Mf5jdg781BMirjVsKo85DMvz76myQ5NTnKZS3mDndG9Jq6ujYni43v6Ain2wcW3LZvA1M5Ok8xl7Dh0h0OMJZl+M2+jde3YR4fa xwAmqMAO r7ETtf7Tr+y5XwMo9Kk8hqbRJCxnD7lPeQgnsCMlbAM63qy9N+3cKN2cMhFLRzyk4Na5EoYtZ6a/ezfkWh1GSnu8cD/J8VjoCqfY/zm2JP3pTGrQohyPvMlUPyIvniFPWnFP0ZG5DPkj+GvrsH4M+OIetjIABE8Swmp9ZpYCEWIuKO6T2+vhuXmkeYYXjOpC+VYkBs0+E03JPGajXZrfkUT9c6FeGYS6Kw4WuMXpUB2XYni4XzcKAWKt16Q== 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: List-Subscribe: List-Unsubscribe: On Sat, Apr 06, 2024 at 04:18:41AM +0200, Oscar Salvador wrote: > Tony, could you try the following patch, to see if that goes away? > It is against 6.1, but current kernel has the same problem AFAICS. > > > diff --git a/include/linux/swapops.h b/include/linux/swapops.h > index 578212fbf2be..575d428393c0 100644 > --- a/include/linux/swapops.h > +++ b/include/linux/swapops.h > @@ -416,7 +416,7 @@ static inline bool is_pfn_swap_entry(swp_entry_t entry) > BUILD_BUG_ON(SWP_TYPE_SHIFT < SWP_PFN_BITS); > > return is_migration_entry(entry) || is_device_private_entry(entry) || > - is_device_exclusive_entry(entry); > + is_device_exclusive_entry(entry) || is_hwpsoion_entry(entry); > } > > struct page_vma_mapped_walk; Sorry, I was still sleepy and I made a typo. Plus I realized we need to move some definitions to make them available. This should have been (compile tested only): diff --git a/include/linux/swapops.h b/include/linux/swapops.h index 48b700ba1d18..201efbf441d6 100644 --- a/include/linux/swapops.h +++ b/include/linux/swapops.h @@ -390,6 +390,35 @@ static inline bool is_migration_entry_dirty(swp_entry_t entry) } #endif /* CONFIG_MIGRATION */ +#ifdef CONFIG_MEMORY_FAILURE + +/* + * Support for hardware poisoned pages + */ +static inline swp_entry_t make_hwpoison_entry(struct page *page) +{ + BUG_ON(!PageLocked(page)); + return swp_entry(SWP_HWPOISON, page_to_pfn(page)); +} + +static inline int is_hwpoison_entry(swp_entry_t entry) +{ + return swp_type(entry) == SWP_HWPOISON; +} + +#else + +static inline swp_entry_t make_hwpoison_entry(struct page *page) +{ + return swp_entry(0, 0); +} + +static inline int is_hwpoison_entry(swp_entry_t swp) +{ + return 0; +} +#endif + typedef unsigned long pte_marker; #define PTE_MARKER_UFFD_WP BIT(0) @@ -492,7 +521,7 @@ static inline bool is_pfn_swap_entry(swp_entry_t entry) BUILD_BUG_ON(SWP_TYPE_SHIFT < SWP_PFN_BITS); return is_migration_entry(entry) || is_device_private_entry(entry) || - is_device_exclusive_entry(entry); + is_device_exclusive_entry(entry) || is_hwpoison_entry(entry); } struct page_vma_mapped_walk; @@ -561,35 +590,6 @@ static inline int is_pmd_migration_entry(pmd_t pmd) } #endif /* CONFIG_ARCH_ENABLE_THP_MIGRATION */ -#ifdef CONFIG_MEMORY_FAILURE - -/* - * Support for hardware poisoned pages - */ -static inline swp_entry_t make_hwpoison_entry(struct page *page) -{ - BUG_ON(!PageLocked(page)); - return swp_entry(SWP_HWPOISON, page_to_pfn(page)); -} - -static inline int is_hwpoison_entry(swp_entry_t entry) -{ - return swp_type(entry) == SWP_HWPOISON; -} - -#else - -static inline swp_entry_t make_hwpoison_entry(struct page *page) -{ - return swp_entry(0, 0); -} - -static inline int is_hwpoison_entry(swp_entry_t swp) -{ - return 0; -} -#endif - static inline int non_swap_entry(swp_entry_t entry) { return swp_type(entry) >= MAX_SWAPFILES; -- Oscar Salvador SUSE Labs