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 39E31C46CD2 for ; Tue, 9 Jan 2024 15:25:39 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 8EE046B0075; Tue, 9 Jan 2024 10:25:38 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 89DF06B007B; Tue, 9 Jan 2024 10:25:38 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 718066B007D; Tue, 9 Jan 2024 10:25:38 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0011.hostedemail.com [216.40.44.11]) by kanga.kvack.org (Postfix) with ESMTP id 61B726B0075 for ; Tue, 9 Jan 2024 10:25:38 -0500 (EST) Received: from smtpin28.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay01.hostedemail.com (Postfix) with ESMTP id 1588C1C1280 for ; Tue, 9 Jan 2024 15:25:38 +0000 (UTC) X-FDA: 81660147156.28.95A942E Received: from NAM10-MW2-obe.outbound.protection.outlook.com (mail-mw2nam10on2068.outbound.protection.outlook.com [40.107.94.68]) by imf01.hostedemail.com (Postfix) with ESMTP id 370DB40027 for ; Tue, 9 Jan 2024 15:25:34 +0000 (UTC) Authentication-Results: imf01.hostedemail.com; dkim=pass header.d=Nvidia.com header.s=selector2 header.b=CkEVnK+T; arc=pass ("microsoft.com:s=arcselector9901:i=1"); spf=pass (imf01.hostedemail.com: domain of ziy@nvidia.com designates 40.107.94.68 as permitted sender) smtp.mailfrom=ziy@nvidia.com; dmarc=pass (policy=reject) header.from=nvidia.com ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1704813935; 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:in-reply-to:references:references:dkim-signature; bh=yrcsHKw3vh2AoTeymOCf/uB2YtnOMdhiyBZ+mLbWk10=; b=exoxSJZmnGKNyiBaEaQvsOj8ZobkWQVVXCb/PhqWgJBJHL52GHzn+vcG0PXM609/JOvIKv aZ393MNriDeONJmcGAL9Z5VMnTOaob9sTWZ4lbC6n5cXbrYD2tb3BOe0zWQ4l+UviiCC3S xBnHdB/Kcr4rVVkO2iKcvmbe5kVa9WE= ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1704813935; a=rsa-sha256; cv=pass; b=GbpRWJPn5KqwK6RxTuvfuKzYa/LShpQOtOANxRFOgahnDAz48P6+WbyPK+Yeb005xWI/rZ zsVdJ7e8TroUuAVXiGaeQzijQN+qVRheKOM+nrssJCtijtinqCNRVkLF9rO0e3ZEeGnlF1 7a7cHNT44LdhL3UN3mCCAbpowOvMwUE= ARC-Authentication-Results: i=2; imf01.hostedemail.com; dkim=pass header.d=Nvidia.com header.s=selector2 header.b=CkEVnK+T; arc=pass ("microsoft.com:s=arcselector9901:i=1"); spf=pass (imf01.hostedemail.com: domain of ziy@nvidia.com designates 40.107.94.68 as permitted sender) smtp.mailfrom=ziy@nvidia.com; dmarc=pass (policy=reject) header.from=nvidia.com ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=jsNVICd0ShTtLgGN0M8C9AxOt3u87H3oloi7qPDX1GuIpX0b+rh4ltmAwL7iego31lgAFMwHLw7zlItvjBjWKxQp8i3fINjuLgAQEN1feWSYC+kx+8b6s7cp7U4ZMuabqJsVY3UEJ1VwgLQMMwNZ+u70v9Z2CkUu/fwXVeGoo+a09EgG7DF+qtYNZkbk5dbPELr9hl0DW0KMKec8pZ6ZokUkxlFEQAGbhSLowpOitqFCN4JkRtfbpyg2BYVceXzM4Jp402br5SOozQT781xvR66eTwEROqKOOatVBiY4WW1DuatdocE3hgQfXrVAenaEQmZBrV/QGfO7ggEKI5cZ5Q== 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=yrcsHKw3vh2AoTeymOCf/uB2YtnOMdhiyBZ+mLbWk10=; b=arZQfCj1WaiVvtL2nhu08LsHvbmho3TnGkFD8HNrBcwFilEtHgBAW/hiQaB4de6O9sATXlsRcfgVdciqogmn6QtP2+OE6k4+1kLPRcHAnXi+Tv9gT+Tr7y/w73JRpaTuWfuajVaGGkURGvl4iDp3owRDlAsfe2R1MTma8oExc0LkXUrfSAhluV2/yD13aQLUZDagCFtCiHUWh4jCbsS+d3DIYsiNusoHLknXAD5veshJWnmIBx/Y6mCkuYJ3oAkIrj3BNoV8+qK9Y8zVxw7QaPXz4TDGCa3DM++iv9CM/jj18js4rpAL0Eu6kfslZIbsLEBOT0PulzoDzmbKHVsNqw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nvidia.com; dmarc=pass action=none header.from=nvidia.com; dkim=pass header.d=nvidia.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=yrcsHKw3vh2AoTeymOCf/uB2YtnOMdhiyBZ+mLbWk10=; b=CkEVnK+T7tpxW8ZVIRz8BVdLtr4rhL23JDlp4nSbovhayxgOgL0S3e8BdrixXb2ijuFvYHVm2CJrc9LWogqxryqBY1gt2mH39jEEjnTpz4ouJ77oJ7yJRxSORyksdOTse/gN1zSw4OJ5jn4EqmQAO1c32KyRi3VrnRpBl1x/IFsYE/54TxkpVhTbUMUkyStIw7kmua30RmaalweS3SVnYqNoIBaS1bsGdpfvPPVqeD8/xTXCD4aw5r2IOWHVqe4UB07rqpNncHZRHM0bkVfYwj96Kav3a1aav5zcGn0KapDSnK3+VsQ2Box2cwkQilO7j/E+a0MSG3n/YxT8Hm2G3Q== Received: from DS7PR12MB5744.namprd12.prod.outlook.com (2603:10b6:8:73::18) by CH3PR12MB8403.namprd12.prod.outlook.com (2603:10b6:610:133::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7159.23; Tue, 9 Jan 2024 15:25:28 +0000 Received: from DS7PR12MB5744.namprd12.prod.outlook.com ([fe80::99b6:1e06:1e8b:4324]) by DS7PR12MB5744.namprd12.prod.outlook.com ([fe80::99b6:1e06:1e8b:4324%5]) with mapi id 15.20.7159.020; Tue, 9 Jan 2024 15:25:28 +0000 From: Zi Yan To: Ryan Roberts Cc: linux-mm@kvack.org, linux-kernel@vger.kernel.org, "\"Huang, Ying\"" , Andrew Morton , "\"Matthew Wilcox (Oracle)\"" , David Hildenbrand , "\"Yin, Fengwei\"" , Yu Zhao , Vlastimil Babka , "\"Kirill A . Shutemov\"" , Johannes Weiner , Baolin Wang , Kemeng Shi , Mel Gorman , Rohan Puri , Mcgrof Chamberlain , Adam Manzanares , "\"Vishal Moola (Oracle)\"" Subject: Re: [PATCH v1 2/4] mm/compaction: add support for >0 order folio memory compaction. Date: Tue, 09 Jan 2024 10:25:25 -0500 X-Mailer: MailMate (1.14r5994) Message-ID: <5B002327-EC00-4F0E-BB70-AA4A322EC518@nvidia.com> In-Reply-To: References: <20231113170157.280181-1-zi.yan@sent.com> <20231113170157.280181-3-zi.yan@sent.com> Content-Type: multipart/signed; boundary="=_MailMate_D8F3586F-268A-4F9D-AEBD-409D4EB34F38_="; micalg=pgp-sha512; protocol="application/pgp-signature" X-ClientProxiedBy: MN2PR19CA0071.namprd19.prod.outlook.com (2603:10b6:208:19b::48) To DS7PR12MB5744.namprd12.prod.outlook.com (2603:10b6:8:73::18) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DS7PR12MB5744:EE_|CH3PR12MB8403:EE_ X-MS-Office365-Filtering-Correlation-Id: 354809b2-353d-4d45-cdd6-08dc11273593 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: DSYGN79wsMoV9ZWGSbsrAHNyLGxDDzFeHbjIRqjaYZ1P8tGOXI4ZuSqCHQ19kcmQkPA4szUeKG2CNqVsXstb+DGgcRfmIzxr3JuKXWIAoo6Wm5BFhvNNJysLH7hzv9xYoVwJjQCwvC0aDku8Ehl2MpXOGNWatjoe2LyYgiM23QpWCRF9UxhVP4mZwsmLuZkD/Q6giCWOBsNnPPwuwLDiDqXt0G1JR2y9/ZfC8ZE7Tc0hFjkaMJ+Sg92rodDuokbKrjTNHxLvYJFTIwGIPAp70uhsP/Nd96U41rLPJdmgNKS6dSQ9zXACe8oz8oNeIA+9CEMzYuv531i6zQ/hxm/c6LWMpXxXymuhfFbTlbdE5ZSah1t93sc0E7IxPqm00pnnf2rRSZxxYRw1GgFSGrarIzsQ892GuKPD1j1Jiosmjhc4ySXpSChQsQyGHD8TNcxvR/nO71gF8X5jqnyEXoG8uYytbctliYJl4ZGty9XiDLfxKZYqTfF/q50z0DewlYDylcZGUV9uzxsCs+IVGfF8r9rPhXeSRmvlRfC3zs2HJKGOneWgbeaBr+ZwVdZRWGxJqI6LPWeKprLf/msuLBZbSszFDAQqBGne19gkkgxkd6nBki5mfVwI5kGCdVHNM6tX X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DS7PR12MB5744.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(136003)(346002)(376002)(366004)(39860400002)(396003)(230922051799003)(64100799003)(1800799012)(186009)(451199024)(41300700001)(86362001)(8936002)(6486002)(8676002)(6916009)(26005)(478600001)(2906002)(5660300002)(235185007)(7416002)(66476007)(36756003)(66556008)(316002)(2616005)(66946007)(54906003)(53546011)(6512007)(83380400001)(33656002)(6666004)(6506007)(4326008)(38100700002)(45980500001);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?1pv2WLtM0e2mVszP9x3MryAL14BdPu99hpVYvxYnAEvU/h1sI11kU3WTYL+a?= =?us-ascii?Q?YFcSZ+Fii8ANbspIJfieT4o7apO+n5MtpP2F2v4FEOc7NoSpDoJd6GB4SBI7?= =?us-ascii?Q?Pe9SBZ9oAGHa9LbTH1GxCa36I/VopyRD4JvUxdCjzPR+ysX4D2q6sIc259Ib?= =?us-ascii?Q?sPF8BmOasV8uBKAYa1BCsyEPE+4mE8KD5XDLuz9VqIabWqP9Xee2RJq6yEO8?= =?us-ascii?Q?w+6eJ4tNK9vXK3K0leHIQS0FL5oj1JfkAkCPmN4XW075+unr9vAPrhHIdSvU?= =?us-ascii?Q?trBvFb0ZmSN87ika9sVO2YvYv07BmtNJXns7giznAC6yu+QmHXrBB7xInycY?= =?us-ascii?Q?xhIOXWNkGzaE3BMzHCilb4pti1UqvlvRrMMAmve914wP36LmF9h80ox3L69G?= =?us-ascii?Q?K+CMMRjCbTBwO0ogtDjAE3j/F1xZagHc6yDjdaZSHPQnE9Ad/RRtHGZcFOUu?= =?us-ascii?Q?UJcjAwkqcXRL8iqPM2UzPZnjvMtGeb7Lkqy5PI4JtZDjnl3dYfmRg5uzt2T6?= =?us-ascii?Q?S3mm5wX45WmlxLW/6b+KidTVNfeR8zf3nj0dy9mgyUgIhm7ErEhYTsOoX61g?= =?us-ascii?Q?WmVRw5tTsiZEzn36QOybaDu173Sgq7sQ2lNh/XkgLIGaIY7xO0mc4J46932S?= =?us-ascii?Q?Pdr7FxZNu0v2hsqTalhJ547sIsUWyzwOz89nz3iolt3gmI28BIpQEEMYvgD2?= =?us-ascii?Q?4dxSgYNN+nZPcTrTcP0QgitvlKXOmetNG4IKV2Zpoo9q3zFj4zGnMrvnhfN/?= =?us-ascii?Q?x1GwYL3T0Gp1Bo7nE49yB0HSRtiiesCdJyTvQO3UlrEFY95SYvbkCuEstm5w?= =?us-ascii?Q?yceiroQLPPJ3X6nDdoIk3xVnThWu6EwHUchVE1VLIn9qlc+6ohMMDt5dkntW?= =?us-ascii?Q?SxARxk+5dShEU7rWqFUD7uH2dhqfliuIRilVZmj08Wrsyin8CA32DzboFHCy?= =?us-ascii?Q?RmgjDTlVjnXCVQqf6+ZJZiMfof9Dvbd+8BrbWIzOkJxsa5HNZphEQ67BZjmq?= =?us-ascii?Q?azK8fbnK9hEbLTW0C1DSX6odXEXrGwsXW77cA09Z0v/oX069klhvDLT6Yzgq?= =?us-ascii?Q?BO4x+dTxTVJ73luY9sBNHCdz/0QghxGcTBH9gipKiKW/e6caRsjD86xN+BsZ?= =?us-ascii?Q?lXfthUEOo7qYWu2GR2S5YGMctteI5AxjNG1ltl0Q+mkn2L82qBBDYqz0tXkT?= =?us-ascii?Q?gJuSLObITYdzypIII3XHwu7OPcRfCY/OiQmyWQUQCxLu/vgoZUAOPs6w8UuQ?= =?us-ascii?Q?LpTTWeydibq5eQTIAwRMfmayQcD07g9GTIsrsGJUG3+6LDohts3EODVL19pD?= =?us-ascii?Q?P1FR9YoqGDLyIgZW1M8EPmpakq7EXGa5sHN2VFHuhkAbGAh19/K7I+iPYMp4?= =?us-ascii?Q?KvNbo37OooPWPGmIoWMKwu/Sx6j7dht57dnY/q7bB6XuDwfb5ByzZ349QYJ1?= =?us-ascii?Q?1RlAYAJZ9iY5MmRbJ5qoiw7vqy+BwOGVujp/m6kbB7yQ76lYsombqWWywvqU?= =?us-ascii?Q?ETqIxem6sKjFFFJc1ZfvfJDrz8nlyWieRzCZBCKiLH7zCxVvqs07Tl2W/+2Q?= =?us-ascii?Q?47Gq8VNoA0haEZC7lI6oQzDfsNdgXMOIRyceR5Ep?= X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-Network-Message-Id: 354809b2-353d-4d45-cdd6-08dc11273593 X-MS-Exchange-CrossTenant-AuthSource: DS7PR12MB5744.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Jan 2024 15:25:28.1530 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: d9Ytg1KO4FXhwti17s7QqJluNo9eu9cxGh9R7yYLi1uiOPgvv8WqvL9XiBrd0sVP X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH3PR12MB8403 X-Stat-Signature: u846ecddsb6bdpiw554hugy8r11wfpws X-Rspamd-Server: rspam10 X-Rspamd-Queue-Id: 370DB40027 X-Rspam-User: X-HE-Tag: 1704813934-498280 X-HE-Meta: U2FsdGVkX19yJjH+p+qmkrqSGGrolehOgxgCiMcn9kTwJC8FQWyrctbg+IPsrxFUWT4IHAoSOjzxKLyTg1Kz4ch5mTEWX6OOvWMBS6T1e5jmjS0XHBlM2dbia5KzJY0BIrj1GbFgMjAAkXY/UfAji7CteiuaaYRTHygmAr9Fa+Znkq5x1z3QKwgw2ndCLN2/0qZmYShNq3Z74uh8TK83tDRiLzB1npKZpYO0XdVRQcYgFLsgjsO6ySSOZ09S9ilTVDZnhazFbRC6qFqNhES5yJ7J6OhQX2HOJgtVNo0LGzdnoLTYv0PuWJcs7CqLnijwIYesotbWoAUhDRfPrdxW1JFhX17s6M5oibL8WbyQIsvbAMusC+fk0Jd2ukfTaETy7h5R0UQQy2Xc3RGqTuKWMSetYPyEGLXrEDH7YCOSuZ1NZwJJhlJXX/3ZHqV7KUheakiCS/g6PTaKMZhK6JeZcNNLkYgfs8OiJCUCrgnucwKlXhRX59oFzKxHMMEpNBi9aim9BnqLcaPcatb4/by3j5xqavZhi0XmLyPelld/RM7oh+RNtBMBowdImtQJBIHu756CR2c9olH96gcycOa37V8UONq8i5ZYVS00qUEqeieZmJ2jqNFnrj98LF4hmaSwb5PfOG86wJAjtQVlWtwLtEBltqJd44P1dDSCjiupNTCFqiWQujlHuK2+oYHW1A1UXAD4Oo9bCCTTzYegfpefHc0vWbwLSNaatq1iMcfUFVNN1/kRHk3fQ2mhdvgvKvRU4v33O36XfL9kvwwQMNMJ9jD5LtfizMyRVKs0YyUNpGWbeNtV0eaicHcfY4PPZ26ozL7Ob4Nd9TjaFLjfVfDQZ0ZB5WXWWvmped8UPFRr3Amo10wus+KA7gnBUWIeT8EXHCyDi0MDx8OtSQiP0+grQsDwdrdX8OcK4IfeZ8MhcAx/QuNg67olQ8ENdCsBXNxLfbypupyxp3EA8QHwcHm TF8qUuG2 Y81idZjoHa5c0ZNogmM9ueQf/uBllhShwSKlGfXpZh2funrRNzeM9LeI2bBROWLP5k7FFq7qe5/ECH5DpDnnRY4tXgxuRrfEwSm/6JyU59QuJQvttZBEYJRpRB+obXa0NCOyUIL4dnzM4M1DsaVeQ+MS4DZqMnh6/rXB/dMyOswlocZOIPMtoYHLekCJvhCv+Gd/WYxqOAbOvA7UFNXLKrC+vIp5sFvfNyMPZMhr7Zjs2JqqtAq86SYwnG07j+Q+mqT2phJV1MgDLb2VKG2eu/ZffMM/ryl6NlqCIBx3lQb6TX7H8A4QBBv5YW9H07i8dy7Gjmbfic463N9TWc7StsZFVUDl+Noygc4+T/x1gu0cX088nhhYc/NUy4dtlwHDMpNfC1hrpCa1f+w3HIf3lC6qZCZ/buFXlMJMfwnLf+Zt+SobGRSkHTTrNmw== 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: --=_MailMate_D8F3586F-268A-4F9D-AEBD-409D4EB34F38_= Content-Type: text/plain Content-Transfer-Encoding: quoted-printable On 9 Jan 2024, at 10:18, Ryan Roberts wrote: > On 13/11/2023 17:01, Zi Yan wrote: >> From: Zi Yan >> >> Before, memory compaction only migrates order-0 folios and skips >0 or= der >> folios. This commit adds support for >0 order folio compaction by keep= ing >> isolated free pages at their original size without splitting them into= >> order-0 pages and using them directly during migration process. >> >> What is different from the prior implementation: >> 1. All isolated free pages are kept in a MAX_ORDER+1 array of page lis= ts, >> where each page list stores free pages in the same order. >> 2. All free pages are not post_alloc_hook() processed nor buddy pages,= >> although their orders are stored in first page's private like buddy= >> pages. >> 3. During migration, in new page allocation time (i.e., in >> compaction_alloc()), free pages are then processed by post_alloc_ho= ok(). >> When migration fails and a new page is returned (i.e., in >> compaction_free()), free pages are restored by reversing the >> post_alloc_hook() operations. >> >> Step 3 is done for a latter optimization that splitting and/or merging= free >> pages during compaction becomes easier. >> >> Signed-off-by: Zi Yan >> --- >> mm/compaction.c | 160 ++++++++++++++++++++++++++++++-----------------= - >> mm/internal.h | 7 ++- >> 2 files changed, 108 insertions(+), 59 deletions(-) >> >> diff --git a/mm/compaction.c b/mm/compaction.c >> index 5217dd35b493..ec6b5cc7e907 100644 >> --- a/mm/compaction.c >> +++ b/mm/compaction.c >> @@ -66,45 +66,64 @@ static inline void count_compact_events(enum vm_ev= ent_item item, long delta) >> #define COMPACTION_HPAGE_ORDER (PMD_SHIFT - PAGE_SHIFT) >> #endif >> >> -static unsigned long release_freepages(struct list_head *freelist) >> +static void init_page_list(struct page_list *p) >> { >> - struct page *page, *next; >> - unsigned long high_pfn =3D 0; >> - >> - list_for_each_entry_safe(page, next, freelist, lru) { >> - unsigned long pfn =3D page_to_pfn(page); >> - list_del(&page->lru); >> - __free_page(page); >> - if (pfn > high_pfn) >> - high_pfn =3D pfn; >> - } >> - >> - return high_pfn; >> + INIT_LIST_HEAD(&p->pages); >> + p->nr_pages =3D 0; >> } >> >> -static void split_map_pages(struct list_head *list) >> +static void split_map_pages(struct page_list *freepages) >> { >> unsigned int i, order, nr_pages; >> struct page *page, *next; >> LIST_HEAD(tmp_list); >> >> - list_for_each_entry_safe(page, next, list, lru) { >> - list_del(&page->lru); >> + for (order =3D 0; order <=3D MAX_ORDER; order++) { >> + freepages[order].nr_pages =3D 0; >> + >> + list_for_each_entry_safe(page, next, &freepages[order].pages, lru) = { >> + list_del(&page->lru); >> >> - order =3D page_private(page); >> - nr_pages =3D 1 << order; >> + nr_pages =3D 1 << order; >> >> - post_alloc_hook(page, order, __GFP_MOVABLE); >> - if (order) >> - split_page(page, order); >> + post_alloc_hook(page, order, __GFP_MOVABLE); >> + if (order) >> + split_page(page, order); >> >> - for (i =3D 0; i < nr_pages; i++) { >> - list_add(&page->lru, &tmp_list); >> - page++; >> + for (i =3D 0; i < nr_pages; i++) { >> + list_add(&page->lru, &tmp_list); >> + page++; >> + } >> + freepages[order].nr_pages +=3D nr_pages; >> } >> + list_splice(&tmp_list, &freepages[order].pages); > > I think this should be list_splice_init() since you are reusing tmp_lis= t in each > iteration of the outer loop? Right. Will fix it in the next version. Thanks. -- Best Regards, Yan, Zi --=_MailMate_D8F3586F-268A-4F9D-AEBD-409D4EB34F38_= Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename=signature.asc Content-Type: application/pgp-signature; name=signature.asc -----BEGIN PGP SIGNATURE----- iQJDBAEBCgAtFiEE6rR4j8RuQ2XmaZol4n+egRQHKFQFAmWdZWUPHHppeUBudmlk aWEuY29tAAoJEOJ/noEUByhUB4MQAIFN1hvUH6R1XG5YeE6NgFTOLYW+jEi+LB2H iY07Hn+5d9YlQei+iRmVqmGDa6+ZnI5El9Qf2bZc9LR1F622vBTUPvLGCO9cayG1 YgnB/E1JSH0RVO2rUsk0H/F8ddJpA0eLMHruPR4UdGmAFW7g61eK54A9WY/YDaau yLHIaM3eCX+vR2HR659sQ8H84/YB2NlsCKFK+jXSmYEvX8NIzjpDK7JE34thXsOS 5LOYSgkl2ZQf4ExZhj2V4tbkTcX2jalTm4upio6Oc9v3ezg4ijDMVsVQlwxUTsHU RFA61VmKrNxbN/bLIf/AmWiUeQxkBOA8hxGNc6yLxAg1L53ZFmTg10f2tfzfa/in 61AMyoHvqp1JF61gwUyrYfsYEU7SiWDg69fZJzmhlX/t7lembm4SZ5lRxYtPLJKI AhSjHSIIVW8wV9yeI8KjygweW2YH7zP3WWW5lIkdyILsvOFNGWWItv0la8Dsw/2D w7GgJ0HXVtk8gA5H/pf+OJIKlBcTEfnOhddcslO/ba/9esyZ8vMaKyFJhhw6C0Ay ApQgEPbduO+E0+EblheIka94kNKfXwznJ2j+LnDFHW2quvqi+rnOuH8HY9AYkAvc Dxj/ToYSv64H8ZLvnUXEsZKsze1L7yez9pnzDDeTH7T5hBfcAm5l6JB6SEqp8FQF bOvTV2Oa =Eay7 -----END PGP SIGNATURE----- --=_MailMate_D8F3586F-268A-4F9D-AEBD-409D4EB34F38_=--