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 7A05AC636CC for ; Fri, 3 Feb 2023 10:01:58 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id A77296B0072; Fri, 3 Feb 2023 05:01:57 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id A28296B0073; Fri, 3 Feb 2023 05:01:57 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 917256B0074; Fri, 3 Feb 2023 05:01:57 -0500 (EST) 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 7DF196B0072 for ; Fri, 3 Feb 2023 05:01:57 -0500 (EST) Received: from smtpin01.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id 45E7981168 for ; Fri, 3 Feb 2023 10:01:57 +0000 (UTC) X-FDA: 80425539474.01.8694BD7 Received: from out-5.mta1.migadu.com (out-5.mta1.migadu.com [95.215.58.5]) by imf21.hostedemail.com (Postfix) with ESMTP id 768641C0011 for ; Fri, 3 Feb 2023 10:01:55 +0000 (UTC) Authentication-Results: imf21.hostedemail.com; dkim=pass header.d=linux.dev header.s=key1 header.b=N2IKYpf8; spf=pass (imf21.hostedemail.com: domain of yajun.deng@linux.dev designates 95.215.58.5 as permitted sender) smtp.mailfrom=yajun.deng@linux.dev; dmarc=pass (policy=none) header.from=linux.dev ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1675418515; 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-transfer-encoding:content-transfer-encoding: in-reply-to:references:dkim-signature; bh=jVqxFf3JRfqjs768IBtScFknblotNYt6b9ZAM/rAAcc=; b=vJEUMQoz5gzdW39q3F5jR5CgQRBrzHDHdi9cktR9hY8z20lQ4pn8/MesS+0wK4tOFc/dPJ +r9sdsXE9HYHWDWk3okNbUM98LwbubiB4SucS96w1qxWavRPExzTrbbXhUFV2snQP0tfCg 2qxV9ZCfrpipoQ2pC0mSvnw4YLmpkkc= ARC-Authentication-Results: i=1; imf21.hostedemail.com; dkim=pass header.d=linux.dev header.s=key1 header.b=N2IKYpf8; spf=pass (imf21.hostedemail.com: domain of yajun.deng@linux.dev designates 95.215.58.5 as permitted sender) smtp.mailfrom=yajun.deng@linux.dev; dmarc=pass (policy=none) header.from=linux.dev ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1675418515; a=rsa-sha256; cv=none; b=5xds4VKB57UG6RQfGdQXiyVtAG9Kiq7Bs3ZIsH6AYjGfPd1VOXaC5OUcEg0wUmo3AMvHBn Hck+hEXISNg7XkkThlJNtl2N4WKqZNO83yHF3vv2QJ8tR9Cjs49+pb4JVAk3HoVKf5JyFd c63OYJHwg5qnDjRVXajRfcGOp4NaR6M= X-Report-Abuse: Please report any abuse attempt to abuse@migadu.com and include these headers. DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.dev; s=key1; t=1675418507; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding; bh=jVqxFf3JRfqjs768IBtScFknblotNYt6b9ZAM/rAAcc=; b=N2IKYpf8zv/QbWkNAoZoxZILiqR1lS1XhBXWc0GvpNnwaTTbN5ZKbzV8sLrDKERbLgmKla 5XTX+V8wJe5h+VHPdQ93dja0oCJRSXomPii8OB5E6mtTef4/lZqOEv/zAuWl1BwR1JyIlt kUU+kulKfdXKItaDyh2e8JlvVIZ3/Uk= From: Yajun Deng To: akpm@linux-foundation.org Cc: linux-mm@kvack.org, linux-kernel@vger.kernel.org, Yajun Deng Subject: [PATCH] mm/page_alloc: reduce fallbacks to (MIGRATE_PCPTYPES - 1) Date: Fri, 3 Feb 2023 18:01:32 +0800 Message-Id: <20230203100132.1627787-1-yajun.deng@linux.dev> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Migadu-Flow: FLOW_OUT X-Rspamd-Queue-Id: 768641C0011 X-Stat-Signature: izcpbdx9jep747ec9mb39deqhict3b9i X-Rspam-User: X-Rspamd-Server: rspam08 X-HE-Tag: 1675418515-517910 X-HE-Meta: U2FsdGVkX19VisOR7+1Q4W9okyYXbiGnd3obC9AndczP3/+PqYKm7vQQuq9Bt2DXLLuh3WE4YZ9QjfcTvB04pVXJfrXL5jfYHPnc+CpKkDtnQf7QjMFpPstSDNVPlX5SrgVaCZ/tSnPt+vfP2rOGyCsbfesSULT6ADLo2y1d9oY1RE36Qf+CX+XfAzTCM217D+1ohwNt2XbZAHqSuiJDNlRmKYgdSdyjLhswdEgrrgCqHraSJ4FMCe7Bb5Bir2FqjmOLWVqxbJSCReEhbiGYIJcStB/dZwY8anDmNzqFt3HtWtOW+mDBqOkjyzAtpNE9rd7rfU/5LIvWaOnxZGnY7IgchgIDmLPDCtbWGASaHtctb5ksGvR5A+0YD5sVbmEm4xyMrT7tReTPHR33ZgzkK1GUCmWL8P+CGYYFSmi+vdCBh+IBrCA74EB1kxqjTNszRNEF8WdX0IZ2iDU6OR4cxr7IItnJg7iLYU5qOOZ7DAqqNqTmN/bT8f8ME3ZhqEdj61ciTNAyDKfrf8COSs1EIrsRccg/FjFt2S9P7R9wjdE0PfRdzqH4J+Ppik5V80YocjK3YVMNDu2Dr+VfByCZF1zmi4gzxrffqmndEtSFJPnDjEIr9F9F3vpnYHi5W55o1liC0MSg84xJK6FNmXXHSSJBtlSotC+HpPHo/K0WtH/2oDRNzdw7Tk6Fm71s3od7iDvibcDIVNynG4rRQnLMSB/nGwdWf1ODm9sF3YEEdjAwwkdaod6PXEHzltvBoSNJr3Lalqhxy4Moi4O97JOhRzorGXIqSAnvqHtrHfNqyRmBLdmokAw2jPZ3En/61NxDy4GbZBXGHgbCv5c/f0zRho/qj8XcPjG2xM4+FmygVepUBjcTssEtjihpnjIBY9E+/CRa9IXNVmxJAhbsu97+6XGWwn4j8ZF6C4FTCk7zg3WMT+AgxC1qpk2lisa1mTYBV5rN6/TEmQiL6CHShZ/ OIRMBMCq ngmbcCtRxnuOomN5OWnbdLWiLQAMwcHHrLoY0oOw/Hv9Yd4BT4e1F70MkxDqXQNZhb1+FDlaKIkALEKmRwUog9mzvMsF+fehCT6+EoCPcUQ7yJCynm6aOj0EBYRVT9HtpeyAb X-Bogosity: Ham, tests=bogofilter, spamicity=0.000137, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: The commit 1dd214b8f21c ("mm: page_alloc: avoid merging non-fallbackable pageblocks with others") has removed MIGRATE_CMA and MIGRATE_ISOLATE from fallbacks list. so there is no need to add an element at the end of every type. Reduce fallbacks to (MIGRATE_PCPTYPES - 1). Signed-off-by: Yajun Deng --- mm/page_alloc.c | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/mm/page_alloc.c b/mm/page_alloc.c index 5ebce58026f1..21d820c42900 100644 --- a/mm/page_alloc.c +++ b/mm/page_alloc.c @@ -2603,10 +2603,10 @@ struct page *__rmqueue_smallest(struct zone *zone, unsigned int order, * * The other migratetypes do not have fallbacks. */ -static int fallbacks[MIGRATE_TYPES][3] = { - [MIGRATE_UNMOVABLE] = { MIGRATE_RECLAIMABLE, MIGRATE_MOVABLE, MIGRATE_TYPES }, - [MIGRATE_MOVABLE] = { MIGRATE_RECLAIMABLE, MIGRATE_UNMOVABLE, MIGRATE_TYPES }, - [MIGRATE_RECLAIMABLE] = { MIGRATE_UNMOVABLE, MIGRATE_MOVABLE, MIGRATE_TYPES }, +static int fallbacks[MIGRATE_TYPES][MIGRATE_PCPTYPES - 1] = { + [MIGRATE_UNMOVABLE] = { MIGRATE_RECLAIMABLE, MIGRATE_MOVABLE }, + [MIGRATE_MOVABLE] = { MIGRATE_RECLAIMABLE, MIGRATE_UNMOVABLE }, + [MIGRATE_RECLAIMABLE] = { MIGRATE_UNMOVABLE, MIGRATE_MOVABLE }, }; #ifdef CONFIG_CMA @@ -2865,11 +2865,8 @@ int find_suitable_fallback(struct free_area *area, unsigned int order, return -1; *can_steal = false; - for (i = 0;; i++) { + for (i = 0; i < MIGRATE_PCPTYPES - 1 ; i++) { fallback_mt = fallbacks[migratetype][i]; - if (fallback_mt == MIGRATE_TYPES) - break; - if (free_area_empty(area, fallback_mt)) continue; -- 2.25.1