From patchwork Wed Jun 5 08:37:31 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: xu.xin16@zte.com.cn X-Patchwork-Id: 13686419 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 61C7CC25B76 for ; Wed, 5 Jun 2024 08:38:17 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id D363C6B007B; Wed, 5 Jun 2024 04:38:16 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id CE6656B0089; Wed, 5 Jun 2024 04:38:16 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id BD4CB6B008A; Wed, 5 Jun 2024 04:38:16 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0015.hostedemail.com [216.40.44.15]) by kanga.kvack.org (Postfix) with ESMTP id A163B6B007B for ; Wed, 5 Jun 2024 04:38:16 -0400 (EDT) Received: from smtpin21.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id 3D85981141 for ; Wed, 5 Jun 2024 08:38:16 +0000 (UTC) X-FDA: 82196182992.21.5FE6BAA Received: from mxhk.zte.com.cn (mxhk.zte.com.cn [63.216.63.35]) by imf03.hostedemail.com (Postfix) with ESMTP id D06F920013 for ; Wed, 5 Jun 2024 08:38:13 +0000 (UTC) Authentication-Results: imf03.hostedemail.com; dkim=none; spf=pass (imf03.hostedemail.com: domain of xu.xin16@zte.com.cn designates 63.216.63.35 as permitted sender) smtp.mailfrom=xu.xin16@zte.com.cn; dmarc=pass (policy=none) header.from=zte.com.cn ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1717576694; 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: references; bh=ZSi6OmFydCaddH4tMPUsQFfDFiPxx+cWFrhrITZqiKQ=; b=AbZD8kZl8x227n0PgU5YOHTvjnrPYfgUBGJAf5GXo6VKgz7AJYyBCMzIpj+lxVRlPCJE0q dmTxikFPZKxyIEBj57Qa55zQwKwuUBUuZWM93e6AlRauMH2gjXTpGiA9aLRwrH6GK+WVRI Bk+bx+N2FxOkn16chM4A1cw1KRJgW/c= ARC-Authentication-Results: i=1; imf03.hostedemail.com; dkim=none; spf=pass (imf03.hostedemail.com: domain of xu.xin16@zte.com.cn designates 63.216.63.35 as permitted sender) smtp.mailfrom=xu.xin16@zte.com.cn; dmarc=pass (policy=none) header.from=zte.com.cn ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1717576694; a=rsa-sha256; cv=none; b=P6W4uHKZ1EGy2udJ7D3pnQNjKSpwFKKYlBxhJ9NTO8EQqtmKS17N5qnEOlz86r/r2A74jn Z2t/k2qM+1rbkWvxOMDJLDDO8ZhK9vxhNzNpDl43DBgfDqxBB52ZhcJSnfiLsvxr2UvQtY uwlEsWUghKnRQbAUvHCAqkLZywIadWs= Received: from mse-fl2.zte.com.cn (unknown [10.5.228.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mxhk.zte.com.cn (FangMail) with ESMTPS id 4VvLSx4NJFz6G3wn; Wed, 5 Jun 2024 16:38:09 +0800 (CST) Received: from xaxapp02.zte.com.cn ([10.88.97.241]) by mse-fl2.zte.com.cn with SMTP id 4558bS2q014156; Wed, 5 Jun 2024 16:37:28 +0800 (+08) (envelope-from xu.xin16@zte.com.cn) Received: from mapi (xaxapp01[null]) by mapi (Zmail) with MAPI id mid32; Wed, 5 Jun 2024 16:37:31 +0800 (CST) Date: Wed, 5 Jun 2024 16:37:31 +0800 (CST) X-Zmail-TransId: 2af9666023cb0a5-00b6d X-Mailer: Zmail v1.0 Message-ID: <20240605163731027tu4GJzm7fzc00snHCyF_3@zte.com.cn> Mime-Version: 1.0 From: To: , , Cc: , , , , , , Subject: =?utf-8?q?=E2=80=8B_=5BPATCH_linux-next=5D_mm=3A_huge=5Fmemory=3A_r?= =?utf-8?q?emove_is=5Ftransparent=5Fhugepage=28=29?= X-MAIL: mse-fl2.zte.com.cn 4558bS2q014156 X-Fangmail-Anti-Spam-Filtered: true X-Fangmail-MID-QID: 666023F1.000/4VvLSx4NJFz6G3wn X-Rspam-User: X-Rspamd-Server: rspam09 X-Rspamd-Queue-Id: D06F920013 X-Stat-Signature: ahmmhwzi9pmfrgqmq3ku4pbjgte65uj5 X-HE-Tag: 1717576693-81455 X-HE-Meta: U2FsdGVkX1+7oFMZUasp9xYkMQBGPVc9VKBNISSKb1b9f+hZA0BLrNrDfM6+c33A3qPx3SbND4/tpSsxw0/yZ6xWdDEFZGqjgoscXJa6z5+GthIY25a5X7VeNuQoiZseM9qAz3gl/OsOeJLosVDY2fgBb1AyF3V2Oj1sQEi/VFspWFxieBq8RcKEQGEjhevgDcFEImU1HwqvYSKd5ruTQ8egg0DA1RTv4bdK4keqDjvBa9w9Pz1nQ2/42dVuSJmhV6oWQe0/9AWLIKieanOE6RRlTDJDIDaX2rmV46SLnYPDgAnJsRgVHhcjF2qxKaBvhL++SE575qpTEwCJ69uBHXwZ9rVNpzA/4gahcf9OwDRjrMF/zZMrRdU8z/xeMochDv/CgIwJsfbQPbfCA+LkH5iFvx9oAPvmP5C4nPBxUnGRp7xB4HNAQVXbDnj0uEv5GBebR8zE3qzS5HEhv3zdK/gveVEC5Dvi7C4P1fkOBIyqhFudC0pnEAE+QcThtv1lVGXNq71yLiuk6FIRPN0vAXgKPbL36tP4VnJ33QF4hkCUD0KtH+PAa+eJqvgPl2rTVpCKVkj31ewYcVo0ndYc3qk3AJVlokpTIqvvY5F9Zyciw6Fu9Rb4rLEn5vAO6XKuWmVZ1bt0Gix4bco/0Buga4et21H1ZmGsCTcz5UY7Xnq05l/2NuHLY1ZsuyfiOuUul9CRMZKorz7mWA/XMZEu1Hpyqp9R2Q2IzOPBcSmkFEef4gbMWbZ+2Me4kvGnduHErYsr5XpItD+KP6TTELHQzuD1O9EyT9GBzJGzf4Oed1Q4cB3qegt4xax03S5jS+Y8ID4N7FtObNgq/pLRn6QYq4EgYfRFIuNKPloq2IU3y6hrq+rG/FHbYwALCm+djLSV4JYzAY30T/S3WhF3Nn+84ZZMM/vJq2J+8bBr+lyl/bmDSbbi6eMGhsB0PoOYz3QcDcp6OPs4GGD6LdMTRjW 4kJNPTS4 zbi5TR181kkYuSP9pDRSJLg30f1cpoB+dp+n2+dpZ9Qt/q+FqL7P0zwUjsx3rtND5Slnxo268qrg9ir+hTGetVfzhqfdl/N3n3mO53d94AsVkaoZ+YVmRIMicjpDNQLhJGatXuywF+4Fc5JT3h7JqTtvmD7SnxaqcmXiWtx602fTkwXUWQLfghH8PgDM60uOPjnG6Il0hEpVFXKNLYHPz6lQn9H0PfFXVJb/XMWXNkI7kEXeEQGtRiWeRKA== 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: From: Ran Xiaokai is_transparent_hugepage() was first introduced to ensure the page is 2M THP page. After commit de53c05f2ae3 ("mm: add large_rmappable page flag") and commit fc4d182316bd ("mm: huge_memory: enable debugfs to split huge pages to any order"), any large folio of mTHP suitable order can be split, not only 2M THP page. so the check in split_huge_pages_pid() is not needed here, instead a folio_test_large() check is sufficient. To ensure a 2M THP folio, we should use "folio_order(folio) == HPAGE_PMD_ORDER" for now. As split_huge_pages_pid() is the only user of is_transparent_hugepage(), we can remove this helper. Signed-off-by: Ran Xiaokai --- mm/huge_memory.c | 11 +---------- 1 file changed, 1 insertion(+), 10 deletions(-) diff --git a/mm/huge_memory.c b/mm/huge_memory.c index 317de2afd371..f1a992945007 100644 --- a/mm/huge_memory.c +++ b/mm/huge_memory.c @@ -839,15 +839,6 @@ struct deferred_split *get_deferred_split_queue(struct folio *folio) } #endif -static inline bool is_transparent_hugepage(const struct folio *folio) -{ - if (!folio_test_large(folio)) - return false; - - return is_huge_zero_folio(folio) || - folio_test_large_rmappable(folio); -} - static unsigned long __thp_get_unmapped_area(struct file *filp, unsigned long addr, unsigned long len, loff_t off, unsigned long flags, unsigned long size, @@ -3439,7 +3430,7 @@ static int split_huge_pages_pid(int pid, unsigned long vaddr_start, continue; folio = page_folio(page); - if (!is_transparent_hugepage(folio)) + if (!folio_test_large(folio)) goto next; if (new_order >= folio_order(folio))