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 35067C54E5D for ; Tue, 12 Mar 2024 14:15:07 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 904478D004D; Tue, 12 Mar 2024 10:15:06 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 8B3E08D0017; Tue, 12 Mar 2024 10:15:06 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 7A33A8D004D; Tue, 12 Mar 2024 10:15:06 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0013.hostedemail.com [216.40.44.13]) by kanga.kvack.org (Postfix) with ESMTP id 68C318D0017 for ; Tue, 12 Mar 2024 10:15:06 -0400 (EDT) Received: from smtpin06.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id 3D4DAC0D60 for ; Tue, 12 Mar 2024 14:15:06 +0000 (UTC) X-FDA: 81888583812.06.4DDFA46 Received: from casper.infradead.org (casper.infradead.org [90.155.50.34]) by imf05.hostedemail.com (Postfix) with ESMTP id 0DB0A100023 for ; Tue, 12 Mar 2024 14:15:02 +0000 (UTC) Authentication-Results: imf05.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b=E1SldIWM; dmarc=none; spf=none (imf05.hostedemail.com: domain of willy@infradead.org has no SPF policy when checking 90.155.50.34) smtp.mailfrom=willy@infradead.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1710252903; 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=tKj3ZrZBu+cZoJ7iDZEb6fe5JKp9OmsNqkepEfIGkK4=; b=40Wt5YPmxKOmCcwxs9KFvb+6N7jNTRXOzTlU7iRbK9N2Rx2mh/Tl8eDjVZHWDEkK85kATo TN0bGYClitQEvL7h4QU6drZPjvAxI+vlQ+UOx8IdY6fi9+DAir+/KjNogkeo8gSlSUDXrF Ybwh2F1qtEGaXfobjdRH2croUNSQT/A= ARC-Authentication-Results: i=1; imf05.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b=E1SldIWM; dmarc=none; spf=none (imf05.hostedemail.com: domain of willy@infradead.org has no SPF policy when checking 90.155.50.34) smtp.mailfrom=willy@infradead.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1710252903; a=rsa-sha256; cv=none; b=EKczUbAs5CPP67vZHmQHAInMYs77/+QOFpjBDIBQyKxtn5+tu5dKDGNNg1UapKvaSwG9FZ SKFlvmJKgNOqXqtTydPnd/YkkIkEy1V1emvr+fGuBVFxrCnh22W03x6PwAvctsKDdUFBF1 cMbVJaMVDAtSwV7itn2LYGMwGGReXlg= DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=casper.20170209; h=In-Reply-To:Content-Type:MIME-Version: References:Message-ID:Subject:Cc:To:From:Date:Sender:Reply-To: Content-Transfer-Encoding:Content-ID:Content-Description; bh=tKj3ZrZBu+cZoJ7iDZEb6fe5JKp9OmsNqkepEfIGkK4=; b=E1SldIWMEIR30u1gi78LwGMdVG /pHxWTMWNuvbqjceBZb9PYC4YBglQYb01GzbOiJeterwyFmXLZZ8Iia6F9NpVjgygBCK69jse/t2Z 6EgSdP8u+X3WUdtSAb/kFiegWmYRtFeUvS+3qFuGpAWPJax2pO3c5InQ2F4sio/7mmscKhFuO1hph dpm0XPtDLDGYnCnCZO3iNf/E1whIY327CjNAkMekB2iN1TdtDFEYKgEYlGjBZqDJMs/qZ+7270z9R CwGGEc4IqVf6FZL621/YNdyUpUveesUfaXGIsatKfs6UYdP1s+UQpH4lKarQs9xpnWMIeSHFax08i wkTweHLg==; Received: from willy by casper.infradead.org with local (Exim 4.97.1 #2 (Red Hat Linux)) id 1rk2u8-00000003BiN-3C3C; Tue, 12 Mar 2024 14:14:56 +0000 Date: Tue, 12 Mar 2024 14:14:56 +0000 From: Matthew Wilcox To: Miaohe Lin Cc: linux-mm@kvack.org, Naoya Horiguchi , Andrew Morton , ak@linux.intel.com Subject: Re: [PATCH 6/8] mm/memory-failure: Convert memory_failure() to use a folio Message-ID: References: <20240229212036.2160900-1-willy@infradead.org> <20240229212036.2160900-7-willy@infradead.org> <5eab08d7-ae38-4f99-401f-f361466e34e0@huawei.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <5eab08d7-ae38-4f99-401f-f361466e34e0@huawei.com> X-Rspamd-Server: rspam09 X-Rspamd-Queue-Id: 0DB0A100023 X-Stat-Signature: hi3oqpu46fg4uwof4yepyxsahgz6bcee X-Rspam-User: X-HE-Tag: 1710252902-577890 X-HE-Meta: U2FsdGVkX19lFenAyMOn9GrvhttzfGbw5VLSulzFiE5JCYhJtBCIXMQxT9K6ggCH3LxkLOIuSBkAr1UBrvX33sb6MaEcfqHAZ8+z0vNBUoInYpfaGKcYfUDL3QKz+va1XYaL/0VLG4lbfFfb8cgYi02c7f/Yoc7rfylYin5718DScA+i3nKSHwWPVQmDtliEsrsQ169mgvnjTLB7eGerq5XejYzE2yBZdzQw0r5l4H/jCuelXCaG0EmmLFH5daAJ48A6XpaKdkKbmqNmmcMl9GsHtFlKtG7v8rGRXbJFPZXmvYHqDILAnvcLzKkF0AOxKmNjOKupsIDYqn1k/hNuISSvelbN9u6+YFtzAd9gb7m8ZA+VQEldxbOiSfxkVjwUHL5W8z0mKl79AvL1p57+u0U15tuib8611SpbG8Wb62hMNPiKPfIs06AGHu2m4vjTaIWTNpkTNL1wXAqqYflO0ioA3VtcXYA9ykSbkrlIfnazZOV8/M1EqUZwr9594Cl6ey6y9zHOhKq2peQdngnm96Y14lZMWuuc+BS1+4FVju4FQOUT+V7ayfMaYkaWO962QuZnzQWaccm2L+QB4fuaI1X7v0tOVysXBbYqNB3i8YSxX/yidfrbd5KPWmyM/n4TC7QecZS87XWM/ZPBcLXBdxj0VHF+/flKgZuSBGD4RomzMvTcGoLKDJ87rxHNGSK/4zvqlqstxfMyGrDL/yln80jb/AvAk+u/0uvX/x4MCc21R4RkC8+opmOt8K6qHx8T0oWVWdL5RxYqZt1/IZE7Lo/mMfpk20s3X12RkEsU5M2Q8XTsyXPqJAWCZOY7fVQGyx6jsGUsl4QDwDQGQ2TGrDOVRrMpwG9DdXaXtqd4StklSX6ZIltPq7pMuB0GReTlmMTWJENaMRLqeRWQTNJLfdZD2mVoalIbgywZTBfZIEPbKxGaXTD6rDH0ybljwIrjunmQSsATq91P/ASrIeA XV0fHyHt /IkgI2djYq2gCs7z+dJcU8sKZrKbA2zT+8DxhMCeB1Zy6ZKhP70NVwCrMrsVgFBGT7pKP4ixPObGpZa49mLfIfQWIjUNSSbqS/AEc5unJ1C2w1onrziKa/qHL0Bj3ro0ew20iXRU1zSRPRJJfFQAIQoVgfk9o6GndkGeY2hRfY/kUyMStHYuWgfEI8AfyTA7/zXw3Avh7GS/wwC8= 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 Tue, Mar 12, 2024 at 03:07:39PM +0800, Miaohe Lin wrote: > On 2024/3/11 20:31, Matthew Wilcox wrote: > > Assuming we have a refcount on this page so it can't be simultaneously > > split/freed/whatever, these three sequences are equivalent: > > If page is stable after page refcnt is held, I agree below three sequences are equivalent. > > > > > 1 if (PageCompound(p)) > > > > 2 struct page *head = compound_head(p); > > 2 if (PageHead(head)) > > > > 3 struct folio *folio = page_folio(p); > > 3 if (folio_test_large(folio)) > > > > . > > > > But please see below commit: > > """ > commit f37d4298aa7f8b74395aa13c728677e2ed86fdaf > Author: Andi Kleen > Date: Wed Aug 6 16:06:49 2014 -0700 > > hwpoison: fix race with changing page during offlining > > When a hwpoison page is locked it could change state due to parallel > modifications. The original compound page can be torn down and then > this 4k page becomes part of a differently-size compound page is is a > standalone regular page. > > Check after the lock if the page is still the same compound page. I can't speak to what the rules were ten years ago, but this is not true now. Compound pages cannot be split if you hold a refcount. Since we don't track a per-page refcount, we wouldn't know which of the split pages to give the excess refcount to.