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 CBCC8C433EF for ; Sun, 24 Apr 2022 04:49:22 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id F3CCF6B0074; Sun, 24 Apr 2022 00:49:21 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id EC2C76B0075; Sun, 24 Apr 2022 00:49:21 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id CC7486B0078; Sun, 24 Apr 2022 00:49:21 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (relay.hostedemail.com [64.99.140.26]) by kanga.kvack.org (Postfix) with ESMTP id B64BB6B0074 for ; Sun, 24 Apr 2022 00:49:21 -0400 (EDT) Received: from smtpin22.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay02.hostedemail.com (Postfix) with ESMTP id 756D72700A for ; Sun, 24 Apr 2022 04:49:21 +0000 (UTC) X-FDA: 79390543722.22.91F9782 Received: from APC01-TYZ-obe.outbound.protection.outlook.com (mail-tyzapc01on2083.outbound.protection.outlook.com [40.107.117.83]) by imf27.hostedemail.com (Postfix) with ESMTP id 480FD40033 for ; Sun, 24 Apr 2022 04:49:19 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=C54ZWK1SE3wuhlovSkI48ClntVDOSx1b5Dq5ft78LumoE2WzqxF8lPVQPP3yuPLuYiGbt3NsyOxkFhA/bzOj7xZWWslMz6joSPmSJdDD7KScYHsyaxdX7V3luwinOP1Pcvb3vPd2TYefDk+LwGVsYdndJnQcGc/z9jyjTKpMb2QIt1d5lYmkHzV9U/nLbkQwBf//6dfV+5iEGhvXcIWoFjhCIJlPuD7nEqHeo/Jafsijw2Dj2oiAeaC5ijVwHgE4jcIXpBNGSmzaSIrYD7BatiGtWeigMxylGGwkHkZFdiV/e8FKrzo0XxqLcXk84zMg1vIufZdSdGyGnRVXXKXQrg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=W49+2pyEnxeqK6kgL+UDKB4uYGybK0wdEBOa59t7+HM=; b=ewfjV68d4he+hVycgd5pLrePiRfvv21ul5XHUF7G2hs7NrPSD8W9f07zoiTBJL4VoYcnaaOFPiLPKmEoaEJlzQ6iKuZ6f+3vEsTbbiXilhgAPMGbWXCkudjJJCgmAS+wBMjSPbpuzN6xYuqs6hECCcJEjXoj89f3a7qi0Gf3CV7XxCNmyTQbDV+Rx+9YmXQgtRf8bSt6BRtcsPHjGxGg22X0RUngnTXK+StZ/E5lNt9YrdIwujM31QPmJw+qDNvkF+e9Htr4WyjHkmE0bceaL4vlV8E3jDN6HMu+y6DOrzpzVuWTS1UhcEcQVF51ZupdJ4qEWe59+U0pj0Dk0I+kaQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oppo.com; dmarc=pass action=none header.from=oppo.com; dkim=pass header.d=oppo.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oppo.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=W49+2pyEnxeqK6kgL+UDKB4uYGybK0wdEBOa59t7+HM=; b=OdAyT+uKNGVihsEaNTFXcHoi4hMFlKF3NM1mDNtNLrIf40Q5YCpeH1LYFrPQ1yiPxVMYnIkCaIqD6hjD36VceIpgQqz0X762RtZu1CyJdzfcmH1W+FLkqmYUqRnN0bv/dM0fZn9ZPZvh1DF/98GkrlvK69FPSterD323U6SRWtU= Received: from TY2PR02MB4431.apcprd02.prod.outlook.com (2603:1096:404:8003::13) by PS2PR02MB3352.apcprd02.prod.outlook.com (2603:1096:300:3e::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5186.20; Sun, 24 Apr 2022 04:49:12 +0000 Received: from TY2PR02MB4431.apcprd02.prod.outlook.com ([fe80::8179:176f:a62e:c998]) by TY2PR02MB4431.apcprd02.prod.outlook.com ([fe80::8179:176f:a62e:c998%5]) with mapi id 15.20.5186.020; Sun, 24 Apr 2022 04:49:11 +0000 Date: Sun, 24 Apr 2022 12:49:10 +0800 From: "lipeifeng@oppo.com" To: "Barry Song" <21cnbao@gmail.com>, "Christoph Hellwig" , "Marek Szyprowski" , robin.murphy , akpm Cc: zhangshiming , linux-mm , linux-kernel Subject: Re: Re: [PATCH] mm/page_alloc: give priority to free cma-pages from pcplist to buddy References: <20220424032734.1542-1-lipeifeng@oppo.com>, X-GUID: BEEFA3F0-9BC0-48E8-8B15-553049D94695 X-Has-Attach: no X-Mailer: Foxmail 7.2.16.188[cn] Message-ID: <2022042412490782163210@oppo.com> Content-Type: multipart/alternative; boundary="----=_001_NextPart038615761455_=----" X-ClientProxiedBy: TYAPR01CA0107.jpnprd01.prod.outlook.com (2603:1096:404:2a::23) To TY2PR02MB4431.apcprd02.prod.outlook.com (2603:1096:404:8003::13) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 5fa37762-cb74-4698-0077-08da25adc623 X-MS-TrafficTypeDiagnostic: PS2PR02MB3352:EE_ X-Microsoft-Antispam-PRVS: X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: g6gDc9imyffQwIe5v93RLNcxpswp1+5sbkexY9+XV4xoFrq8jzsYK9gLjH72r9g6MwtYWV/FerGVkaAoW5bm/6vWpR1qdrtvSG5fCNq6MaXycBWPZ3//YvxRuHfetoC/LnVUaYrBavhgahqMQnbu+AiqrgmjfgaOTDQZ/HXwM18pVLVYlbMrxq7rJNwyVumWOfQd0UhBNv3M3iN0BLAvRq30UGvZ5HkwYV9cEq6W5EV+qkuGfcUWaG0UxHBgNU1mxqsi0s4Q7FF2wc27xwFvAVDg8m3YFglFtN9a4Z4NoZnN+evbklBZm/oNqXkjOkS8C4/CuEQHbjys7US4YMRNBK7P0siTZggub6SoJK59zDIq26dPtfWTLLBKrqMFVyt8QO+p244M2deMxQKj0t4+QCohFgLF1EXEJ5ISrb4y0pz/RBZdyAwyxJOtnUjIpyogY3UfEUywn2vUBrY5+Nf+s05IjPQJLesdbGpaqs4sY1TfGJLEtBL3AYFpDFdhfPQ1r+yk5oE/efstNy/wPJ9mEUFrFEA6fz4DDijMVvOxryvD4T32x94Tpb46Y6LztuLrC3Cm+Pqsa9REd+qETq8f+emsbel2MuzO3h+rJWOvSctRXFdck+NzGZUJEHB663+7Tms85kL5br4d2sfXwkSWPEOmzXD0tNI5ynVey0dzyhU+G9UvAFJJcUik8XeTQV6MsfvY6FSzBILN+/Bc0Z59TQ== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:TY2PR02MB4431.apcprd02.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230001)(4636009)(366004)(186003)(37786003)(1076003)(2616005)(2906002)(36756003)(83380400001)(6486002)(8936002)(66476007)(66556008)(508600001)(5660300002)(38350700002)(38100700002)(66946007)(110136005)(98106002)(54906003)(316002)(52116002)(86362001)(6512007)(4326008)(58226001)(8676002)(26005)(33964004)(6506007)(53546011);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?NnRRcjMxRDFvM2ExY0VuWmxZYVo0TDNOOUY4UitqZXZzWk5DVlBjQi9IcXQ3?= =?utf-8?B?cnFMZ1hmWElPQkdPcm9wREdrbzMwS0VUUVN1K1VBOXlpMTcyQnk1QVBRU2N1?= =?utf-8?B?ZUc1dExFM2pFQ2tVbjd1TnJUZGNOUWRQcnNpaDBqWWRDWTYvMGxsYmMwdWRS?= =?utf-8?B?MTIvNnJzTlFLK2VscUNrejFkSTR3eVk1TjlUZW43Z2kvQVNuazltV0RhRU9P?= =?utf-8?B?RU1TOE45amhOTnhFZ01JRVBkMVc3K096RUN6NE9IQmtmbFhhRjI5cklQd2gw?= =?utf-8?B?aWl5UFAxZWxYTDFUaTF2M3dQM2tiQ3hwWnhTVW5Zbi9SR25DcDBhTjhkUEhz?= =?utf-8?B?Y3BDWnVCS3NQeFZjYjdTbWZhdW02d1JYVTdPNi90aDZyQ3M2YTAyUXlFNjM2?= =?utf-8?B?eEthSnV6Z1hHeU5DelVoemwzTFp4VGJ2eXRkSWdheklXRWNjWXhMMWtBWGFj?= =?utf-8?B?bmo1Q1hldi9pT0pOT3M2SGV0ZmNzdS82VE45OUNoWkZ5L0U3Q1AwSnloZ295?= =?utf-8?B?ZGR5WjVXWDRCcmpycFNCYlJubXZTVllybFkrbE5sN0svUXlOekszL3lIMGNt?= =?utf-8?B?SnltTGh4UWU2ZGR3YWJXMnZsVC80N3kyYVBXS0FLVTZVSUtUQ2N5RGJnRURu?= =?utf-8?B?bkZDdXQvc1FkbUxCbVNFL04yd0xsWFFZNWt4RzkrSGpVeW96dm9YYllSb1ZE?= =?utf-8?B?dCttSXQ0M3dUZVZyelgxVXo1ZjlUc2FMbCt2S0pUbVVnajlSOGQ3QWJTdmJj?= =?utf-8?B?dGkya0tMUElDbk1pRFNIeXo3ckhtYVpKUXJON0ZxWk1YSTNUczJXaTRkZ0NW?= =?utf-8?B?YkJNdkp6c1d2cFJkRlFhLzRHKytJK0ZFT2E1aTJPdUR5Vnp4WVpNNktoZ1F3?= =?utf-8?B?YXlzQjVaOEdhYzJWWDUrdVFnVGlyNzY2LzdHcGlRRGozYkVOVUM5a09JY2Nr?= =?utf-8?B?SDRnbEx4T0xmSUUyVFpGT3hmeUR4dFpoOTRpVEMzUGV5RTFsY3Nwd25VNHJJ?= =?utf-8?B?d0ZGeXpDeGR2aWJyemtzdERPR0EyZlZva1p6UnQrKzRncTFJMlVyVU8xL0VS?= =?utf-8?B?UStxQWxTTmt5K3RQaStBZmoyS2JweVFydk9YVm9Dd1ZjdWFpZTA3bHFCRFJa?= =?utf-8?B?WWU5T2lnOE0wQWRyT2l1MUdjUEF2Y2FaZmRkcWMyL0IxTU1kU1V6RUFqMldR?= =?utf-8?B?WER6UjBVTjVwdjZjTUpBVWVkZHRVM1Y5d1hjNVFCU0oyS2V4UUg4T1FMeFFs?= =?utf-8?B?U1Q3RU03MnpPMFl6WHhlSjJaNzRUZUxMUDNHbVNVb28zRTNuY1R0RGJzNDhq?= =?utf-8?B?ekRpOHhhTU9ndm9mS05EMkJZQi8zTmdlay9qQmNNWjdaUGcrVmpHZ2J6MERJ?= =?utf-8?B?MUZYVDRDR0hNQXA3Zjk3RXZHUjJXTnFaUkZVZ1FvVndwbUtsVlBBQ0xSMGpo?= =?utf-8?B?a0JhdGlybVBhVFNyRTZQQ3ZkVmJEZjlzMXdtdGpWQnU5OEdTeXpBTGlCNmVP?= =?utf-8?B?cjc5cHVWVmFhQ2V5UzYxVlAxSlVQWTVpU3UxRXN3N25qYSt1WDVKL2xBbG9S?= =?utf-8?B?MnA4bE5ySW1ON0NWaXdjd2ZZQjRPM2FXUk1uVWs3V0VmUXBBUDJVK1pxbk5W?= =?utf-8?B?bWllM2RsWFk2SkZUWlFXbDRuem5uOFVxZDY1a2lBa0pjbHl1Tk9DV0k2bUd6?= =?utf-8?B?dzNXZ2dhVmNKT0tJYjJtRFFNajNDSGpKemFVa3U3cUJ2bzFJMTlDK3NKbm95?= =?utf-8?B?WjVnVERVWlBoWjdNSXNUWHhlZm5Bc0E2QXBKSlpPUlRydy9YZXJUWDVJY0RU?= =?utf-8?B?bktlemE1RXlQYjk5THpWdGJYbG43YXA4TUtlOVJCOEhhZFpXVUZDdGdjM3Rt?= =?utf-8?B?OWd5M2lWMldnd2cyZk1waEU4YXZ2MkhXak5NbkN4NEFnd0EvZndwd2lWa001?= =?utf-8?B?NVh5OGhoamZhem9JNldqcWJHdEhFWVFrUXpadEJLVTBtYVlmQXQrZml3WnBI?= =?utf-8?B?TGJZQmFrWWdsYVkwcFhYelptaXJsdEx6c1ZoaHpxR0wvV1FST0xqYUxQTmhO?= =?utf-8?B?MUx2NWtwOS80djFWK2xBV3VzcnowWjRSL2lhOXQzcW5NdEdpT0d6emd4M0Vu?= =?utf-8?B?clZYYjgyaXdSYXhvTTNvTTkrZjE3bFpab1U4RmxXRXp4QkZnVGxtNGV2aW4y?= =?utf-8?B?ZGNuR0ZXK3NrRDFuUWhIMi9SUTc2YVlJalIwRXRpc0pPVGNaWnJ3RldaU0lq?= =?utf-8?B?SUdsb3pJcFpEMUtrT254STdRVlEvNGVXMHZJT0plalJvSTNaOE96RE9iaDcw?= =?utf-8?B?NytpNHMrUEp6V1BXdDhtMWdkZWt5NFRYL1BEQlB5cUpnRElzNDZ4ZFVMVTZP?= =?utf-8?Q?phVI7QSlsgMDLSDg=3D?= X-OriginatorOrg: oppo.com X-MS-Exchange-CrossTenant-Network-Message-Id: 5fa37762-cb74-4698-0077-08da25adc623 X-MS-Exchange-CrossTenant-AuthSource: TY2PR02MB4431.apcprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Apr 2022 04:49:11.4016 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: f1905eb1-c353-41c5-9516-62b4a54b5ee6 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: L8W/GR24iX4CUaXYXgSOoKec22Sy1PSIbxZ7yfKVHvH1R353v/YZqjetVLhCaPyTmdjLXktdMMQyWSvgD6dmfg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PS2PR02MB3352 X-Rspamd-Queue-Id: 480FD40033 X-Stat-Signature: 14gonkruagp4dqhbh43gks6wu9f6w7ma X-Rspam-User: Authentication-Results: imf27.hostedemail.com; dkim=pass header.d=oppo.com header.s=selector1 header.b=OdAyT+uK; spf=pass (imf27.hostedemail.com: domain of lipeifeng@oppo.com designates 40.107.117.83 as permitted sender) smtp.mailfrom=lipeifeng@oppo.com; dmarc=pass (policy=quarantine) header.from=oppo.com X-Rspamd-Server: rspam09 X-HE-Tag: 1650775759-993552 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: ------=_001_NextPart038615761455_=---- Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: base64 SGkgQmFycnkgU29uZzoNCg0KPiBpJ2QgIGNhbGwgZ2V0X3BjcHBhZ2VfbWlncmF0ZXR5cGUoKSBh Z2FpbiBpbiBmcmVlX3VucmVmX3BhZ2VfY29tbWl0KCkNCj4gcmF0aGVyIHRoYW4gYWRkaW5nIGEg cGFyYW1ldGVyIHRvIGluY3JlYXNlIGEgY291cGxlIGNyb3NzIGZ1bmN0aW9ucy4NCg0KSXQgbG9v a3MgbGlrZSB0aGUgYmV0dGVyIGNvZGluZy4NCkkgd2lsbCBzdWJtaXQgdGhlIHYyLXBhdGNoIGlm IHRoZSBvcHRpbWl6YXRpb24gaWRlYSBvZiBwYXRjaCBpcyBhY2NlcHRlZA0KYnkgbWFpbnRhaW5l ci4NCg0KVGhhbmsgeW91IHZlcnkgbXVjaC4NCg0KDQpsaXBlaWZlbmdAb3Bwby5jb20NCiANCkZy b206IEJhcnJ5IFNvbmcNCkRhdGU6IDIwMjItMDQtMjQgMTI6MzQNClRvOiDmnY7ln7nplIsod2lu ayk7IENocmlzdG9waCBIZWxsd2lnOyBNYXJlayBTenlwcm93c2tpOyByb2Jpbi5tdXJwaHkNCkND OiBBbmRyZXcgTW9ydG9uOyBwZWlmZW5nNTU7IExpbnV4LU1NOyBMS01MOyDlvKDor5fmmI4oU2lt b24gWmhhbmcpDQpTdWJqZWN0OiBSZTogW1BBVENIXSBtbS9wYWdlX2FsbG9jOiBnaXZlIHByaW9y aXR5IHRvIGZyZWUgY21hLXBhZ2VzIGZyb20gcGNwbGlzdCB0byBidWRkeQ0KT24gU3VuLCBBcHIg MjQsIDIwMjIgYXQgMzoyOCBQTSA8bGlwZWlmZW5nQG9wcG8uY29tPiB3cm90ZToNCj4NCj4gRnJv bTogbGlwZWlmZW5nIDxsaXBlaWZlbmdAb3Bwby5jb20+DQo+DQo+IENtYS1wYWdlcyB3aWxsIGJl IGZhbGxiYWNrIHRvIG1vdmFibGUgcGFnZXMgaW4gbWFueSBzY2VuYXJpb3Mud2hlbiBjbWENCj4g cGFnZXMgYXJlIGZyZWVkIHRvIHBjcGxpc3QsIHdlIGdpdmUgcHJpb3JpdHkgdG8gZnJlZSBpdCBm cm9tIHBjcGxpc3QNCj4gdG8gYnVkZHkgaW4gb3JkZXIgdG8gIGF2b2lkcyBjbWEtcGFnZXMgdG8g YmUgdXNlZCBhcyBtb3ZhYmxlLXBhZ2VzIHNvb24NCj4gaWYgdGhlcmUgaXMgZW5vdWdoIGZyZWUt bW92YWJsZS1wYWdlcywgd2hpY2ggc2F2ZXMgbW9yZSBjbWEtcGFnZXMgaW4NCj4gYnVkZHkgdG8g ZGVjcmVhc2UgcGFnZXMgbWlncmF0aW9uIHdoZW4gY21hX2FsbG9jLg0KPg0KPiBTaWduZWQtb2Zm LWJ5OiBsaXBlaWZlbmcgPGxpcGVpZmVuZ0BvcHBvLmNvbT4NCj4gLS0tDQogDQorIENocmlzdG9w aCwgTWFyZWssIFJvYmluIGFzIGl0IGlzIGNtYS1yZWxhdGVkLg0KIA0KIA0KPiAgbW0vcGFnZV9h bGxvYy5jIHwgMjggKysrKysrKysrKysrKysrKysrKysrKysrLS0tLQ0KPiAgMSBmaWxlIGNoYW5n ZWQsIDI0IGluc2VydGlvbnMoKyksIDQgZGVsZXRpb25zKC0pDQo+DQo+IGRpZmYgLS1naXQgYS9t bS9wYWdlX2FsbG9jLmMgYi9tbS9wYWdlX2FsbG9jLmMNCj4gaW5kZXggMzU4OWZlYi4uNjkzNjll ZCAxMDA2NDQNCj4gLS0tIGEvbW0vcGFnZV9hbGxvYy5jDQo+ICsrKyBiL21tL3BhZ2VfYWxsb2Mu Yw0KPiBAQCAtMzM3Miw3ICszMzcyLDcgQEAgc3RhdGljIGludCBucl9wY3BfaGlnaChzdHJ1Y3Qg cGVyX2NwdV9wYWdlcyAqcGNwLCBzdHJ1Y3Qgem9uZSAqem9uZSkNCj4gIH0NCj4NCj4gIHN0YXRp YyB2b2lkIGZyZWVfdW5yZWZfcGFnZV9jb21taXQoc3RydWN0IHBhZ2UgKnBhZ2UsIHVuc2lnbmVk IGxvbmcgcGZuLA0KPiAtICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBtaWdy YXRldHlwZSwgdW5zaWduZWQgaW50IG9yZGVyKQ0KPiArICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIGludCBtaWdyYXRldHlwZSwgdW5zaWduZWQgaW50IG9yZGVyLCBib29sIGZhc3Rf ZnJlZSkNCj4gIHsNCj4gICAgICAgICBzdHJ1Y3Qgem9uZSAqem9uZSA9IHBhZ2Vfem9uZShwYWdl KTsNCj4gICAgICAgICBzdHJ1Y3QgcGVyX2NwdV9wYWdlcyAqcGNwOw0KPiBAQCAtMzM4Miw3ICsz MzgyLDEwIEBAIHN0YXRpYyB2b2lkIGZyZWVfdW5yZWZfcGFnZV9jb21taXQoc3RydWN0IHBhZ2Ug KnBhZ2UsIHVuc2lnbmVkIGxvbmcgcGZuLA0KPiAgICAgICAgIF9fY291bnRfdm1fZXZlbnQoUEdG UkVFKTsNCj4gICAgICAgICBwY3AgPSB0aGlzX2NwdV9wdHIoem9uZS0+cGVyX2NwdV9wYWdlc2V0 KTsNCj4gICAgICAgICBwaW5kZXggPSBvcmRlcl90b19waW5kZXgobWlncmF0ZXR5cGUsIG9yZGVy KTsNCj4gLSAgICAgICBsaXN0X2FkZCgmcGFnZS0+bHJ1LCAmcGNwLT5saXN0c1twaW5kZXhdKTsN Cj4gKyAgICAgICBpZiAoZmFzdF9mcmVlKQ0KPiArICAgICAgICAgICAgICAgbGlzdF9hZGRfdGFp bCgmcGFnZS0+bHJ1LCAmcGNwLT5saXN0c1twaW5kZXhdKTsNCj4gKyAgICAgICBlbHNlDQo+ICsg ICAgICAgICAgICAgICBsaXN0X2FkZCgmcGFnZS0+bHJ1LCAmcGNwLT5saXN0c1twaW5kZXhdKTsN CiANCk9rLiBUaGlzIGlzIGludGVyZXN0aW5nLCB3ZSB1c2VkIHRvIGhhdmUgYSBzZXBhcmF0ZSBj bWEgcGNwIGxpc3QgYnV0DQpub3cgTUlHUkFURV9DTUEgaXMgYW4gb3V0c2lkZXIgc28gY21hIHBh Z2VzIGFyZSBwbGFjZWQgaW4gdGhlDQpNSUdSQVRFX01PVkFCTEUgbGlzdC4NCiANCmVudW0gbWln cmF0ZXR5cGUgew0KICAgICAgICBNSUdSQVRFX1VOTU9WQUJMRSwNCiAgICAgICAgTUlHUkFURV9N T1ZBQkxFLA0KICAgICAgICBNSUdSQVRFX1JFQ0xBSU1BQkxFLA0KICAgICAgICBNSUdSQVRFX1BD UFRZUEVTLCAgICAgICAvKiB0aGUgbnVtYmVyIG9mIHR5cGVzIG9uIHRoZSBwY3AgbGlzdHMgKi8N CiAgICAgICAgTUlHUkFURV9ISUdIQVRPTUlDID0gTUlHUkFURV9QQ1BUWVBFUywNCiNpZmRlZiBD T05GSUdfQ01BDQogICAgICAgIC4uLg0KICAgICAgICBNSUdSQVRFX0NNQSwNCiNlbmRpZg0KI2lm ZGVmIENPTkZJR19NRU1PUllfSVNPTEFUSU9ODQogICAgICAgIE1JR1JBVEVfSVNPTEFURSwgICAg ICAgIC8qIGNhbid0IGFsbG9jYXRlIGZyb20gaGVyZSAqLw0KI2VuZGlmDQogICAgICAgIE1JR1JB VEVfVFlQRVMNCn07DQogDQojZGVmaW5lIE5SX1BDUF9MSVNUUyAoTUlHUkFURV9QQ1BUWVBFUyAq IChQQUdFX0FMTE9DX0NPU1RMWV9PUkRFUiArIDENCisgTlJfUENQX1RIUCkpDQogDQo+ICAgICAg ICAgcGNwLT5jb3VudCArPSAxIDw8IG9yZGVyOw0KPiAgICAgICAgIGhpZ2ggPSBucl9wY3BfaGln aChwY3AsIHpvbmUpOw0KPiAgICAgICAgIGlmIChwY3AtPmNvdW50ID49IGhpZ2gpIHsNCj4gQEAg LTM0MDAsNiArMzQwMyw3IEBAIHZvaWQgZnJlZV91bnJlZl9wYWdlKHN0cnVjdCBwYWdlICpwYWdl LCB1bnNpZ25lZCBpbnQgb3JkZXIpDQo+ICAgICAgICAgdW5zaWduZWQgbG9uZyBmbGFnczsNCj4g ICAgICAgICB1bnNpZ25lZCBsb25nIHBmbiA9IHBhZ2VfdG9fcGZuKHBhZ2UpOw0KPiAgICAgICAg IGludCBtaWdyYXRldHlwZTsNCj4gKyAgICAgICBib29sIGZhc3RfZnJlZSA9IGZhbHNlOw0KPg0K PiAgICAgICAgIGlmICghZnJlZV91bnJlZl9wYWdlX3ByZXBhcmUocGFnZSwgcGZuLCBvcmRlcikp DQo+ICAgICAgICAgICAgICAgICByZXR1cm47DQo+IEBAIC0zNDE5LDkgKzM0MjMsMTUgQEAgdm9p ZCBmcmVlX3VucmVmX3BhZ2Uoc3RydWN0IHBhZ2UgKnBhZ2UsIHVuc2lnbmVkIGludCBvcmRlcikN Cj4gICAgICAgICAgICAgICAgIH0NCj4gICAgICAgICAgICAgICAgIG1pZ3JhdGV0eXBlID0gTUlH UkFURV9NT1ZBQkxFOw0KPiAgICAgICAgIH0NCj4gKyAgICAgICAvKg0KPiArICAgICAgICAqIEdp dmUgcHJpb3JpdHkgdG8gZnJlZSBjbWEtcGFnZXMgdG8gYnVkZHkgaW4gb3JkZXIgdG8NCj4gKyAg ICAgICAgKiBkZWNyZWFzZSBwYWdlcyBtaWdyYXRpb24gd2hlbiBjbWFfYWxsb2MuDQo+ICsgICAg ICAgICovDQo+ICsgICAgICAgaWYgKG1pZ3JhdGV0eXBlID09IE1JR1JBVEVfQ01BKQ0KPiArICAg ICAgICAgICAgICAgZmFzdF9mcmVlID0gdHJ1ZTsNCj4NCj4gICAgICAgICBsb2NhbF9sb2NrX2ly cXNhdmUoJnBhZ2VzZXRzLmxvY2ssIGZsYWdzKTsNCj4gLSAgICAgICBmcmVlX3VucmVmX3BhZ2Vf Y29tbWl0KHBhZ2UsIHBmbiwgbWlncmF0ZXR5cGUsIG9yZGVyKTsNCj4gKyAgICAgICBmcmVlX3Vu cmVmX3BhZ2VfY29tbWl0KHBhZ2UsIHBmbiwgbWlncmF0ZXR5cGUsIG9yZGVyLCBmYXN0X2ZyZWUp Ow0KPiAgICAgICAgIGxvY2FsX3VubG9ja19pcnFyZXN0b3JlKCZwYWdlc2V0cy5sb2NrLCBmbGFn cyk7DQo+ICB9DQo+DQo+IEBAIC0zNDU5LDYgKzM0NjksOCBAQCB2b2lkIGZyZWVfdW5yZWZfcGFn ZV9saXN0KHN0cnVjdCBsaXN0X2hlYWQgKmxpc3QpDQo+DQo+ICAgICAgICAgbG9jYWxfbG9ja19p cnFzYXZlKCZwYWdlc2V0cy5sb2NrLCBmbGFncyk7DQo+ICAgICAgICAgbGlzdF9mb3JfZWFjaF9l bnRyeV9zYWZlKHBhZ2UsIG5leHQsIGxpc3QsIGxydSkgew0KPiArICAgICAgICAgICAgICAgYm9v bCBmYXN0X2ZyZWUgPSBmYWxzZTsNCj4gKw0KPiAgICAgICAgICAgICAgICAgcGZuID0gcGFnZV9w cml2YXRlKHBhZ2UpOw0KPiAgICAgICAgICAgICAgICAgc2V0X3BhZ2VfcHJpdmF0ZShwYWdlLCAw KTsNCj4NCj4gQEAgLTM0NjcsMTEgKzM0NzksMTkgQEAgdm9pZCBmcmVlX3VucmVmX3BhZ2VfbGlz dChzdHJ1Y3QgbGlzdF9oZWFkICpsaXN0KQ0KPiAgICAgICAgICAgICAgICAgICogdG8gdGhlIE1J R1JBVEVfTU9WQUJMRSBwY3AgbGlzdC4NCj4gICAgICAgICAgICAgICAgICAqLw0KPiAgICAgICAg ICAgICAgICAgbWlncmF0ZXR5cGUgPSBnZXRfcGNwcGFnZV9taWdyYXRldHlwZShwYWdlKTsNCj4g Kw0KPiArICAgICAgICAgICAgICAgLyoNCj4gKyAgICAgICAgICAgICAgICAqIEdpdmUgcHJpb3Jp dHkgdG8gZnJlZSBjbWEtcGFnZXMgdG8gYnVkZHkgaW4gb3JkZXIgdG8NCj4gKyAgICAgICAgICAg ICAgICAqIGRlY3JlYXNlIHBhZ2VzIG1pZ3JhdGlvbiB3aGVuIGNtYV9hbGxvYy4NCj4gKyAgICAg ICAgICAgICAgICAqLw0KPiArICAgICAgICAgICAgICAgaWYgKG1pZ3JhdGV0eXBlID09IE1JR1JB VEVfQ01BKQ0KPiArICAgICAgICAgICAgICAgICAgICAgICBmYXN0X2ZyZWUgPSB0cnVlOw0KPiAr DQo+ICAgICAgICAgICAgICAgICBpZiAodW5saWtlbHkobWlncmF0ZXR5cGUgPj0gTUlHUkFURV9Q Q1BUWVBFUykpDQo+ICAgICAgICAgICAgICAgICAgICAgICAgIG1pZ3JhdGV0eXBlID0gTUlHUkFU RV9NT1ZBQkxFOw0KPg0KPiAgICAgICAgICAgICAgICAgdHJhY2VfbW1fcGFnZV9mcmVlX2JhdGNo ZWQocGFnZSk7DQo+IC0gICAgICAgICAgICAgICBmcmVlX3VucmVmX3BhZ2VfY29tbWl0KHBhZ2Us IHBmbiwgbWlncmF0ZXR5cGUsIDApOw0KPiArICAgICAgICAgICAgICAgZnJlZV91bnJlZl9wYWdl X2NvbW1pdChwYWdlLCBwZm4sIG1pZ3JhdGV0eXBlLCAwLCBmYXN0X2ZyZWUpOw0KIA0KaSdkICBj YWxsIGdldF9wY3BwYWdlX21pZ3JhdGV0eXBlKCkgYWdhaW4gaW4gZnJlZV91bnJlZl9wYWdlX2Nv bW1pdCgpDQpyYXRoZXIgdGhhbiBhZGRpbmcgYSBwYXJhbWV0ZXIgdG8gaW5jcmVhc2UgYSBjb3Vw bGUgY3Jvc3MgZnVuY3Rpb25zLg0KIA0KPg0KPiAgICAgICAgICAgICAgICAgLyoNCj4gICAgICAg ICAgICAgICAgICAqIEd1YXJkIGFnYWluc3QgZXhjZXNzaXZlIElSUSBkaXNhYmxlZCB0aW1lcyB3 aGVuIHdlIGdldA0KPiAtLQ0KPiAyLjcuNA0KPg0KIA0KVGhhbmtzDQpCYXJyeQ0K ------=_001_NextPart038615761455_=---- Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable body { line-height: 1.5; }blockquote { margin-top: 0px; margin-bottom:= 0px; margin-left: 0.5em; }body { font-size: 10.5pt; font-family: 'Microsof= t YaHei UI'; color: rgb(0, 0, 0); line-height: 1.5; }= =0A=
Hi Barry Song:

> i'd&nbs= p; call get_pcppage_migratetype() again in free_unref_page_commit()
> rather than adding a parameter to increase a couple cross functions= .
=0A=

It looks like the better coding.
I will submi= t the v2-patch if the optimization idea of patch is accepted
by m= aintainer.

Thank you very much.

=0A=
lipeifeng@oppo.com
=0A=
 
Fr= om: Barry Song
= Date: 2022-04-24 12:34
= Subject: Re: [PATCH] mm/page_alloc: give priority to free cma-page= s from pcplist to buddy
On Sun, Apr 24, 2022 at = 3:28 PM <lipeifeng@oppo.com> wrote:
=0A=
>
=0A=
> From: lipeifeng <lipeifeng@oppo.com>
=0A=
>
=0A=
> Cma-pages will be fallback to movable pages in many scenarios.whe= n cma
=0A=
> pages are freed to pcplist, we give priority to free it from pcpl= ist
=0A=
> to buddy in order to  avoids cma-pages to be used as movable= -pages soon
=0A=
> if there is enough free-movable-pages, which saves more cma-pages= in
=0A=
> buddy to decrease pages migration when cma_alloc.
=0A=
>
=0A=
> Signed-off-by: lipeifeng <lipeifeng@oppo.com>
=0A=
> ---
=0A=
 
=0A=
+ Christoph, Marek, Robin as it is cma-related.
=0A=
 
=0A=
 
=0A=
>  mm/page_alloc.c | 28 ++++++++++++++++++++++++----
=0A=
>  1 file changed, 24 insertions(+), 4 deletions(-)
=0A=
>
=0A=
> diff --git a/mm/page_alloc.c b/mm/page_alloc.c
=0A=
> index 3589feb..69369ed 100644
=0A=
> --- a/mm/page_alloc.c
=0A=
> +++ b/mm/page_alloc.c
=0A=
> @@ -3372,7 +3372,7 @@ static int nr_pcp_high(struct per_cpu_pages= *pcp, struct zone *zone)
=0A=
>  }
=0A=
>
=0A=
>  static void free_unref_page_commit(struct page *page, unsig= ned long pfn,
=0A=
> -          &nbs= p;            &= nbsp;          int migratetype= , unsigned int order)
=0A=
> +          &nbs= p;            &= nbsp;          int migratetype= , unsigned int order, bool fast_free)
=0A=
>  {
=0A=
>         struct zone *zone= =3D page_zone(page);
=0A=
>         struct per_cpu_pa= ges *pcp;
=0A=
> @@ -3382,7 +3382,10 @@ static void free_unref_page_commit(struct = page *page, unsigned long pfn,
=0A=
>         __count_vm_event(= PGFREE);
=0A=
>         pcp =3D this_cpu_= ptr(zone->per_cpu_pageset);
=0A=
>         pindex =3D order_= to_pindex(migratetype, order);
=0A=
> -       list_add(&page->lru,= &pcp->lists[pindex]);
=0A=
> +       if (fast_free)
=0A=
> +          &nbs= p;    list_add_tail(&page->lru, &pcp->lists[pi= ndex]);
=0A=
> +       else
=0A=
> +          &nbs= p;    list_add(&page->lru, &pcp->lists[pindex]= );
=0A=
 
=0A=
Ok. This is interesting, we used to have a separate cma pcp list but=0A=
now MIGRATE_CMA is an outsider so cma pages are placed in the
=0A=
MIGRATE_MOVABLE list.
=0A=
 
=0A=
enum migratetype {
=0A=
        MIGRATE_UNMOVABLE,
=0A=
        MIGRATE_MOVABLE,
=0A=
        MIGRATE_RECLAIMABLE,
= =0A=
        MIGRATE_PCPTYPES, &nbs= p;     /* the number of types on the pcp lists */
= =0A=
        MIGRATE_HIGHATOMIC =3D MIGR= ATE_PCPTYPES,
=0A=
#ifdef CONFIG_CMA
=0A=
        ...
=0A=
        MIGRATE_CMA,
=0A=
#endif
=0A=
#ifdef CONFIG_MEMORY_ISOLATION
=0A=
        MIGRATE_ISOLATE,  = ;      /* can't allocate from here */
=0A=
#endif
=0A=
        MIGRATE_TYPES
=0A=
};
=0A=
 
=0A=
#define NR_PCP_LISTS (MIGRATE_PCPTYPES * (PAGE_ALLOC_COSTLY_ORDER + 1<= /div>=0A=
+ NR_PCP_THP))
=0A=
 
=0A=
>         pcp->count += =3D 1 << order;
=0A=
>         high =3D nr_pcp_h= igh(pcp, zone);
=0A=
>         if (pcp->count= >=3D high) {
=0A=
> @@ -3400,6 +3403,7 @@ void free_unref_page(struct page *page, uns= igned int order)
=0A=
>         unsigned long fla= gs;
=0A=
>         unsigned long pfn= =3D page_to_pfn(page);
=0A=
>         int migratetype;<= /div>=0A=
> +       bool fast_free =3D false;=0A=
>
=0A=
>         if (!free_unref_p= age_prepare(page, pfn, order))
=0A=
>           =       return;
=0A=
> @@ -3419,9 +3423,15 @@ void free_unref_page(struct page *page, un= signed int order)
=0A=
>           =       }
=0A=
>           =       migratetype =3D MIGRATE_MOVABLE;
=0A=
>         }
=0A=
> +       /*
=0A=
> +        * Give priority to fr= ee cma-pages to buddy in order to
=0A=
> +        * decrease pages migr= ation when cma_alloc.
=0A=
> +        */
=0A=
> +       if (migratetype =3D=3D MIGR= ATE_CMA)
=0A=
> +          &nbs= p;    fast_free =3D true;
=0A=
>
=0A=
>         local_lock_irqsav= e(&pagesets.lock, flags);
=0A=
> -       free_unref_page_commit(page= , pfn, migratetype, order);
=0A=
> +       free_unref_page_commit(page= , pfn, migratetype, order, fast_free);
=0A=
>         local_unlock_irqr= estore(&pagesets.lock, flags);
=0A=
>  }
=0A=
>
=0A=
> @@ -3459,6 +3469,8 @@ void free_unref_page_list(struct list_head = *list)
=0A=
>
=0A=
>         local_lock_irqsav= e(&pagesets.lock, flags);
=0A=
>         list_for_each_ent= ry_safe(page, next, list, lru) {
=0A=
> +          &nbs= p;    bool fast_free =3D false;
=0A=
> +
=0A=
>           =       pfn =3D page_private(page);
=0A=
>           =       set_page_private(page, 0);
=0A=
>
=0A=
> @@ -3467,11 +3479,19 @@ void free_unref_page_list(struct list_hea= d *list)
=0A=
>           =        * to the MIGRATE_MOVABLE pcp list.=0A=
>           =        */
=0A=
>           =       migratetype =3D get_pcppage_migratetype(page= );
=0A=
> +
=0A=
> +          &nbs= p;    /*
=0A=
> +          &nbs= p;     * Give priority to free cma-pages to buddy in or= der to
=0A=
> +          &nbs= p;     * decrease pages migration when cma_alloc.
= =0A=
> +          &nbs= p;     */
=0A=
> +          &nbs= p;    if (migratetype =3D=3D MIGRATE_CMA)
=0A=
> +          &nbs= p;            fast_f= ree =3D true;
=0A=
> +
=0A=
>           =       if (unlikely(migratetype >=3D MIGRATE_PCP= TYPES))
=0A=
>           =             &nb= sp; migratetype =3D MIGRATE_MOVABLE;
=0A=
>
=0A=
>           =       trace_mm_page_free_batched(page);
=0A=
> -          &nbs= p;    free_unref_page_commit(page, pfn, migratetype, 0);=0A=
> +          &nbs= p;    free_unref_page_commit(page, pfn, migratetype, 0, fast= _free);
=0A=
 
=0A=
i'd  call get_pcppage_migratetype() again in free_unref_page_comm= it()
=0A=
rather than adding a parameter to increase a couple cross functions.=0A=
 
=0A=
>
=0A=
>           =       /*
=0A=
>           =        * Guard against excessive IRQ disabled= times when we get
=0A=
> --
=0A=
> 2.7.4
=0A=
>
=0A=
 
=0A=
Thanks
=0A=
Barry
=0A=
=0A= = ------=_001_NextPart038615761455_=------