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 X-Spam-Level: X-Spam-Status: No, score=-2.7 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,HTML_FONT_LOW_CONTRAST, HTML_MESSAGE,MAILING_LIST_MULTI,MSGID_FROM_MTA_HEADER,SPF_HELO_NONE,SPF_PASS, T_KAM_HTML_FONT_INVALID autolearn=no autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 71977C433ED for ; Mon, 26 Apr 2021 03:20:01 +0000 (UTC) Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.kernel.org (Postfix) with ESMTP id B308F611ED for ; Mon, 26 Apr 2021 03:20:00 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org B308F611ED Authentication-Results: mail.kernel.org; dmarc=fail (p=quarantine dis=none) header.from=oppo.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=owner-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix) id DFA1C6B006C; Sun, 25 Apr 2021 23:19:59 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id DD13C6B006E; Sun, 25 Apr 2021 23:19:59 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id BD4BE6B0070; Sun, 25 Apr 2021 23:19:59 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0157.hostedemail.com [216.40.44.157]) by kanga.kvack.org (Postfix) with ESMTP id 8A41E6B006C for ; Sun, 25 Apr 2021 23:19:59 -0400 (EDT) Received: from smtpin02.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay03.hostedemail.com (Postfix) with ESMTP id 3EE9682499A8 for ; Mon, 26 Apr 2021 03:19:59 +0000 (UTC) X-FDA: 78073064118.02.AA4AA08 Received: from APC01-SG2-obe.outbound.protection.outlook.com (mail-eopbgr1310085.outbound.protection.outlook.com [40.107.131.85]) by imf13.hostedemail.com (Postfix) with ESMTP id 4A8CCE00011A for ; Mon, 26 Apr 2021 03:19:50 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=ff32f1ykdZFkNWCAqRsWj2DC14TcQkGgRHZl4K4rJLW6f89kuGPB43geq/8BbM78gpRspIqAQWGVrxFd4oHEZtg+tj5/BNOKySWqUxB+L1UD3TOOgy2/bRr0wIRixpX9AH3VcqTvoIoUnpgI8qE7HLLHTLI0s3BKhzQ3YE9fiR9Y+Pl+CxMn/S/l5LwmS7yUCUYxqMVqrciDa2O4EXlAWGYFSzBxQ8qKzPHJj+MBYOqiaVs3TQbOrDveT1IwuVq3i8n3QhfBndj6JUl1YdcJxhgQRXJ822DlEDEhxHzr4xAYB7pHzNCJyrfFypf+W+0VM9XL7qTHLxCRL5yqIONH8w== 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-SenderADCheck; bh=kEFuxq5z6sB7qytVaffDSpFHqJgqSVkG9l2XTno3GX4=; b=FWLEf7BoGfEEaSfRHTA8wlNJESmoxmr89i9urTnKBycuj/6rAet5buvEAoNAnPmQvwmh7WLQ2QI2ox60vGGWXbxEtq/lq5zA1pulgVT0SGIY6NjZPLlwBrnd+74dM/rOz95fU06zw2gx7oiZHgB6sYBy/x8ELNU8tZxnw/L679QWLELLXcnL339MPtlUTZxygHXd0yo1kBdKskv/JNm8yygYbwPUw0JG02aW0LXIIQhcqYa0jK/TKRFPHBB8Eyx0Z3uOmhQiTfSOXjToNmN5io9NTy+dxg54g/mnHCfoq6MSGqZIBBh/qJxwwPt/6riC/iRqrZp4AVGCIB0FRvlrrA== 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=kEFuxq5z6sB7qytVaffDSpFHqJgqSVkG9l2XTno3GX4=; b=tQHhEJibOr/IVNAhMox8SXne/HcTy0aoIekN/3c6A6qfsBUOG5nyhIkyFF3tLaEQHvK8I+6SrvwIWW2Otit4yTcP4crDu1TY5bDsyNGOoUkuh+amdgg88E9k/AEr2gjEZIEbwQ5CDgYjMbhwfQvQ3v/uZLrtESP3AZBnkpXYnIk= Authentication-Results: redhat.com; dkim=none (message not signed) header.d=none;redhat.com; dmarc=none action=none header.from=oppo.com; Received: from TY2PR02MB4431.apcprd02.prod.outlook.com (2603:1096:404:8003::13) by TY2PR02MB3550.apcprd02.prod.outlook.com (2603:1096:404:4a::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4065.23; Mon, 26 Apr 2021 03:19:49 +0000 Received: from TY2PR02MB4431.apcprd02.prod.outlook.com ([fe80::4c93:7ebd:15c1:e997]) by TY2PR02MB4431.apcprd02.prod.outlook.com ([fe80::4c93:7ebd:15c1:e997%4]) with mapi id 15.20.4065.026; Mon, 26 Apr 2021 03:19:49 +0000 Date: Mon, 26 Apr 2021 11:19:47 +0800 From: "lipeifeng@oppo.com" To: "David Hildenbrand" , "Vlastimil Babka" , peifengl55 , schwidefsky , heiko.carstens , zhangshiming , zhouhuacai , guoweichao , guojian Cc: linux-s390 , linux-kernel , linux-mm Subject: Re: Re: [RFC] mm: support multi_freearea to the reduction of external fragmentation References: <20210414023803.937-1-lipeifeng@oppo.com>, , X-GUID: 8F9E0072-290C-4810-B45A-56ADDD6B1F01 X-Has-Attach: no X-Mailer: Foxmail 7.2.16.188[cn] Message-ID: <2021042611194631963076@oppo.com> Content-Type: multipart/alternative; boundary="----=_001_NextPart842172848432_=----" X-Originating-IP: [58.252.5.70] X-ClientProxiedBy: HK0PR03CA0116.apcprd03.prod.outlook.com (2603:1096:203:b0::32) To TY2PR02MB4431.apcprd02.prod.outlook.com (2603:1096:404:8003::13) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from PA80248179 (58.252.5.70) by HK0PR03CA0116.apcprd03.prod.outlook.com (2603:1096:203:b0::32) with Microsoft SMTP Server (version=TLS1_1, cipher=TLS_RSA_WITH_AES_256_CBC_SHA) id 15.20.4065.22 via Frontend Transport; Mon, 26 Apr 2021 03:19:47 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 9fd16133-c853-41c9-e48d-08d9086225d5 X-MS-TrafficTypeDiagnostic: TY2PR02MB3550: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:10000; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: X8AVVrvDLauDUaE0oX2qYMi0tm5n9vAPGFCj3UoWg6Ltd86VFdTuv/0dcHPCm8gWMfJjGzRsYmNmp/M/ZOFsWlnfNzFqBmRLJk26Muldare0En5vH2gEKMfBVe/SZUgMa30qphAuoJ7h2Xrxv7uOwJrp8l81VnP1s3E17mA7KDofIjUKzP4uwG8IFMYudfGd+fQEjJtqNhcr5TXvTw07W9Srspk99X5HWQeo+lmWnWv2MKvwTl7OFMNptJGy8DVOw86oIo6dtF0B3GocnLyix2bkJ1JWX2PVv/uDMW+kitj0gE8x7eVwpIBMcYeBsS5pG+oqudXkiFo7Xyidga88gHSg3/rEYKaWnfU3X/rXSQDtZCDuMqbqV3IQBy/njSVmQL8nfaV3JfduQhybZjEaM87iUfwLDoMOrseBVB3Coqz1uJkEKlsMoY9qCr+p+rj6rJaA6xaVE+WKBk2s1E3m+qEAP+7nFjbXEInbkd8ZkWGFn1WIbKwavQ8wG6+C70mesujj+s6avh5fFwRaXT8+Rqa5fH8Rbyq+tQJdn8xmkW2V7l5e5lpnn7hhQ+R2a8X5kfcGkYJH6h+7L9YV5tIykZDdPd99bgsT3JE+PqQlLEvP1woV7L3jNcIhA5vqBVArZU6rYS9ltU3/QLIcIuLoqEk4auZNBBFRilk89zY9Oucnum951jLqvKAPlaQJmxT7 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:(4636009)(376002)(396003)(39850400004)(366004)(136003)(346002)(6486002)(66946007)(316002)(36756003)(58226001)(5660300002)(38100700002)(2906002)(52116002)(956004)(54906003)(6636002)(6496006)(26005)(478600001)(83380400001)(2616005)(4326008)(30864003)(8676002)(86362001)(53546011)(98106002)(38350700002)(16526019)(66556008)(1076003)(8936002)(66476007)(186003)(33964004)(110136005)(37786003)(11606007);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData: =?utf-8?B?aEhDYTlhWnRvZzZBKzkzRWpGUm5JRVJvZnlyY2dCdEJ3dVN5bHRPVmhMcmMz?= =?utf-8?B?em5kQ2NCaUt4REw2SHQzUHFWRm1TekhWRk1hdWxwZ3hKRDBPU3NNOS8rc0o0?= =?utf-8?B?blJ1aSsxRVJwWU5zbjdFYmU0NUhQbE8xdllvY3YzZVVzZXA2Ui8vSy9zZldV?= =?utf-8?B?M3VweTk0RnZRdE1uVmZ3djZkbkpMTTZReUVLcW9maXVFbWJjRldPQlpQaFhv?= =?utf-8?B?eWQrTUM0YWZYZ1BsK3V0c3BwYjZwaWxaUGVSYlNtUmhzZDFOV2pBcGRJb1M2?= =?utf-8?B?TVAvb3BvRW8rejJRV0NFTTI5dHd2aWdnY2JjYUlxMkZjUnlIZC9Ob3hYR1l6?= =?utf-8?B?cEZzbndGSjhUZnZNcktteTFUU3RNeU02elFwckpRdXJwb0Z4aXJkSHB3M250?= =?utf-8?B?aG5NdkRQWEgwVTIyY0thTkNwYmVDRVV1cFZjMXorOXdlQktQeS80TWJ0Uzd0?= =?utf-8?B?VWZ0dnBRQk5jQVBGRStOMW11V3pON0dNWnlhUk5JaWsyWm1TcTJCMit4bWNY?= =?utf-8?B?dlh5RTFCMkJHbmhXOWZMSzNoUVZDeXdheHVDOWtDSWZqcTJTMGMxU084NkZ0?= =?utf-8?B?cStDWnYxR2M0SC9nOVFyc3RpL0NOME9xeUhYemhDZ1JxcFo4TjA4SGd4b05q?= =?utf-8?B?dVlEOG5KU0RqaldEZGpCK3lmYlVCZk0wSko3NVA3V1BOZ1RtMk9tQ2pncHlo?= =?utf-8?B?aHdFcGZLaVgvd0JHNnRWRHdrT211dmZhcjNoSXVDRVBpeTFKeG1nZVJ5VGxv?= =?utf-8?B?amRMYk5NQmV1U1c5OTVUQ0lSRFhRNkdVNkpNQkZxZmZWVW1jUitlQVUrZGV3?= =?utf-8?B?dlU5bGNmaHNWUkdFSG9WT0VLdGZ2SUFJN2VMTlNCdTJSTlM5dGU2aGdmeEEr?= =?utf-8?B?NCttZVh4SUNDNCthb1plcmk5aEFmVS9DNm10UFlRMmpCdmZoaWVpT2JhUGtm?= =?utf-8?B?NUYyYmdjdkpnakcyUEd0V1BldkZ6VkZEa1JncjQwcEpkaU9uMndKdXBENG9J?= =?utf-8?B?Sm9rbzlMZ1F5UzViSGQ0dmRIRUpFNStDVEl4cjhOb3pENzI2em51N2dpcng3?= =?utf-8?B?UzFBYXcxK3JuNUZwcGNMMG5MVUkrNms3UVpMdndwMDR0a1N0OUxra1l5QmZ5?= =?utf-8?B?THlUODk3bTk1eGZWOWJkc2hieS8yNDhlb21KaWMxR3h5bXlPc2NYVC83ZzlW?= =?utf-8?B?blNRUW1rV1d2djV6SURJM0lSanBkQkRRRXJvY0xkWklzc2ZmZ0Z0R2IxajBa?= =?utf-8?B?V3AvYnB4SjNGYVczQjZjWFpqaXMrbEJ3aTRvV0RGcWY3MDdjMnRPTEdnN3d6?= =?utf-8?B?LzF4eVFMRUZmZXoxN21yeFEzUkpLZWJiYllKR0h4S3pXeXY0M3IycXdWMG1k?= =?utf-8?B?ck9WcjRHME45d0VMYll1WUFhQldpd2RDS0ZkTUlVZlNYcURoQWRNMTZzaElE?= =?utf-8?B?Yzg0K1Evc2MzU3YvejNnc2U1NkNmaENsREtjdmVzSm5aeDhiQlZNWko0ZXRS?= =?utf-8?B?cnE4ZUgyeVZDVXBWWWtVYjRNRU1PK3hZb2VDb0xrb2RsSUFQYmMxSzdqQ2Q5?= =?utf-8?B?eFhnYmpoSFV4bjQ4aWxFUnNydHNseDAraVVXV0pQWjFQVmVHTFhPZkd5Y0pP?= =?utf-8?B?WXp4R2Q1RnJLNTF4ZGlNWTQ5RzVsOFNwNys1MDQvQWx6TFRsNXA5b0lyQk9a?= =?utf-8?B?MUpudjZod1czdFlkVE1TZTY1NHpVRTZqc0VqUUNObzhocFhqYXlkWmtQTWhV?= =?utf-8?Q?M56ckKukPJQ7QAHxsWCcMC093HzoDAQfC74xKHA?= X-OriginatorOrg: oppo.com X-MS-Exchange-CrossTenant-Network-Message-Id: 9fd16133-c853-41c9-e48d-08d9086225d5 X-MS-Exchange-CrossTenant-AuthSource: TY2PR02MB4431.apcprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Apr 2021 03:19:48.8120 (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: CqM1kvtjpDZMpi6wCKOGay7fA7s3jkKfqdD4Oaq8b1X5bsGKElRBgyxY2HhPfUXA8wSe2LNmKUzf/IfLHjtnbA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: TY2PR02MB3550 X-Rspamd-Server: rspam03 X-Rspamd-Queue-Id: 4A8CCE00011A X-Stat-Signature: m6h9tj31pdfst1xhttgbktu4uut9et5n Received-SPF: none (oppo.com>: No applicable sender policy available) receiver=imf13; identity=mailfrom; envelope-from=""; helo=APC01-SG2-obe.outbound.protection.outlook.com; client-ip=40.107.131.85 X-HE-DKIM-Result: pass/pass X-HE-Tag: 1619407190-598402 X-Bogosity: Ham, tests=bogofilter, spamicity=0.000576, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: ------=_001_NextPart842172848432_=---- Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: base64 DQo+PiBMZXQncyBjb25zaWRlciBwYXJ0IDMgb25seSBhbmQgaWdub3JlIHRoZSAxKSBtdWx0aSBm cmVlYXJlYSAod2hpY2ggbWlnaHQNCj4+IGJlIHByb2JsZW1hdGljIHdpdGggc3BhcmNpdHkpIGFu ZCAyKSB0aGUgbW9kaWZpZWQgYWxsb2NhdGlvbiBzY2hlbWUNCj4+ICh3aGljaCBkb2Vzbid0IHll dCBxdWl0ZSBzZW5zZSB0byBtZSB5ZXQsIGUuZy4sIGJlY2F1c2Ugd2UgZ3JvdXAgYnkNCj4+IG1v YmlsaXR5IGFuZCBoYXZlIGNvbXBhY3Rpb24gaW4gcGxhY2U7IEkgYXNzdW1lIHRoaXMgcmVhbGx5 IG9ubHkgaGVscHMNCj4+IGluIHNvbWUgc3BlY2lhbCBjYXNlcyAtLSBsaWtlIHRoZSB0ZXN0IGNh c2UgeW91IGFyZSBnaXZpbmc7IEkgbWlnaHQgYmUNCj4+IHdyb25nKQ0KIA0KPj4gUmlnaHQgbm93 LCB3ZSBkZWNpZGUgd2hldGhlciB0byBidXQgdG8gaGVhZCBvciB0YWlsIGJhc2VkIG9uIGhvdyBs aWtlbHkNCj4+IGl0IGlzIHRoYXQgd2UgbWlnaHQgbWVyZ2UgdG8gYSBoaWdoZXItb3JkZXIgcGFn ZSAoYnVkZHlfbWVyZ2VfbGlrZWx5KCkpDQo+PiBpbiB0aGUgZnV0dXJlLiBTbyB3ZSBvbmx5IGNv bnNpZGVyIHRoZSBjdXJyZW50ICJuZWlnaGJvcmhvb2QiIG9mIHRoZQ0KPj4gcGFnZSB3ZSdyZSBm cmVlaW5nLiBBcyB3ZSByZXN0cmljdCBvdXIgbmVpZ2hib3Job29kIHRvIE1BWF9PUkRFUiAtIDEN Cj4+IHBhZ2VzICh3aGF0IHdlIGNhbiBhY3R1YWxseSBtZXJnZSkuIE9mIGNvdXJzZSwgd2UgY2Fu IGVhc2lseSBiZSB3cm9uZw0KPj4gaGVyZS4gR3JvdXBpbmcgYnkgbW92YWJpbGl0eSBhbmQgY29t cGFjdGlvbiBvbmx5IGhlbHBzIHRvIHNvbWUgZGVncmVlIEkNCj4+IGd1ZXNzLg0KIA0KPj4gQUZB SUssIHdoYXQgeW91IHByb3Bvc2UgaXMgYmFzaW5nIHRoZSBkZWNpc2lvbnMgd2hlcmUgdG8gcGxh Y2UgYSBwYWdlDQo+PiAoaW4gYWRkaXRpb24/KSBvbiBhIG1lZGlhbl9wZm4uIFdpdGhvdXQgMSkg YW5kIDIpIEkgY2Fubm90IGNvbXBsZXRlbHkNCj4+IHVuZGVyc3RhbmQgaWYgMykgaXRzZWxmIHdv dWxkIGhlbHAgYXQgYWxsIChhbmQgaG93IHRvIHNldCB0aGUNCj4+IG1lZGlhbl9wZm4pLiBCdXQg aXQgd291bGQgY2VydGFpbmx5IGJlIGludGVyZXN0aW5nIGlmIHdlIGNhbiB0d2VhayB0aGUNCj4+ IGN1cnJlbnQgbG9naWMgdG8gYmV0dGVyIGlkZW50aWZ5IG1lcmdlIHRhcmdldHMgc2ltcGx5IGJ5 IHR3ZWFraW5nDQo+PiBidWRkeV9tZXJnZV9saWtlbHkoKSBvciB0aGUgYXNzdW1wdGlvbnMgaXQg aXMgbWFraW5nLg0KDQoNCg0KSGkgRGF2aWQgSGlsZGVuYnJhbmTvvIwgVmxhc3RpbWlsIEJhYmth Og0KICAgIFRoYW5rIHlvdSB2ZXJ5IG11Y2ggaW5kZWVkIGZvciBhZHZpY2VzLg0KDQo+PiAyKSB0 aGUgbW9kaWZpZWQgYWxsb2NhdGlvbiBzY2hlbWUNCj4+ICh3aGljaCBkb2Vzbid0IHlldCBxdWl0 ZSBzZW5zZSB0byBtZSB5ZXQsIGUuZy4sIGJlY2F1c2Ugd2UgZ3JvdXAgYnkNCj4+IG1vYmlsaXR5 IGFuZCBoYXZlIGNvbXBhY3Rpb24gaW4gcGxhY2U7IEkgYXNzdW1lIHRoaXMgcmVhbGx5IG9ubHkg aGVscHMNCj4+IGluIHNvbWUgc3BlY2lhbCBjYXNlcyAtLSBsaWtlIHRoZSB0ZXN0IGNhc2UgeW91 IGFyZSBnaXZpbmc7DQogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQoxKSBEaXZpZGUgbWVtb3J5 IGludG8gc2V2ZXJhbCBzZWdtZW50cyBieSBwYWdlcy1QRk4gDQoyKSBTZWxlY3QgdGhlIGNvcnJl c3BvbmRpbmcgZnJlZWFyZWEgdG8gYWxsb2MtcGFnZXMgICAgICAgICANCiAgICBUaGVzZSB0d28g cGFydHMgYXJ0IGZvciB0aGUgc2FtZSBwdXJwb3NlOiANCiAgICBsb3ctb3JkZXItcGFnZXMgYWxs b2NhdGlvbiB3aWxsIGJlIGNvbmNlbnRyYXRlZCBpbiB0aGUgZnJvbnQgYXJlYSBvZiBwaHlzaWNh bCAgbWVtb3J5DQogICAgc28gdGhhdCBmZXcgbWVtb3J5LXBvbGx1dGlvbiBpbiB0aGUgYmFjayBh cmVhIG9mIG1lbW9yeSwgdGhlIHN1c3Nlc3NmdWwgcHJvYmFibGl0eQ0KICAgIG9mIGhpZ2gtb3Jk ZXIgYWxsb2NhdGlvbiB3b3VsZCBiZSBpbXByb3ZlZC4NCg0KICAgIEkgdGhpbmsgdGhhdCBpdCB3 b3VsZCBoZWxwIGluIGFsbW9zdCBhbGwgY2FzZXMgb2YgaGlnaC1vZGVyLXBhZ2VzIGFsbG9jYXRp b24sIGluc3RlYWQNCiAgICBvZiBzcGVjaWFsIGNhc2UsIGJlY2F1c2UgaXQgY2FuIGxldCBtb3Jl IGhpZ2gtb3JkZXIgZnJlZS1wYWdlcyBpbiBidWRkeSwgZXhhbXBsZToNCndoZW4gdXNlciBhbGxv YyA2NEsgYnl0ZXMsIGlmIHRoZSB1bml0IGlzIHBhZ2UoNEsgYnl0ZXMpIGFuZCBpdCBuZWVkcyB0 byAxNiB0aW1lcy4gIA0KICAgICAgICAgICAgIGlmIHRoZSB1bml0IGlzIDY0S2J5dGVzLCBpdCBv bmx5IHRha2VzIG9uY2UuDQppZiB0aGVyZSBhcmUgbW9yZSBmcmVlLWhpZ2gtb3JkZXItcGFnZXMg aW4gYnVkZHkgdGhhdCBmZXcgY29tcGFjdC1zdGFsbCBpbg0KICAgICAgICAgICAgIGFsbG9jdGlv bi1wcm9jZXNzLCB0aGUgYWxsb2NzdGFsbC10aW1lIHdvdWxkIGJlIHNob3J0ZW5lZC4NCg0KICAg IFdlIHRlc3RlZCB0aGUgc3BlZWQgb2YgdGhlIGhpZ2gtb3JkZXJzLXBhZ2VzKG9yZGVyPTQgYW5k IG9yZGVyID0gOCkgYWxsb2NhdGlvbg0KICAgIGFmdGVyIG1vbmtleSBhbmQgZm91bmQgdGhhdCBp dCBpbmNyZWFzZWQgYnkgbW9yZSB0aGFuIDE4JS4NCg0KMykgQWRqdXN0IHRoZSBsb2NhdGlvbiBv ZiBmcmVlLXBhZ2VzIGluIHRoZSBmcmVlX2xpc3QNCj4+V2l0aG91dCAxKSBhbmQgMikgSSBjYW5u b3QgY29tcGxldGVseQ0KPj51bmRlcnN0YW5kIGlmIDMpIGl0c2VsZiB3b3VsZCBoZWxwIGF0IGFs bCAoYW5kIGhvdyB0byBzZXQgdGhlIG1lZGlhbl9wZm4pDQotLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KICAgIE1lZGlhbl9wZm4gaXMgc2V0IGJ5IHRoZSByYW5n ZSBvZiBwYWdlcy1QRk4gb2YgZnJlZV9hcmVhLiBpZiBwYXJ0IDMpIHdvdWxkIGJlIHRyaWVkIHNl cGFyYXRlbHkNCiAgICB3aXRob3V0IDEpIGFuZCAyKSwgdGhlIHNpbXBsZSBzZXR0aW5nIGlzIHRo ZSBtZWRpYW4gb2YgdGhlIGVudGlyZSBtZW1vcnkuIEJ1dCBpIHRoaW5rIGl0IHdpbGwgcGxheSB0 aGUNCiAgICBiZXR0ZXIgcm9sZSBpbiBvcHRpbWl6YXRpb24gYmFzZWQgb24gdGhlIDEpIGFuZCAy KS4NCg0KDQoNCj4+IExhc3QgYnV0IG5vdCBsZWFzdCwgdGhlcmUgaGF2ZSB0byBiZSBtb3JlIGJl bmNobWFya3MgYW5kIHRlc3QgY2FzZXMgdGhhdA0KPj4gcHJvb2YgdGhhdCBvdGhlciB3b3JrbG9h ZCB3b24ndCBiZSBkZWdyYWRlZCB0byBhIGRlZ3JlZSB0aGF0IHBlb3BsZQ0KPj4gY2FyZTsgYXMg b25lIGV4YW1wbGUsIHRoaXMgaW5jbHVkZXMgcnVudGltZSBvdmVyaGVhZCB3aGVuDQo+PiBhbGxv Y2F0aW5nL2ZyZWVpbmcgcGFnZXMuICAgIA0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tDQoxLiBGb3IgbW9kaWZpY2F0aW9uIG9mIGJ1ZGR5OiB0aGUgbW9kaWZp ZWQgYWxsb2NhdGlvbiBzY2hlbWUgMSkrMikNCiAgICBJcyB0aGVycyBhbnkgc3RhbmRhcmQgZGV0 YWlsZWQgdGVzdC1saXN0ICBvZiB0aGUgbW9kaWZpZWQgYWxsb2NhdGlvbiBpbiB0aGUgY29tbXVu aXR5PyBsaWtlIGJlbmNobWFya3MNCiAgICBvciBhbnkgb3RoZXIgdGVzdHM/IGlmICBpIHBhc3Mg dGhlIHRlc3QgcmVxdWlyZWQgYnkgY29tbXVuaXJ5IHRoYXQgY2FuIHByb29mIHRoZSBwYXRjaCB3 aWxsIG5vdCBkZWdyYWRlZA0KICAgIHRvIGEgZGVncmVlIHRoYXQgcGVvcGxlIGNhcmUgYW5kIGNh biBtZXJnZSBpdCBpbiB0aGUgYmFzZWxpbmU/DQoNCiAgIA0KICAgIFRoYW5rcy4NCiAgICANCiAg ICANCg0KDQoNCmxpcGVpZmVuZ0BvcHBvLmNvbQ0KIA0KRnJvbTogRGF2aWQgSGlsZGVuYnJhbmQN CkRhdGU6IDIwMjEtMDQtMjIgMTc6MjkNClRvOiBWbGFzdGltaWwgQmFia2E7IGxpcGVpZmVuZzsg cGVpZmVuZ2w1NTsgc2Nod2lkZWZza3k7IGhlaWtvLmNhcnN0ZW5zDQpDQzogbGludXgtczM5MDsg bGludXgta2VybmVsOyBsaW51eC1tbQ0KU3ViamVjdDogUmU6IFtSRkNdIG1tOiBzdXBwb3J0IG11 bHRpX2ZyZWVhcmVhIHRvIHRoZSByZWR1Y3Rpb24gb2YgZXh0ZXJuYWwgZnJhZ21lbnRhdGlvbg0K T24gMTYuMDQuMjEgMTM6MDYsIFZsYXN0aW1pbCBCYWJrYSB3cm90ZToNCj4gT24gNC8xNC8yMSA0 OjM4IEFNLCBsaXBlaWZlbmdAb3Bwby5jb20gd3JvdGU6DQo+PiBGcm9tOiBsaXBlaWZlbmcgPGxp cGVpZmVuZ0BvcHBvLmNvbT4NCj4+DQo+PiBUaGlzIHBhdGNoIHdvdWxkICJzb3J0IiB0aGUgZnJl ZS1wYWdlcyBpbiBidWRkeSBieSBwYWdlcy1QRk4gdG8gY29uY2VudHJhdGUNCj4+IGxvdy1vcmRl ci1wYWdlcyBhbGxvY2F0aW9uIGluIHRoZSBmcm9udCBhcmVhIG9mIG1lbW9yeSBhbmQgaGlnaC1v cmRlci1wYWdlcw0KPj4gYWxsY2F0aW9uIG9uIHRoZSBjb250cmFyeSBzbyB0aGF0IGZldyBtZW1v cnktcG9sbHV0aW9uIGluIHRoZSBiYWNrIGFyZWEgb2YNCj4+IG1lbW9yeSBhbmQgdGhlIHByb2Jh YmxpdHkgb2YgaGlnaC1vcmRlci1wYWdlcyBhbGxvY2F0aW9uIHdvdWxkIGJlIGluY3JlYXNlZA0K Pj4gc2lnbmlmaWNhbnRseS4NCj4+IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQo+Pg0KPj4gICAgMSkgRGl2aWRl IG1lbW9yeSBpbnRvIHNldmVyYWwgc2VnbWVudHMgYnkgcGFnZXMtUEZODQo+PiAgICAgICAiTXVs dGlfZnJlZWFyZWEiIHdvdWxkIGRpdmlkZSBtZW1vcnkgaW50byBGUkVFX0FSRUFfQ09VTlRTIHNl Z21lbnRzDQo+PiAgICAgICBieSBwYWdlcy1QRk4sZWFjaCBtZW1vcnktc2VnbWVudCBjb3JyZXNw b25kcyB0byBhIGZyZWVfYXJlYS4NCj4+DQo+PiAgICAgICBFeGFtcGxlOiBtYWNoaW5lKDRHIG9m IHBoeXNpY2FsIG1lbWVyeSkgYW5kIEZSRUVfQVJFQV9DT1VOVFMoNCk6DQo+PiAgICAgICAgICBw YWdlLVBGTjoweDAgICAgIDB4NDAwMDAoMUcpICAgMHg4MDAwMCgyRykgIDB4YzAwMDAoM0cpIDB4 RkZGRkYoNEcpDQo+PiAgICAgICAgICAgICAgICAgICB8LS0tLS0tLS0tLS0tfC0tLS0tLS0tLS0t LS0tfC0tLS0tLS0tLS0tLS0tfC0tLS0tLS0tLS0tLS18DQo+PiAgICAgICAgICBmcmVlX2FyZWE6 ICBbMF1bXSAgICAgICAgICAgWzFdW10gICAgICAgICAgIFsyXVtdICAgICAgICBbM11bXQ0KPj4N Cj4+ICAgICAgIE5PVEU6IFNlbGVjdGluZyB0aGUgY29ycmVzcG9uZGluZyBmcmVlYXJlYSB3aGVu IHBhZ2VzIGFyZSBmcmVlZCBiYWNrDQo+PiAgICAgICAgdG8gYnVkZHk6DQo+PiAgICAgICAgICAt IHBhZ2VzLVBGTlswLCBmcmVlX2FyZWFfc2VnbWVudFswXS5tYXhfcGZuXSAtPiBmcmVlX2FyZWFb MF1bXQ0KPj4gICAgICAgICAgLSBwYWdlcy1QRk5bZnJlZV9hcmVhX3NlZ21lbnRbZmxjIC0gMV0u bWF4X3BmbiwNCj4+ICAgICAgICAgICAgIGZyZWVfYXJlYV9zZWdtZW50W2ZsY10ubWF4X3Bmbl0g LT4gZnJlZV9hcmVhW2ZsY11bXQ0KPj4gICAgICAgICAgICAgICAgICAgICAoZmxjID4gMCkNCj4+ DQo+PiAgICAgICBCeSB0aGlzIHdheSwgYWxsIHBhZ2VzIGluIHRoZSBzYW1lIHNlZ21lbnQvZnJl ZV9hcmVhIGlzIHdpdGhpbiBhDQo+PiAgICAgICBjZXJ0YWluIHJhbmdlIG9mIHBhZ2VzLVBGTi4N Cj4+DQo+PiAgICAyKSBTZWxlY3QgdGhlIGNvcnJlc3BvbmRpbmcgZnJlZWFyZWEgdG8gYWxsb2Mt cGFnZXMNCj4+ICAgICAgICJNdWx0aV9mcmVlYXJlYSIgd291bGQgc2VsZWN0IHRoZSBjb3JyZXNw b25kaW5nIGZyZWVfYXJlYSBieSB0aGUNCj4+ICAgICAgIGFsbG9jYXRpb24tb3JkZXIgd2hlbiBh bGxvYy1wYWdlcy4NCj4+ICAgICAgICAgIC0gb3JkZXIgPCAgSElHSF9PUkRFUl9UT19GTEM6DQo+ PiAgICAgICAgIGZyZWVfYXJlYVswXSAtPiAuLi4gLT4gZnJlZV9hcmVhW0ZSRUVfQVJFQV9DT1VO VFMgLSAxXQ0KPj4gICAgICAgICAgLSBvcmRlciA+PSBISUdIX09SREVSX1RPX0ZMQzoNCj4+ICAg ICAgICAgZnJlZV9hcmVhW0ZSRUVfQVJFQV9DT1VOVFMgLSAxXSAtPiAuLi4gLT4gZnJlZV9hcmVh WzBdDQo+Pg0KPj4gICAgICAgRXhhbXBsZToNCj4+ICAgICAgICAgIFRoZSBtYWNoaW5lKDRHIG9m IHBoeXNpY2FsIG1lbWVyeSkgYW5kIEZSRUVfQVJFQV9DT1VOVFMoNCkNCj4+ICAgICAgICAgIGFu ZCBISUdIX09SREVSX1RPX0ZMQygzKS4NCj4+IElmIHVzZXIgYWxsb2NzIHBhZ2Uob3JkZXIgPSAw KSxpdCB3b3VsZCB0YWtlIHBhZ2UgZnJvbQ0KPj4gZnJlZV9hcmVhWzBdW10gZmlyc3QsIGlmIHRo YXQgZmFpbHMsdHJ5IGZyZWVfYXJlYVsxXVtdIGFuZCBzbyBvbi4NCj4+IElmIHVzZXIgYWxsb2Nz IHBhZ2Uob3JkZXIgPSA0KSxpdCB3b3VsZCB0YWtlIHBhZ2UgZnJvbQ0KPj4gZnJlZV9hcmVhWzNd W10gZmlyc3QsIGlmIHRoYXQgZmFpbHMsdHJ5IGZyZWVfYXJlYVsyXVtdIGFuZCBzbyBvbi4NCj4+ DQo+PiAgICAgICBCeSB0aGlzIHdheSxsb3ctb3JkZXIgcGFnZXMgd2lsbCBiZSBjb25jZW50cmF0 ZWQgaW4gdGhlIGZyb250IGFyZWENCj4+ICAgICAgIG9mIG1lbW9yeS5CZWNhdXNlIG9mIGZldyBt ZW1vcnktcG9sbHV0aW9uIGluIHRoZSBiYWNrIGFyZWEgb2YgbWVtb3J5LA0KPj4gICAgICAgdGhl IHN1c3Nlc3NmdWwgcHJvYmFibGl0eSBvZiBoaWdoLW9yZGVyIGFsbG9jYXRpb24gd291bGQgYmUg aW1wcm92ZWQuDQo+Pg0KPj4gICAgMykgQWRqdXN0IHRoZSBsb2NhdGlvbiBvZiBmcmVlLXBhZ2Vz IGluIHRoZSBmcmVlX2xpc3QNCj4+ICAgICAgICJNdWx0aV9mcmVlYXJlYSIgd291bGQgcGxhY2Ug ZnJlZS1wYWdlcyBpbiB0aGUgaGVhZCBvZiBmcmVlX2xpc3QgaWYNCj4+ICAgICAgIHBhZ2VzLVBG TiBpcyBzbWFsbGVyIHRoYW4gZnJlZV9hcmVhX3NlZ21lbnRbZmxjXS0+bWVkaWFuX3BmbiBhbmQg aW4NCj4+ICAgICAgIHRoZSB0YWlsIG9mIGZyZWVfbGlzdCBvbiB0aGUgY29udHJhcnkuDQo+Pg0K Pj4gICAgICAgRXhhbXBsZToNCj4+ICAgICAgICAgIHBhZ2UtUEZOOiAgICAgICAgZnJlZV9hcmVh X3NlZ21lbnRbZmxjXS0+bWVkaWFuX3Bmbg0KPj4gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICB8DQo+PiAgICAgICAgICBmcmVlX2xpc3Q6IHBhZ2UtPnBhZ2UtPnBhZ2Ut Pi4uLnwuLi5wYWdlLT5wYWdlLT5wYWdlDQo+PiAgICAgICAgICBwYWdlcy1QRk46fCAgIDwgbWVk aWFuX3BmbiAgICAgIHwgID49IG1lZGlhbl9wZm4gICAgfA0KPj4NCj4+ICAgICAgIEJlY2F1c2Ug aXQgd291bGQgdGFrZSBwYWdlcyBmcm9tIHRoZSBoZWFkIG9mIHRoZSBmcmVlbGlzdCBmaXJzdCBp bg0KPj4gICAgICAgYnVkZHkgc3lzdGVtLHRoZSBmcmVlLXBhZ2VzIGluIHRoZSB0YWlsIGFyZSBt b3JlIGxpa2VseSB0byBrZWVwIGluIHRoZQ0KPj4gICAgICAgYnVkZHkgc3lzdGVtLlRoZSBjbG9z ZXIgdGhlIFBGTiBvZiBwYWdlcyBrZXB0IGluIGJ1ZGR5IHN5c3RlbSwgdGhlDQo+PiAgICAgICBn cmVhdGVyIHRoZSBwcm9iYWJsaXR5IG9mIG1lcmdpbmcgdGhhdCBpbnRvIGhpZ2gtb3JkZXIgcGFn ZXMuDQo+IA0KPiBJIHRoaW5rIHRoaXMgcGFydCAzKSB3b3VsZCBiZSB3b3J0aCB0byBiZSB0cmll ZCBzZXBhcmF0ZWx5IGZpcnN0LCBhcyBpdCdzIG5vdCBhDQo+IGJpZyBjaGFuZ2UgY29tcGFyZWQg dG8gdGhlIG90aGVyIG9uZXMuDQo+IA0KIA0KTGV0J3MgY29uc2lkZXIgcGFydCAzIG9ubHkgYW5k IGlnbm9yZSB0aGUgMSkgbXVsdGkgZnJlZWFyZWEgKHdoaWNoIG1pZ2h0IA0KYmUgcHJvYmxlbWF0 aWMgd2l0aCBzcGFyY2l0eSkgYW5kIDIpIHRoZSBtb2RpZmllZCBhbGxvY2F0aW9uIHNjaGVtZSAN Cih3aGljaCBkb2Vzbid0IHlldCBxdWl0ZSBzZW5zZSB0byBtZSB5ZXQsIGUuZy4sIGJlY2F1c2Ug d2UgZ3JvdXAgYnkgDQptb2JpbGl0eSBhbmQgaGF2ZSBjb21wYWN0aW9uIGluIHBsYWNlOyBJIGFz c3VtZSB0aGlzIHJlYWxseSBvbmx5IGhlbHBzIA0KaW4gc29tZSBzcGVjaWFsIGNhc2VzIC0tIGxp a2UgdGhlIHRlc3QgY2FzZSB5b3UgYXJlIGdpdmluZzsgSSBtaWdodCBiZSANCndyb25nKQ0KIA0K UmlnaHQgbm93LCB3ZSBkZWNpZGUgd2hldGhlciB0byBidXQgdG8gaGVhZCBvciB0YWlsIGJhc2Vk IG9uIGhvdyBsaWtlbHkgDQppdCBpcyB0aGF0IHdlIG1pZ2h0IG1lcmdlIHRvIGEgaGlnaGVyLW9y ZGVyIHBhZ2UgKGJ1ZGR5X21lcmdlX2xpa2VseSgpKSANCmluIHRoZSBmdXR1cmUuIFNvIHdlIG9u bHkgY29uc2lkZXIgdGhlIGN1cnJlbnQgIm5laWdoYm9yaG9vZCIgb2YgdGhlIA0KcGFnZSB3ZSdy ZSBmcmVlaW5nLiBBcyB3ZSByZXN0cmljdCBvdXIgbmVpZ2hib3Job29kIHRvIE1BWF9PUkRFUiAt IDEgDQpwYWdlcyAod2hhdCB3ZSBjYW4gYWN0dWFsbHkgbWVyZ2UpLiBPZiBjb3Vyc2UsIHdlIGNh biBlYXNpbHkgYmUgd3JvbmcgDQpoZXJlLiBHcm91cGluZyBieSBtb3ZhYmlsaXR5IGFuZCBjb21w YWN0aW9uIG9ubHkgaGVscHMgdG8gc29tZSBkZWdyZWUgSSANCmd1ZXNzLg0KIA0KQUZBSUssIHdo YXQgeW91IHByb3Bvc2UgaXMgYmFzaW5nIHRoZSBkZWNpc2lvbnMgd2hlcmUgdG8gcGxhY2UgYSBw YWdlIA0KKGluIGFkZGl0aW9uPykgb24gYSBtZWRpYW5fcGZuLiBXaXRob3V0IDEpIGFuZCAyKSBJ IGNhbm5vdCBjb21wbGV0ZWx5IA0KdW5kZXJzdGFuZCBpZiAzKSBpdHNlbGYgd291bGQgaGVscCBh dCBhbGwgKGFuZCBob3cgdG8gc2V0IHRoZSANCm1lZGlhbl9wZm4pLiBCdXQgaXQgd291bGQgY2Vy dGFpbmx5IGJlIGludGVyZXN0aW5nIGlmIHdlIGNhbiB0d2VhayB0aGUgDQpjdXJyZW50IGxvZ2lj IHRvIGJldHRlciBpZGVudGlmeSBtZXJnZSB0YXJnZXRzIHNpbXBseSBieSB0d2Vha2luZyANCmJ1 ZGR5X21lcmdlX2xpa2VseSgpIG9yIHRoZSBhc3N1bXB0aW9ucyBpdCBpcyBtYWtpbmcuDQogDQot LSANClRoYW5rcywNCiANCkRhdmlkIC8gZGhpbGRlbmINCiANCg== ------=_001_NextPart842172848432_=---- 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=

>> Let's consider part 3 only a= nd ignore the 1) multi freearea (which might
>> be problema= tic with sparcity) and 2) the modified allocation scheme
>>= (which doesn't yet quite sense to me yet, e.g., because we group by
<= div>>> mobility and have compaction in place; I assume this really on= ly helps
>> in some special cases -- like the test case you= are giving; I might be
>> wrong)
 
>> Right now, we decide whether to but to head or tail based on how= likely
>> it is that we might merge to a higher-order page= (buddy_merge_likely())
>> in the future. So we only consid= er the current "neighborhood" of the
>> page we'r= e freeing. As we restrict our neighborhood to MAX_ORDER - 1
>&= gt; pages (what we can actually merge). Of course, we can easily be wrong
>> here. Grouping by movability and compaction only helps to= some degree I
>> guess.
 
>>= ; AFAIK, what you propose is basing the decisions where to place a page
>> (in addition?) on a median_pfn. Without 1) and 2) I cannot = completely
>> understand if 3) itself would help at all (an= d how to set the
>> median_pfn). But it would certainly be = interesting if we can tweak the
>> current logic to better = identify merge targets simply by tweaking
>> buddy_merge_li= kely() or the assumptions it is making.


=

Hi David Hildenbrand=EF=BC=8C Vlastimil Babka:
    Thank you very much indeed for advices.

<= div>>> 2) the modified allocation scheme
&g= t;> (which doesn't yet quite sense to me yet, e.g., because we group by<= /div>
>> mobility and have compaction in place; I assume this rea= lly only helps
>> in some special cases -- like the test ca= se you are giving;
 ----------------------------------------= -----------------------------------------
1) Divid= e memory into several segments by pages-PFN 
2) Selec= t the corresponding freearea to alloc-pages        &nbs= p;
    These two parts art for the same purpose: 
    low-order-pages allocation = will be concentrated in the front area of physical  memory
  &n= bsp; so that few memory-pollution= in the back area of memory, th= e sussessful probablity
    of high-order allocation would be improved.

    I think that it would help in almost all cases o= f high-oder-pages allocation, instead
    of speci= al case, because it can let more high-order free-pages in buddy, example:
  • when user alloc 64K bytes, if the unit is page(4K bytes)= and it needs to 16 times.  
        &= nbsp;    if the unit is 64Kbytes, it onl= y takes once.
  • if there are more free-high-order= -pages in buddy that few compact-stall in
             alloction-process, the = allocstall-time would be shortened.

    We teste= d the speed of the high-orders-pages(order=3D4 and order =3D 8) allocation<= /span>
    after monkey and found that it i= ncreased by more than 18%.

3) Adjust the location of free-pages in the free_= list
>>Without 1) and 2) I cannot completely<= /span>
>>understand if 3) itself would help at all (and how= to set the median_pfn)
-----------= ---------------------------------------------------------------------------= ---------------
    Median_pfn is = set by the range of pages-PFN of free_area. if part 3)= would be tried separately
   = ; without 1) and 2), the simple setting is the median of the entire memory.= But i think it will play the
    better role in optimization based on the 1) = and 2).



<= /div>
>> Last but not least, there have to be more benchmarks and = test cases that
>> proof that other workload won't be degrad= ed to a degree that people
>> care; as one example, this inc= ludes runtime overhead when
>> allocating/freeing pages.    = ;
---------------------------------------------
=
1. For modification of buddy: = the modified allocation scheme 1)+2)
  =   Is thers any standard detailed test-list  of the modified alloc= ation in the community? like benchmarks
    or= any other tests? if  i= pass the test required by c= ommuniry that can proof the patch will not degraded
  &nbs= p; to a = degree that people care and can merge it in the baseline?

   
    Thanks.
 =   
    
=0A=


=0A=
lipeifeng@oppo.com
=0A=
 
Fr= om: David Hildenbrand
Date: 2021-04-22 17:29
Subject: Re: [= RFC] mm: support multi_freearea to the reduction of external fragmentation<= /div>
On 16.04.21 13:06, Vlastimil Babka wrote:
= =0A=
> On 4/14/21 4:38 AM, lipeifeng@oppo.com wrote:
=0A=
>> From: lipeifeng <lipeifeng@oppo.com>
=0A=
>>
=0A=
>> This patch would "sort" the free-pages in buddy by = pages-PFN to concentrate
=0A=
>> low-order-pages allocation in the front area of memory and hi= gh-order-pages
=0A=
>> allcation on the contrary so that few memory-pollution in the= back area of
=0A=
>> memory and the probablity of high-order-pages allocation woul= d be increased
=0A=
>> significantly.
=0A=
>> -------------------------------------------------------------= ----------
=0A=
>>
=0A=
>>    1) Divide memory into several segments by p= ages-PFN
=0A=
>>       "Multi_freearea"= ; would divide memory into FREE_AREA_COUNTS segments
=0A=
>>       by pages-PFN,each memory-= segment corresponds to a free_area.
=0A=
>>
=0A=
>>       Example: machine(4G of ph= ysical memery) and FREE_AREA_COUNTS(4):
=0A=
>>          page-PF= N:0x0     0x40000(1G)   0x80000(2G)  0xc= 0000(3G) 0xFFFFF(4G)
=0A=
>>          &n= bsp;        |------------|--------------= |--------------|-------------|
=0A=
>>          free_ar= ea:  [0][]          = [1][]           [2][]&nb= sp;       [3][]
=0A=
>>
=0A=
>>       NOTE: Selecting the corre= sponding freearea when pages are freed back
=0A=
>>        to buddy:
=0A=
>>          - pages= -PFN[0, free_area_segment[0].max_pfn] -> free_area[0][]
=0A=
>>          - pages= -PFN[free_area_segment[flc - 1].max_pfn,
=0A=
>>           =   free_area_segment[flc].max_pfn] -> free_area[flc][]
=0A=
>>          &n= bsp;          (flc > 0)=0A=
>>
=0A=
>>       By this way, all pages in= the same segment/free_area is within a
=0A=
>>       certain range of pages-PF= N.
=0A=
>>
=0A=
>>    2) Select the corresponding freearea to all= oc-pages
=0A=
>>       "Multi_freearea"= ; would select the corresponding free_area by the
=0A=
>>       allocation-order when all= oc-pages.
=0A=
>>          - order= <  HIGH_ORDER_TO_FLC:
=0A=
>>         free_area[0] ->= ; ... -> free_area[FREE_AREA_COUNTS - 1]
=0A=
>>          - order= >=3D HIGH_ORDER_TO_FLC:
=0A=
>>         free_area[FREE_AR= EA_COUNTS - 1] -> ... -> free_area[0]
=0A=
>>
=0A=
>>       Example:
=0A=
>>          The mac= hine(4G of physical memery) and FREE_AREA_COUNTS(4)
=0A=
>>          and HIG= H_ORDER_TO_FLC(3).
=0A=
>> If user allocs page(order =3D 0),it would take page from=0A=
>> free_area[0][] first, if that fails,try free_area[1][] and s= o on.
=0A=
>> If user allocs page(order =3D 4),it would take page from=0A=
>> free_area[3][] first, if that fails,try free_area[2][] and s= o on.
=0A=
>>
=0A=
>>       By this way,low-order pag= es will be concentrated in the front area
=0A=
>>       of memory.Because of few = memory-pollution in the back area of memory,
=0A=
>>       the sussessful probablity= of high-order allocation would be improved.
=0A=
>>
=0A=
>>    3) Adjust the location of free-pages in the= free_list
=0A=
>>       "Multi_freearea"= ; would place free-pages in the head of free_list if
=0A=
>>       pages-PFN is smaller than= free_area_segment[flc]->median_pfn and in
=0A=
>>       the tail of free_list on = the contrary.
=0A=
>>
=0A=
>>       Example:
=0A=
>>          page-PF= N:        free_area_segment[flc]->med= ian_pfn
=0A=
>>          &n= bsp;            = ;            &n= bsp;      |
=0A=
>>          free_li= st: page->page->page->...|...page->page->page
=0A=
>>          pages-P= FN:|   < median_pfn      |  >= =3D median_pfn    |
=0A=
>>
=0A=
>>       Because it would take pag= es from the head of the freelist first in
=0A=
>>       buddy system,the free-pag= es in the tail are more likely to keep in the
=0A=
>>       buddy system.The closer t= he PFN of pages kept in buddy system, the
=0A=
>>       greater the probablity of= merging that into high-order pages.
=0A=
>
=0A=
> I think this part 3) would be worth to be tried separately first,= as it's not a
=0A=
> big change compared to the other ones.
=0A=
>
=0A=
 
=0A=
Let's consider part 3 only and ignore the 1) multi freearea (which mig= ht
=0A=
be problematic with sparcity) and 2) the modified allocation scheme =0A=
(which doesn't yet quite sense to me yet, e.g., because we group by =0A=
mobility and have compaction in place; I assume this really only helps=
=0A=
in some special cases -- like the test case you are giving; I might be=
=0A=
wrong)
=0A=
 
=0A=
Right now, we decide whether to but to head or tail based on how likel= y
=0A=
it is that we might merge to a higher-order page (buddy_merge_likely()= )
=0A=
in the future. So we only consider the current "neighborhood"= ; of the
=0A=
page we're freeing. As we restrict our neighborhood to MAX_ORDER - 1 <= /div>=0A=
pages (what we can actually merge). Of course, we can easily be wrong =
=0A=
here. Grouping by movability and compaction only helps to some degree = I
=0A=
guess.
=0A=
 
=0A=
AFAIK, what you propose is basing the decisions where to place a page =
=0A=
(in addition?) on a median_pfn. Without 1) and 2) I cannot completely =
=0A=
understand if 3) itself would help at all (and how to set the
= =0A=
median_pfn). But it would certainly be interesting if we can tweak the=
=0A=
current logic to better identify merge targets simply by tweaking =0A=
buddy_merge_likely() or the assumptions it is making.
=0A=
 
=0A=
--
=0A=
Thanks,
=0A=
 
=0A=
David / dhildenb
=0A=
 
=0A=
=0A= = ------=_001_NextPart842172848432_=------