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 14566C54E66 for ; Fri, 15 Mar 2024 06:19:22 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 7E6E2800FE; Fri, 15 Mar 2024 02:19:21 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 795AA800B4; Fri, 15 Mar 2024 02:19:21 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 684C5800FE; Fri, 15 Mar 2024 02:19:21 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0010.hostedemail.com [216.40.44.10]) by kanga.kvack.org (Postfix) with ESMTP id 5A61A800B4 for ; Fri, 15 Mar 2024 02:19:21 -0400 (EDT) Received: from smtpin12.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay04.hostedemail.com (Postfix) with ESMTP id 155671A0B8E for ; Fri, 15 Mar 2024 06:19:21 +0000 (UTC) X-FDA: 81898271322.12.ACE04E1 Received: from szxga03-in.huawei.com (szxga03-in.huawei.com [45.249.212.189]) by imf17.hostedemail.com (Postfix) with ESMTP id AFDFA40002 for ; Fri, 15 Mar 2024 06:19:17 +0000 (UTC) Authentication-Results: imf17.hostedemail.com; dkim=none; spf=pass (imf17.hostedemail.com: domain of linmiaohe@huawei.com designates 45.249.212.189 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=1710483559; 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=lvaSJAP81zJjV6zN4dFUYQ9bT4beXBLDo2qSbLDpF1E=; b=MCgcz2ovTLGq7k4l6dO4QGWyokWdXMtAJMwJLoDvNTtK+xjYb6t56JMN72wYgnYCqz3LJE xSAKtlk8m8mT8vXD00wtOP82sMeqcTdqHsFjfJaMcHkKwwUaLsbPfJNJQ/I2/MJU6MoR33 vp9D7yydZ0qhswfUe3rBYXGBuIJF2r4= ARC-Authentication-Results: i=1; imf17.hostedemail.com; dkim=none; spf=pass (imf17.hostedemail.com: domain of linmiaohe@huawei.com designates 45.249.212.189 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=1710483559; a=rsa-sha256; cv=none; b=DovXvcMrtQk35l8RC0vTKK2Vwb0kgawD4TlHpCLHbKa9FzdYy9zNNxozYyLxHwnHtUsrek 99NwOCRvmpUgTb0MLLX1A2QUgHEYEwmsVBlek2JM4CvyfSrSdZCdNmWbE4y4DXMyk5MA9R MIUI0JZ8ZBjAhYB96byGOvEWbImUTR8= Received: from mail.maildlp.com (unknown [172.19.163.252]) by szxga03-in.huawei.com (SkyGuard) with ESMTP id 4TwvDN0bK2zNm44; Fri, 15 Mar 2024 14:17:24 +0800 (CST) Received: from canpemm500002.china.huawei.com (unknown [7.192.104.244]) by mail.maildlp.com (Postfix) with ESMTPS id B936518006D; Fri, 15 Mar 2024 14:19:11 +0800 (CST) Received: from [10.173.135.154] (10.173.135.154) by canpemm500002.china.huawei.com (7.192.104.244) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.35; Fri, 15 Mar 2024 14:19:11 +0800 Subject: Re: [PATCH 1/2] mm: Turn folio_test_hugetlb into a PageType To: Matthew Wilcox CC: Andrew Morton , , Oscar Salvador , David Hildenbrand References: <20240314012506.1600378-1-willy@infradead.org> <20240314012506.1600378-2-willy@infradead.org> From: Miaohe Lin Message-ID: Date: Fri, 15 Mar 2024 14:19:10 +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: Content-Type: text/plain; charset="utf-8" Content-Language: en-US Content-Transfer-Encoding: 7bit X-Originating-IP: [10.173.135.154] X-ClientProxiedBy: dggems704-chm.china.huawei.com (10.3.19.181) To canpemm500002.china.huawei.com (7.192.104.244) X-Rspamd-Queue-Id: AFDFA40002 X-Rspam-User: X-Stat-Signature: xxzuqxqg3mc61cwm6pgiaux4hqphxcbz X-Rspamd-Server: rspam01 X-HE-Tag: 1710483557-496165 X-HE-Meta: U2FsdGVkX1+Fo3h3Ksf1Vdvoe3YylIwWsU8TmEACZpKA7Ch9Lp4TtsYcrUJ6XSvePHUpsp///jyBb8ny77R4cIfe2m3esIXucn1igfP9Dhns1NvzGupZrsEVl4sqmOnXfQdwaIkXne6uVRwQmG0k/2L2eknDIUQZyA20G+5+UHrSG4YK37RhpfGCuiwaueUjchcUMfbyixF5iwfi7r8f7k8BXQegbRrjSrWbsnjSn7GGQytcbIj2iEZxAa3+UrbkL4tR9CB5uGR2ZGIVUqAPqka8AswgAGeGniKvBh1Z9QW8oN0SAtn7pIdT+S7QNQBzwcxx1bxabSweY+Ttes0tUjGUfcsrPlk36tYYpX87eGpQBybLhXPOCUzRaKnJviz70Q+qmIwPP/RsfwoJmEp58SBkoqwDjVrofzNhCb7fz53ZpC43pjZI9gSGmTLBQuLppErHW80KeAcsINTkiPuof5NRIseA++hxnipf5dfg9ejGsG8AtolhmOPIrfjh84Tg44X/PjJtTCqRL2xKxMOfGeCTi+fleado9Kep9N9+tfttc5G5zXOLDTv19R2XNupTxyvrrmBCoHwsFvqazEbSDWqRH7Umukc2MbU+H6z5E3SK3r0x91H3gSjTZER5g+eHgL6xorv8nGZBP/JrpEcmSMAFgiwFcHFkAG82BORY53ZiVf728lvGYDWw3QINnj72hzgJCLiz80uxy8+mabeXverQaaD8G0Ma9Wt9XroSvaCvFAqWntj88DXSlW/8wPvd+kH2IFb4Q80+RLhaa87bne+MrXarrCMuFd2bXOU93f0beutfui5TKvQ3BU/bH3GuHDIt2MwsdtIUBqcnz/32QRyqSOB+o/agzLV99dqDd24S2LRlanQELNticFmvKw30RHzfrxGsHn1z+xFYjElN+eWtUq9vwD4NUPkBGL6YZtyL1zoNLCcNi7mBrRFvptFKFRqqU6O/xV4AyOWN7QV VRtVN+aH cEVCk13VJ3pMU9U2rGechbWqYgj1Sr2H7KHT43N+cAOh1zZdwJrn8i8SzH0mky3hOaW9KCE/C/7W1l932wcdm8YzCGAKYb2SDzipGel2XBKUo+hTQfVSBQPRZWmNvn4QM8QWNFMNkY4A1K2Ari7PDn1gz/PSkWq6TOwfHGZoIuILeAAaiYBuOysqjcw== 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/3/14 22:33, Matthew Wilcox wrote: > On Thu, Mar 14, 2024 at 11:26:17AM +0100, David Hildenbrand wrote: >> Should we include this hunk: >> >> diff --git a/mm/debug.c b/mm/debug.c >> index c1c1a6a484e4c..f521e17150a10 100644 >> --- a/mm/debug.c >> +++ b/mm/debug.c >> @@ -63,7 +63,8 @@ static void __dump_folio(struct folio *folio, struct page *page, >> * encode own info, and we must avoid calling page_folio() again. >> */ >> if (!folio_test_slab(folio)) { >> - mapcount = atomic_read(&page->_mapcount) + 1; >> + if (!folio_test_hugetlb(folio)) >> + mapcount = atomic_read(&page->_mapcount) + 1; >> if (folio_test_large(folio)) >> mapcount += folio_entire_mapcount(folio); >> } >> >> Apart from that, LGTM > > I actually want to do a bit more here ... > > +++ b/mm/debug.c > @@ -58,15 +58,10 @@ static void __dump_folio(struct folio *folio, struct page *page, > int mapcount = 0; > char *type = ""; > > - /* > - * page->_mapcount space in struct page is used by slab pages to > - * encode own info, and we must avoid calling page_folio() again. > - */ > - if (!folio_test_slab(folio)) { > + if (!page_has_type(page)) { > mapcount = atomic_read(&page->_mapcount) + 1; > - if (folio_test_large(folio)) > - mapcount += folio_entire_mapcount(folio); > - } > + if (folio_test_large(folio)) > + mapcount += folio_entire_mapcount(folio); Why folio_test_large is not within the "if (!page_has_type(page))" block? I think a slab page could also be large folio. Or am I miss something? Thanks.