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 2DB62CDD569 for ; Thu, 19 Sep 2024 02:13:28 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 55D8E6B0082; Wed, 18 Sep 2024 22:13:28 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 50DF16B0083; Wed, 18 Sep 2024 22:13:28 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 3FC5F6B0085; Wed, 18 Sep 2024 22:13:28 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0012.hostedemail.com [216.40.44.12]) by kanga.kvack.org (Postfix) with ESMTP id 20C2A6B0082 for ; Wed, 18 Sep 2024 22:13:28 -0400 (EDT) Received: from smtpin27.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id C92A2A9F2F for ; Thu, 19 Sep 2024 02:13:27 +0000 (UTC) X-FDA: 82579866054.27.D22A146 Received: from szxga04-in.huawei.com (szxga04-in.huawei.com [45.249.212.190]) by imf02.hostedemail.com (Postfix) with ESMTP id B2DAB80002 for ; Thu, 19 Sep 2024 02:13:24 +0000 (UTC) Authentication-Results: imf02.hostedemail.com; dkim=none; spf=pass (imf02.hostedemail.com: domain of linmiaohe@huawei.com designates 45.249.212.190 as permitted sender) smtp.mailfrom=linmiaohe@huawei.com; dmarc=pass (policy=quarantine) header.from=huawei.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1726711948; a=rsa-sha256; cv=none; b=tzUQyJ7EsqQBbXK2bpqkKrzxzeF8Zm4XNOpz4PdpTUVU+e/LQumrzOYAIj19Oe99HCMjGV VhbOAoBVT5NAqkg0b3OH280Zl2fxgXrSLGM7QmA5zQYdktqb3O2CI9g7XyKGUdCVi4oeMd f4ZUlaZ/W8un0+zNUr/iB2bjxSHwfe8= ARC-Authentication-Results: i=1; imf02.hostedemail.com; dkim=none; spf=pass (imf02.hostedemail.com: domain of linmiaohe@huawei.com designates 45.249.212.190 as permitted sender) smtp.mailfrom=linmiaohe@huawei.com; dmarc=pass (policy=quarantine) header.from=huawei.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1726711948; 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:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=NXz5Ym7BvF7itbi1iCGRwUPj+eEfvigMT5GqqK4tJR8=; b=r8rNQDm3akCjzhyB0qNOgj3zZQ07095o9FujH7STKnAskslg8E4nLd6L8NhvWnDy8NYK5/ SAopIN2zM205N16UDNK0DgZiYInDPxrPM0S0hB46lgBjbDWVDDAeMxm7iDEK8ZnOD56KSq 55na9pecxFCXNr/SPM2JTVKP+QUJfPs= Received: from mail.maildlp.com (unknown [172.19.163.44]) by szxga04-in.huawei.com (SkyGuard) with ESMTP id 4X8Jvh4vnVz20nwP; Thu, 19 Sep 2024 10:13:04 +0800 (CST) Received: from kwepemd200019.china.huawei.com (unknown [7.221.188.193]) by mail.maildlp.com (Postfix) with ESMTPS id 09FB21401E9; Thu, 19 Sep 2024 10:13:19 +0800 (CST) Received: from [10.173.127.72] (10.173.127.72) by kwepemd200019.china.huawei.com (7.221.188.193) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1544.11; Thu, 19 Sep 2024 10:13:18 +0800 Subject: Re: [PATCH] mm/huge_memory: ensure huge_zero_folio won't have large_rmappable flag set To: David Hildenbrand , , CC: , References: <20240914015306.3656791-1-linmiaohe@huawei.com> <2875de57-6e11-4cfe-a0a6-36879ca96091@redhat.com> From: Miaohe Lin Message-ID: <5d817637-00b3-dd0a-4d3c-cf550fcff440@huawei.com> Date: Thu, 19 Sep 2024 10:13:17 +0800 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101 Thunderbird/78.6.0 MIME-Version: 1.0 In-Reply-To: <2875de57-6e11-4cfe-a0a6-36879ca96091@redhat.com> Content-Type: text/plain; charset="utf-8" Content-Language: en-US Content-Transfer-Encoding: 8bit X-Originating-IP: [10.173.127.72] X-ClientProxiedBy: dggems704-chm.china.huawei.com (10.3.19.181) To kwepemd200019.china.huawei.com (7.221.188.193) X-Stat-Signature: ph8mfwycx9qsgignpwertydnnicwetgd X-Rspamd-Queue-Id: B2DAB80002 X-Rspam-User: X-Rspamd-Server: rspam10 X-HE-Tag: 1726712004-298644 X-HE-Meta: U2FsdGVkX1+EkeoZ4yqLyWJnir2t3SdvioUzL1zBa6YvsBRjUx9hSUZbza6CkwWkzNV1xitraCb3G1fHvL0F+o8sgUO5BbjZblWqvgRK7r6PAHZ9UunV/KiwcuZYLCNTvuCpamwamlL3OvPN+TW2rC81Fvtc294TE145ID28B65HgBVnoghtvny+/esbOoYZH0yFuafKBJRAGRo6HHLyM6+7FN4iXKzZoP06ggO9TI+zE7LnuwuamshKvp4VETvW8vjdjUdQ3Ni1vLQStnU2ScP/78eaRR2TjKkYdOmlLFVg5RfSvx7/8/DndX391KNw83xaB1RLivhVFEGLItDQgHfnbt+6vsnTSsg/g5HgsNIi3Q1W3kd6vf6X70RW7QO1Ytn/wJAROgaTmo3YnIEIShpezP3SeR8h88Ti+Lt/5MEI5fj2gVx8vKofsLYFuh9MKC7BJ8ZeEKvVGA9TW7Tvu7ebYgipZlEwbT/OdCyBfTt9uNoCDFKwnQavf3+O4lSkyj9ZUbkDeYWOR+hjYX1VJfgT0+80EbUGihhz/lQs6Mhni86RuTsF7LYEpc+dM0TZ+e+9v37crH+9swLMD3edGsSU9LauSAylpoXNWchhCDp/ewDY0S3ZQxXJvLkR6XvkrRzX8Wec3UHAvdd22AxdB8LaKZlV/WiwA5tFsvPyKzGB0UYwevJrvtr85CO3oA4woDgpUbN3jh61N+YDc38vHEK6dKY5YZvpLVXhyFGtg0yaGO4JlUxcjr8iTRwQdCuC081gF66NjOOiODO2NHZvl0Q6Kqp08gR6TGsUnRBDV3rEMO2c3bPaUD1WtnN3lrXpiM0SJ/Qxlgq2G6f+6SEb8z9bJ08qif8UnSFPefr/RgsSXAdTQOdrv9a5GRXndT9JdRMMLOAsXTi183gIOx6PlF03PkgYSo0/ER5vi5QYZyihUzyKF5+tlsT0Llo+20wvGv8Qw3sW9EOyZ5I2AEj L1xoVGMi NBjjj0JduLmVLfCgv3P7LtsjtLgXNCV0dbJ2/QT2Pi9jblRARIRlvmxZCrNQJC3ygKmXP2nJWT5RFeNE1yIUsPomY/bIkRe6SLgLEeJ0Z0X5HRHJwBbUQKFay8IdQmdGvHuJ30UXHpf0YlYOXCTIpCsXmRD6byT6d9z+pbj8XG0DPrw80VDW+kbmfJ3SoZKgJ2sXrUD+xMK6qUEVN+WsNUWtSzRaLBUi7BHmkGbunA46+hf6ge3gm2gqkxxL6jYaj9L+WkDMzhqJeH/W/lYYmjUULMmmU/N6/AZuU 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 2024/9/17 19:59, David Hildenbrand wrote: > On 14.09.24 03:53, Miaohe Lin wrote: >> Ensure huge_zero_folio won't have large_rmappable flag set. So it can be >> reported as thp,zero correctly through stable_page_flags(). >> >> Fixes: 5691753d73a2 ("mm: convert huge_zero_page to huge_zero_folio") >> Signed-off-by: Miaohe Lin > --- >>   mm/huge_memory.c | 2 ++ >>   1 file changed, 2 insertions(+) >> >> diff --git a/mm/huge_memory.c b/mm/huge_memory.c >> index 2a73efea02d7..4e34b7f89daf 100644 >> --- a/mm/huge_memory.c >> +++ b/mm/huge_memory.c >> @@ -218,6 +218,8 @@ static bool get_huge_zero_page(void) >>           count_vm_event(THP_ZERO_PAGE_ALLOC_FAILED); >>           return false; >>       } >> +    /* Ensure zero folio won't have large_rmappable flag set. */ >> +    folio_clear_large_rmappable(zero_folio); >>       preempt_disable(); >>       if (cmpxchg(&huge_zero_folio, NULL, zero_folio)) { >>           preempt_enable(); > > Doesn't that rather fix > > commit 4c8763e84aae4d04d94b35aca9f7db6a8930ad77 > Author: Ran Xiaokai > Date:   Fri Jul 5 10:43:43 2024 +0000 > >     kpageflags: detect isolated KPF_THP folios > > > ? > > We could fix it simply by changing the order of checks in there. Sure, we can fix it like above but huge zero folio shouldn't have large_rmappable flag set anyway. > > It makes sense, though. The huge zeropage is not tracked via the rmap ... ever. Mapcounts etc are unused. But clearing that flag is just ugly. > > I wonder if the real problem lies in using folio_alloc() here, and that we should be never setting the flag in the first place .... Yes, we want a folio, but not really an rmappable one. There was a similar problem. Hugetlb folio has large_rmappable flag set through using folio_alloc. And that cause kernel panic when migrating hugetlb folio. Please see commit 1390a3334a48 ("mm/hugetlb: fix kernel NULL pointer dereference when migrating hugetlb folio"). Thanks. . > > ... Willy, what would be your take? >