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 E421EC47422 for ; Wed, 17 Jan 2024 05:34:41 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 6D24A6B00C3; Wed, 17 Jan 2024 00:34:41 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 65B156B00C5; Wed, 17 Jan 2024 00:34:41 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 4ACE16B00C6; Wed, 17 Jan 2024 00:34:41 -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 357C06B00C3 for ; Wed, 17 Jan 2024 00:34:41 -0500 (EST) Received: from smtpin12.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay02.hostedemail.com (Postfix) with ESMTP id EFBD91206BB for ; Wed, 17 Jan 2024 05:34:40 +0000 (UTC) X-FDA: 81687688320.12.0676636 Received: from NAM02-BN1-obe.outbound.protection.outlook.com (mail-bn1nam02on2041.outbound.protection.outlook.com [40.107.212.41]) by imf12.hostedemail.com (Postfix) with ESMTP id 35D0640005 for ; Wed, 17 Jan 2024 05:34:38 +0000 (UTC) Authentication-Results: imf12.hostedemail.com; dkim=pass header.d=memverge.com header.s=selector2 header.b=Oihdwk+5; dmarc=pass (policy=none) header.from=memverge.com; arc=pass ("microsoft.com:s=arcselector9901:i=1"); spf=pass (imf12.hostedemail.com: domain of gregory.price@memverge.com designates 40.107.212.41 as permitted sender) smtp.mailfrom=gregory.price@memverge.com ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1705469678; 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=5ofhxTBhKh/2c3ubigEju8FflxDMZT8Wkc71mwgQUMY=; b=C1xT+o9FBB5LNfv82l7Lp6k+ghs7pck1TUeK4DGx6Ns+B8T1QgsGb/BvGx2bptAyjvJx+W B8ycbz5RqHEexm1w4z+cOpFOfTJMV3986ydYN5AlGSXIo3W7eZcCa4X/pHE1Z8mAFgmWmP AAMGjHwkPAVQfR8EqkR3YYFMtzOC4KQ= ARC-Authentication-Results: i=2; imf12.hostedemail.com; dkim=pass header.d=memverge.com header.s=selector2 header.b=Oihdwk+5; dmarc=pass (policy=none) header.from=memverge.com; arc=pass ("microsoft.com:s=arcselector9901:i=1"); spf=pass (imf12.hostedemail.com: domain of gregory.price@memverge.com designates 40.107.212.41 as permitted sender) smtp.mailfrom=gregory.price@memverge.com ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1705469678; a=rsa-sha256; cv=pass; b=ZEn6A0afqn7kD8lSuk+zXOAM+q5BNwftU7UNH2mWHJWAr3MquMx5CXTm/nuLdwxMxhUjLJ jYxOdRxD/9EbYEbhu4yOETXxx1sNX1OUcPyYkMIsVLgU3+khuBayjoWTWKUJb+8OYlO8PS vCfus7iCT9dFgFfAXR0lE//TFoC1dI4= ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=lenTI7w6mzwljz5rjAp+Pm5Yu09oDFRiBzfhRk1IT1HoAuZinmqyYtMlKIGFV1EhTA8dyeDzZ4Xglz3s21FCQy+z8ySEmO/G2N/s9qBhRckF3S1s+y9wsLbsx1+/ki9rK9+WxdhXG5S7c6f8NTfUWUIKXL2s0SNqoFSmr5Ekt2OkripqhbgK1LQfcaFRnpRMO8OaPl5VpLClu27YWeeLHsBZpbQ00nmWef3nwEO4ocLD+91BHespj++ZjzsKq7efZkkeowLzENueufqYcGfq3RAF2/Hdp/3ybegf7xdBg3cm5xAtBBRvSUDYjpB1oWO+s9l1TgEGBj5hfd8eL8W+1Q== 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=5ofhxTBhKh/2c3ubigEju8FflxDMZT8Wkc71mwgQUMY=; b=GQlf9R/rw7xnWAvjA3YFBlY/Yzc6vsmltVD0HD/tC0GrrvGQGaY6kyP35PJOkAPJRruR6rXkZWjOuEjw+YoUby57/P53QyVo7tOhqF3wr7JbbR/e6CNkMSwtQP0SQVzTjG8G3kuICeLaYP0bQS/phzj0z8VQtehxePS08TyaaJRpIMN+cNg2+y752QqxvtHlsv0GOCZq5ATEgRcAgQLW8sW46ttn6cL5v5a2TEKQa9pgiH03EzdxIovBoRbX5/yE3rzAmn/i9s8/XcfKX/ufZMP+z9dvBOACV6Zdgfxr6rYFEzdVDwPN2dO/KGFAs3zyy514AAQOLS1Rg+axQz61ag== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=memverge.com; dmarc=pass action=none header.from=memverge.com; dkim=pass header.d=memverge.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=memverge.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=5ofhxTBhKh/2c3ubigEju8FflxDMZT8Wkc71mwgQUMY=; b=Oihdwk+5GczWLhSrTAf62NUb3eWmv+cwrGtwzcyDHQru4KgcKNgVj4Z8jY4UGRUygUlzCo9LMj2JEWTiHKw27l1grHw/wBUnwlorOVHJXkD21aUaDBLS2FCKDLfyuagztxGbCxdENhyBjU2As3J+WRBanBXygbfMnoXiJabd3wc= Received: from SJ0PR17MB5512.namprd17.prod.outlook.com (2603:10b6:a03:394::19) by LV8PR17MB7136.namprd17.prod.outlook.com (2603:10b6:408:18e::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7181.23; Wed, 17 Jan 2024 05:34:35 +0000 Received: from SJ0PR17MB5512.namprd17.prod.outlook.com ([fe80::7a04:dc86:2799:2f15]) by SJ0PR17MB5512.namprd17.prod.outlook.com ([fe80::7a04:dc86:2799:2f15%5]) with mapi id 15.20.7181.027; Wed, 17 Jan 2024 05:34:35 +0000 Date: Wed, 17 Jan 2024 00:34:30 -0500 From: Gregory Price To: "Huang, Ying" Cc: Gregory Price , linux-mm@kvack.org, linux-kernel@vger.kernel.org, linux-doc@vger.kernel.org, linux-fsdevel@vger.kernel.org, linux-api@vger.kernel.org, corbet@lwn.net, akpm@linux-foundation.org, honggyu.kim@sk.com, rakie.kim@sk.com, hyeongtak.ji@sk.com, mhocko@kernel.org, vtavarespetr@micron.com, jgroves@micron.com, ravis.opensrc@micron.com, sthanneeru@micron.com, emirakhur@micron.com, Hasan.Maruf@amd.com, seungjun.ha@samsung.com, hannes@cmpxchg.org, dan.j.williams@intel.com, Srinivasulu Thanneeru Subject: Re: [PATCH 3/3] mm/mempolicy: introduce MPOL_WEIGHTED_INTERLEAVE for weighted interleaving Message-ID: References: <20240112210834.8035-1-gregory.price@memverge.com> <20240112210834.8035-4-gregory.price@memverge.com> <87bk9n172k.fsf@yhuang6-desk2.ccr.corp.intel.com> Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <87bk9n172k.fsf@yhuang6-desk2.ccr.corp.intel.com> X-ClientProxiedBy: PH7PR17CA0002.namprd17.prod.outlook.com (2603:10b6:510:324::22) To SJ0PR17MB5512.namprd17.prod.outlook.com (2603:10b6:a03:394::19) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SJ0PR17MB5512:EE_|LV8PR17MB7136:EE_ X-MS-Office365-Filtering-Correlation-Id: 2a242b1b-7932-42d3-d387-08dc171dfd2c X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: xA3W3aVtXyY0ubDLojiLBjfriOcmi48tLMUYciaKwykMqzpp5mncdN8Jh72Q+plkBL8zaumV7EAC4Xm3Z5DEk6L/tCnS6zZK8QYOZPVSa2m0582WB2Kd0sdS+zy8onXC+TBdCXKRwfXMCDTxDTgpl/IW/zBMlcNLEREaeFvUu4WUCzOYBc7pfNxjnNmyNgbjLXySBe7Me5Gz3wIqxX1GVNtg3m7eIiIxIF3afQiUiXHMiJLzMyRpsOPP7SWsZKGPYMdrKy6aB2x+TLn2hhLhakyx8uXOEzCIAJJ3dqxk+E+eFjhVICy/YV5NdxqRjHVTaLg8VjAhH8vIslKdfCXFCLbsN0vy7A7VsXPugsUdS8kQnB4Grc6dbo54KUBavH3cffVUJJ59fn8Elf4KAKdSJwLng/48KlyhhbMtuvFnFcDpRmnNdbYU+HiH74YuxSdpZEeA4Z6rLX7/KijCi8v13RQobico5IznqpEJEQ/TQEafvk8AHGQXMZZ9rzPzQzwgfUQerfXsvXgvA/2zLnsEm+JSiZPNZPc1F6mAQybzgoYOMK1oP+GVmfbiwvO+3Fq7hgrOE1g1rDrSocfN5BHijRv+bZmLJ0KZtJVzSdHnE9nbEtjx07NOyFUdga/y55up X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SJ0PR17MB5512.namprd17.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(396003)(376002)(39840400004)(346002)(136003)(366004)(230922051799003)(1800799012)(186009)(451199024)(64100799003)(86362001)(38100700002)(26005)(36756003)(2616005)(83380400001)(6666004)(6512007)(6506007)(66556008)(6916009)(316002)(6486002)(66476007)(54906003)(66946007)(5660300002)(2906002)(44832011)(8676002)(7416002)(4326008)(41300700001)(478600001)(8936002)(16393002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?cpHPWQqch53Mq7C0Tb2p7t4G0BxCv1FIgRxSvVvKSSvyTOwyGStdpcHHSxmu?= =?us-ascii?Q?rv3l6QiC5yMEnJM8mcdz220a4sWrhsK1ILtpeIGzFyZeaANXYhyF15xJTHVk?= =?us-ascii?Q?/i/wXuMqoiGU172buUl7eFsbMnC+Ka5F3lKW/VGAxJf417xHin1Fcwy3MwfH?= =?us-ascii?Q?vJb82hnySk26i2HE1VA06QIDPld3XNFpuIHgjuVQNB8KHdtwyj8QullUAHyD?= =?us-ascii?Q?OLMm5OOf9ZjVxElnzUWH2BVID/qlgN2pMPYhh7wxF2L2S+Cl38wvL8+jFFzP?= =?us-ascii?Q?6NN4Yg70IjUeiaY7KyMbOq1uOfr9QBtM65LwEx6tQyPxzX5Gi8xOMbgFCvj5?= =?us-ascii?Q?uQK9PbKST9KgbZisItiVOhLkDVj3iyCYSXGLAdUZDI3hvNafiSp7XeE9f56r?= =?us-ascii?Q?pDYsWHgr9lS51k4UA7mbp1PVM490gndpgD80iClLj/o4LFqTASFhknsnzLCU?= =?us-ascii?Q?qDwFSBmAGpCcpvnIHfVxJnr0sPX1nqJk2BCDavSE6myKFEBPL/SyXWVt7CGb?= =?us-ascii?Q?O2mja3ot1sZVOZxsjF0p6WZwV/uzO2cU/Bfi+SS1Jk/glp1NDtOS2EAdRr9Y?= =?us-ascii?Q?guAZLlSy+jJWxYQvbVHspWhYOcW5nVJhYuX8zhF5HAOuwG0hzOMMQ21/2pie?= =?us-ascii?Q?UjZ4ZWBiRVAEIewSyOqy8o+R3JO/gx+4Z8rWa5udBpNCOZVDIkvWf2lTUS+R?= =?us-ascii?Q?cUQ5ABYVP20Tt5tS1xNoaPlWHX3FB/GfUchSl17xPsaaTka7AEx9RGX+RobT?= =?us-ascii?Q?NDzBtQcbOdE3yq/RVCqMMjxX18LJfSOmDtOEa3iFIxohH1E11UXdYxyszGqJ?= =?us-ascii?Q?k9mUSoH/rJXUmXDBPwkPCEZe7cz1SrSkJ2PIBTf8GBsEvvSXZOoisXsWmv9+?= =?us-ascii?Q?ymh4u4qT/QmrQ/Bw5KWzUDYgc4rku9tyUSSKkjTCW2UEqnq8j3ip4Wk8u43J?= =?us-ascii?Q?KqRRKUeZBpQvPb6vevkYssK6+cy1xxzgBiQeaoaTJ8PcfSHxaZIDf5m2Li5f?= =?us-ascii?Q?qQOODXTjm2Lq38rBzLB5R8hZplxbAKjKT4CW4T8EG3oXI/pqjOJ7rxMaCTyS?= =?us-ascii?Q?vycqnKh/kQLJK0cdWfAAFnXcSY53exp4OCfD/02zuhyOb8Vkbfhd6IGyqFr7?= =?us-ascii?Q?WLIYZhd6/rCrTLGW5zz0hDI6s/1+6dF3sgP+Kinep5wBzZMxs9vSuUDhNML6?= =?us-ascii?Q?gc2WgNRJUlhF+c94yTsj/Eb1HONlAcRR14IiIhqRJ8RSE8+BnCSn30OvAvKS?= =?us-ascii?Q?x4fJG3psUJmOTAyrYQUxilkUqaRbLjMyrn7EMG30fsdgFdg4sS3jl3oa6ues?= =?us-ascii?Q?aZn8ay092DYb3fDRlWFy/GVN4gFn54CbviN1qw+5HNY2S22+l+Jct4+VTrlE?= =?us-ascii?Q?GCFEsuZeHtLuZXZs0/c1tjJfHxOYHFE24a7P3remK523FhaNfKddQiMnKt2O?= =?us-ascii?Q?M5WHFy2jEWnLeB3i7hDOGr+87+gNHiIFHjvqQDe0rt3++luLDmWiUTFAGmP1?= =?us-ascii?Q?Md3oxyXqzQ052kZd5vBp0u2U1ggM5+XOOJwMN9it4wvXHo5hEvq/eyadKknY?= =?us-ascii?Q?78O4RfT4fqygHfv2tNo1xvTK23Nd6Hk2OBIh9ThB54rdOCxgCLuPbAyN0nEs?= =?us-ascii?Q?uQ=3D=3D?= X-OriginatorOrg: memverge.com X-MS-Exchange-CrossTenant-Network-Message-Id: 2a242b1b-7932-42d3-d387-08dc171dfd2c X-MS-Exchange-CrossTenant-AuthSource: SJ0PR17MB5512.namprd17.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Jan 2024 05:34:35.0188 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 5c90cb59-37e7-4c81-9c07-00473d5fb682 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: PWVH8ELzzRkQFjRYJ8JQCv3LmSJbcktQnRvLXDivYHXXO+0DTUb5UD9BTR5JU3eNyX1uKII2+1KYUjt2A9CNlUofQ+P0Pka0AZn1FgLWe2U= X-MS-Exchange-Transport-CrossTenantHeadersStamped: LV8PR17MB7136 X-Rspam-User: X-Rspamd-Server: rspam12 X-Rspamd-Queue-Id: 35D0640005 X-Stat-Signature: m1uffzq6pdbnmjx3uzk3qff3kjy73grb X-HE-Tag: 1705469678-77412 X-HE-Meta: U2FsdGVkX19OaOBY5P9Er/xLc/NCow8ShHKK4Rr1yfT3HDlEghruogz0CVcMkBhHyURV8m4Cux0vfYLMrMXze+UaHulVZveTwb/IBqfgh/QOWdvsB81VFBltI1PoZDeU5urctBbeYjI0EjIFQi6Nv0v3LddrpjrkXnHMIX9qipAbecor+TRBzgU/Pl+Zvz3XGudzJyD8/ku3pvBUF5UZs3uyJ8vjKEUGHC7BrbLNxIYtC92Fogi74QR7lVKpB58GG0Voy026KGwdu0N1liu0W26h4ZEWzjoYHh6ubGzV5bQ2sxGjR7pRCwWlyaHvTQRuQYgzGgR4yjJK9YmBm4OnCRuq/GEzy9SLKuhi2y+C/oO/Wh9+clstcbzUQD4ngm8UyO9ss5bI6Whv3SKATeppthOeKMYY6tEpQsTJS2OfWr7lnGLkTfBbtWF2OTSgmhadY9T5CUO2UY0Mm8C3k9nVUlr0j17M0W/gsk2LMT7EK2fUAVj4ywJD7Gcteiy45jUWYiRlPcuE07Cfp28XAUtq6vbyyvElywBlpcvyy6uLw853HdWd7nuTESf2bvEtgHBBiO945OJQfK+A2TQqxN/Jm2y+y7JXoxU7BcN8nUV6fqmxCgWvlXwL7K25jlmV5SrvNlAqFDVzILEwx+O6hxHhRHh8ATJUGcLvL6+mUmN9D+B3vjC2+pHQxx7kRlYguJbK74tt0TxOI10jvGnOIz0J3LYV4leE4svVyfpFuBIl/A8tGfxNdvuiq1aqfOeEAnWyKxW/6tN2fnYvixPL3/I0ax6bPvuXgb8PhSy+A25sn7paGKjXOqPiwJiULwBpMjyM+eZ3b+6c4tEMe+saltV1vqEeARfND3xoUrqNzABwv0IfIlFvSDkUinMQjoXX3x+qsZsmQnemhC++Pu5b3rUKpFj9PC9hORUagd/vYx4Yd+BeRBi8iZkdk4W9BdszlIoK/D/Sc/RTG92jxj02olJ 0c23xYOI rEoUXNcu6cZYf+WeDGkXvwpQT/K8GyiMke30mWgRZaoQUOLS+4rFKTGKXKV0k30L9Ji54dBviKuOiTiMOriBvgCKyM+qOcwVxiLd/SLvAGplMgF2UDr1iMjW+b9/5uS2MS8h5bmuEts/Y/DJOMIjwdKIWBOIKz4TYIYgSOQmoos62CpKF6UhP819lNTsY3ZrvmdG1c452iSCIuf/StgOU3enaBWhzDhkjEpcyyn+hNeaCHXGrnNZpWVaDNJXAHU0emrQZU+v0WxtMbb3E6u2B0vAggO1tWDQnrUeJ2boFqA8Wban67fc5D6UeVjKFYfKIRp8OjGP9e368yqGFHzcxT07O6N3odrVzFn1xm21xFsVIlz5QTDWBh7HxLg== 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: On Mon, Jan 15, 2024 at 01:47:31PM +0800, Huang, Ying wrote: > Gregory Price writes: > > > + /* Continue allocating from most recent node and adjust the nr_pages */ > > + if (pol->wil.cur_weight) { > > + node = next_node_in(me->il_prev, nodes); > > + node_pages = pol->wil.cur_weight; > > + if (node_pages > rem_pages) > > + node_pages = rem_pages; > > + nr_allocated = __alloc_pages_bulk(gfp, node, NULL, node_pages, > > + NULL, page_array); ... snip ... > > + if (delta > weight) { > > + node_pages += weight; > > + delta -= weight; > > + } else { > > + node_pages += delta; > > + delta = 0; > > + } > > + } > > + nr_allocated = __alloc_pages_bulk(gfp, node, NULL, node_pages, > > + NULL, page_array); > > Should we check nr_allocated here? Allocation may fail anyway. > I thought about this briefly in both situations. If you look at alloc_pages_bulk_array_interleave(), it does not fail if __alloc_pages_bulk() fails, instead it continues and attempts to allocate from the remaining nodes. Presumably, this is because the caller of the bulk allocator can accept a partial-failure and will go ahead and allocate the remaining pages on an extra slow path. Since alloc_pages_bulk_array_interleave() appears to be capable of failing in the exact same way, I considered this safe. > > + if (pol->mode == MPOL_WEIGHTED_INTERLEAVE) > > + return alloc_pages_bulk_array_weighted_interleave(gfp, pol, > > + nr_pages, > > + page_array); > > + > > Just nit-pick, may be better to be > > return alloc_pages_bulk_array_weighted_interleave( > gfp, pol, nr_pages, page_array); > Wasn't sure on style when names get this long lol, will make the change :] Probably v2 thursday or friday Regards ~Gregory