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 CE9D3C25B7E for ; Tue, 4 Jun 2024 12:37:11 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 567566B00C1; Tue, 4 Jun 2024 08:37:11 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 4EF7A6B00C4; Tue, 4 Jun 2024 08:37:11 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 3B75F6B00C5; Tue, 4 Jun 2024 08:37:11 -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 1C5E76B00C1 for ; Tue, 4 Jun 2024 08:37:11 -0400 (EDT) Received: from smtpin20.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id BBDF4A20E7 for ; Tue, 4 Jun 2024 12:37:10 +0000 (UTC) X-FDA: 82193156220.20.CD85A99 Received: from m16.mail.126.com (m16.mail.126.com [220.197.31.8]) by imf09.hostedemail.com (Postfix) with ESMTP id 1E049140008 for ; Tue, 4 Jun 2024 12:37:05 +0000 (UTC) Authentication-Results: imf09.hostedemail.com; dkim=pass header.d=126.com header.s=s110527 header.b=qEKfa4hJ; dmarc=pass (policy=none) header.from=126.com; spf=pass (imf09.hostedemail.com: domain of yangge1116@126.com designates 220.197.31.8 as permitted sender) smtp.mailfrom=yangge1116@126.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1717504628; 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:dkim-signature; bh=0hRvVXncKOkLWsAeCdfmmfKnmhpK+8aJYZ8GA8gjOZ8=; b=drLKFimm6JQwN9Bf5AAfSwnbcpNmDbkq3b7fUN83MtQmMyy45vSmGxk/8rVsu014xgV5rD u0Jorxsl7EGijBzMdtV3XzIMj/y0+wD9No/D7IBSV8lOQ+MWk+bQahumHZpY6Lk7XO108J 6rql6rmwD/t5MrSvLdg0XgxVVoadb9M= ARC-Authentication-Results: i=1; imf09.hostedemail.com; dkim=pass header.d=126.com header.s=s110527 header.b=qEKfa4hJ; dmarc=pass (policy=none) header.from=126.com; spf=pass (imf09.hostedemail.com: domain of yangge1116@126.com designates 220.197.31.8 as permitted sender) smtp.mailfrom=yangge1116@126.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1717504628; a=rsa-sha256; cv=none; b=y4hpPPx2ewqzPRFxi435uKK+5oBOy+vhLI2cdp+mRgtz3yciynM/wVWLuKXRnfst/f1TSf 7UpchzsULCRvtoJzjsw4Wy6XKI9ltaQSBFZJvASosmBazwQIktJKHrJLh80XkIMLLk9SAU mNxzazKH8dVIgUR5xbuDWTBkACwNr0M= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=126.com; s=s110527; h=Subject:From:Message-ID:Date:MIME-Version: Content-Type; bh=0hRvVXncKOkLWsAeCdfmmfKnmhpK+8aJYZ8GA8gjOZ8=; b=qEKfa4hJu3SKHci7ZUAPmcekiWYgZ1kdBlSU9rwXgLWm5iFaxF2D4bVaQTi76h 2U+9KEasDPUy21EYU6UOmPxB4fFixPY+5OxWgyq5j2nTIB8rkQM3xdFy5sP1pfJt rUlzgWySe+3G8fccOzZK6EUsgdZhALZwsk4tmfZgYVsp8= Received: from [172.21.21.216] (unknown [118.242.3.34]) by gzga-smtp-mta-g0-3 (Coremail) with SMTP id _____wDX_8owCl9mVgncBA--.38032S2; Tue, 04 Jun 2024 20:36:02 +0800 (CST) Subject: Re: [PATCH] mm/page_alloc: skip THP-sized PCP list when allocating non-CMA THP-sized page To: Baolin Wang , akpm@linux-foundation.org Cc: linux-mm@kvack.org, linux-kernel@vger.kernel.org, liuzixing@hygon.cn, Johannes Weiner , Vlastimil Babka , Zi Yan References: <1717492460-19457-1-git-send-email-yangge1116@126.com> From: yangge1116 Message-ID: <82d31425-86d7-16fa-d09b-fcb203de0986@126.com> Date: Tue, 4 Jun 2024 20:36:00 +0800 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.10.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 8bit X-CM-TRANSID:_____wDX_8owCl9mVgncBA--.38032S2 X-Coremail-Antispam: 1Uf129KBjvJXoW7tF15Xr17Wr15AFWkur1xZrb_yoW8Ww4xpF Z3C3WYyF4rX343C3y7JFn0kFn09w4IkF4xGrWrZr1UZwnxCF4UCr97tFyavF1fZr9rAF10 yF4vgFyrZF4qyaDanT9S1TB71UUUUU7qnTZGkaVYY2UrUUUUjbIjqfuFe4nvWSU5nxnvy2 9KBjDUYxBIdaVFxhVjvjDU0xZFpf9x07bFHqcUUUUU= X-Originating-IP: [118.242.3.34] X-CM-SenderInfo: 51dqwwjhrrila6rslhhfrp/1tbiGBrzG2VLblo82QABsU X-Rspamd-Queue-Id: 1E049140008 X-Stat-Signature: 1et1mpdwhgps6e8tycb4ux4uy6kkg19e X-Rspam-User: X-Rspamd-Server: rspam04 X-HE-Tag: 1717504625-409062 X-HE-Meta: U2FsdGVkX1+u61i+3m2GH22efNpN4P8K9xROlkngc/tcGQuD16mWt5T0UxkKMkubLc4lv+5AdBdaX3/ADuYdN7rYfkTk81/nX572p3TWqumw7Va4ie/q4VqJ0mixRgwNnYx7DuK+5NVCftrebxwxrysqvMxFipirALWcdzi1ShpM6ILIOR1r7i/kYuwgIdmuga7JyZvYShzrbPdMD9jMsqkDma7Wg9AdS9yZBmnVLw1eR+72s1tYkSkETTOBMiOgxAc1XEDtroUpxqp7FtbnJSUTt74PbQdhbTCX1yRmuSq51e21qkyDGGW5KoKFotZ5b6VLZJ3Uh/Oorv2sFYT6ciICEZ0NxDfcJ5zweMCsl6JX3Qmw0TelJCnens14Wn+1auAnq2Pyq4hzKTQy/CvjR+5LiUWNS/wZbyRGT6MkPS5g4YLDWPajPXFgq0Nx3vzi1lp320qZhPzu2I3CfkSyAQK89wtWDcC5XKwh6FNlxQdznvDWBQgBbq7YmQ5XE/VHfay4z+8nbc2uI+G0YWyG3cp+ISRR0KLnJOLOs7oGdgl5hcppJE4qzbtPelEkGJgfMi6MK+MNeAld/hrDlvQvK96HQKfaKx/avXBWa6IYGQe03JTt11bAMftavf+PhyuY/TGE1XDnNkhZSoIopCvYZlZyx7EibV5RZ1EPMfqsLkiF8WneHUtS5ltikCL3hhn7D56WdxCufHBH9hYh8z+xrjpJdBYaJGDKWkXW+nJtOX8e4c5n01FbTAAtyxHcfYeda3kePHbJICcXew1G+IyaLX4UpSzC9CMZb6euEugUPZ2if75gXgti8KDC22SVeLy1NB8Kt6mZhXTOHjTiM3vRfygiZMdw4OS1ATmjY4hQbMSooSfPH5hSfnF3kDgYWFizQH+EcqPoYWMlTqXa/FU8AbBFOA6uSAXadLylrKS3B2t0AGQq5RRUxrYhMl0mUqJ3FNR2gqGKWtJVK6a3OEx kWNDA/8E fHYKLpozOBZqZ8OKSLYLJ7SiGHIT7u7PipUTGRw//FidvCRIiMB9hRgu1cgoONU+4hSPf3G31SaGy5DiOJVzNM+pPbiauQQKBNCesAIKFqDQjUNuOMSLcoHXsnWQZfLPiIUKkxtEKcgUA1QvWcL/8hiqYgtLKptvtvmECvDAuzaWOVfwDYvB89Lb+Ay2NFdmH3qlNuK0fCKVp6Zaa2RDkBNNj7Dn9kqlr6CLm/c6mh53MRvZircjPYKjYIwWABaYcNkw6Wg63NuuYDhp1crE3LpjDzjy9jTjQvYczaaiecv92/SuoG+l8gU8lgcyZxlqLwg11oZaoQEI+vYqdKjF8wv5+wbkmyV6HPgDNsXuv75zIhRT9qT0WW5ZGj/v33nnr+JLm 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: 在 2024/6/4 下午8:01, Baolin Wang 写道: > Cc Johannes, Zi and Vlastimil. > > On 2024/6/4 17:14, yangge1116@126.com wrote: >> From: yangge >> >> Since commit 5d0a661d808f ("mm/page_alloc: use only one PCP list for >> THP-sized allocations") no longer differentiates the migration type >> of pages in THP-sized PCP list, it's possible to get a CMA page from >> the list, in some cases, it's not acceptable, for example, allocating >> a non-CMA page with PF_MEMALLOC_PIN flag returns a CMA page. >> >> The patch forbids allocating non-CMA THP-sized page from THP-sized >> PCP list to avoid the issue above. >> >> Fixes: 5d0a661d808f ("mm/page_alloc: use only one PCP list for >> THP-sized allocations") >> Signed-off-by: yangge >> --- >>   mm/page_alloc.c | 10 ++++++++++ >>   1 file changed, 10 insertions(+) >> >> diff --git a/mm/page_alloc.c b/mm/page_alloc.c >> index 2e22ce5..0bdf471 100644 >> --- a/mm/page_alloc.c >> +++ b/mm/page_alloc.c >> @@ -2987,10 +2987,20 @@ struct page *rmqueue(struct zone *preferred_zone, >>       WARN_ON_ONCE((gfp_flags & __GFP_NOFAIL) && (order > 1)); >>       if (likely(pcp_allowed_order(order))) { >> +#ifdef CONFIG_TRANSPARENT_HUGEPAGE >> +        if (!IS_ENABLED(CONFIG_CMA) || alloc_flags & ALLOC_CMA || >> +                        order != HPAGE_PMD_ORDER) { > > Seems you will also miss the non-CMA THP from the PCP, so I wonder if we > can add a migratetype comparison in __rmqueue_pcplist(), and if it's not > suitable, then fallback to buddy? Yes, we may miss some non-CMA THPs in the PCP. But, if add a migratetype comparison in __rmqueue_pcplist(), we may need to compare many times because of pcp batch.