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 7962EC47074 for ; Tue, 2 Jan 2024 19:45:39 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id CD68B6B010B; Tue, 2 Jan 2024 14:45:38 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id C5F696B010F; Tue, 2 Jan 2024 14:45:38 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id AB1A18D0006; Tue, 2 Jan 2024 14:45:38 -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 98EDE6B010B for ; Tue, 2 Jan 2024 14:45:38 -0500 (EST) Received: from smtpin05.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay05.hostedemail.com (Postfix) with ESMTP id 624294086D for ; Tue, 2 Jan 2024 19:45:38 +0000 (UTC) X-FDA: 81635400756.05.955B573 Received: from NAM10-DM6-obe.outbound.protection.outlook.com (mail-dm6nam10on2084.outbound.protection.outlook.com [40.107.93.84]) by imf07.hostedemail.com (Postfix) with ESMTP id A570C40002 for ; Tue, 2 Jan 2024 19:45:35 +0000 (UTC) Authentication-Results: imf07.hostedemail.com; dkim=pass header.d=memverge.com header.s=selector2 header.b=lWMXEvMl; dmarc=pass (policy=none) header.from=memverge.com; arc=pass ("microsoft.com:s=arcselector9901:i=1"); spf=pass (imf07.hostedemail.com: domain of gregory.price@memverge.com designates 40.107.93.84 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=1704224735; 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=yzubCsDBVqOU++etgznuujtNiVt1IyOkrSJerYlfspE=; b=TUrR0IMNjIDG7YR3UoNUCLxKK2cOIdsOuZcDjKLfh14O3/+q9w7dY/GfZ611F/KuSdlSVQ vZDnEh3Xe8JvNLYxVoz0CAmZBh8043Tvj0Bt8VCRi3C/RZkaFb6Vjep/aCuGDeSkubuPVB 6ToAL+CW6+x9IVBODIfsxEucHvMbGP0= ARC-Authentication-Results: i=2; imf07.hostedemail.com; dkim=pass header.d=memverge.com header.s=selector2 header.b=lWMXEvMl; dmarc=pass (policy=none) header.from=memverge.com; arc=pass ("microsoft.com:s=arcselector9901:i=1"); spf=pass (imf07.hostedemail.com: domain of gregory.price@memverge.com designates 40.107.93.84 as permitted sender) smtp.mailfrom=gregory.price@memverge.com ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1704224735; a=rsa-sha256; cv=pass; b=uo5AOCBflaH5GMcj6TxlAsdi3Xcm1UukUCRjDFT+DTSYyaWF1n8RCQ+ETOBa5m82E/5HZw X6ihjzBNVu2g/nAeq30k3Yh1UDKiq6FK2qf6RTkjA5h2tx3YSefp4bdMqLYcx3OVxASH34 af5OhiEJbfX7CeY0KxJjeBWQQs8VMtY= ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=heq+X1AflAAtE5DOPm6JKiAgS9+PhIO5yV1hEDBews8Hu15b1sVxh0keIBtEyRPn2LczyRmp4pDPuZom0NYMrnzQW2qMYPlalEBlJ/ddEAFwPtjczTkHX2ToAA5HQqAz1+DoNNlRU/tuBz8yiPoJOonNYzUVY5Cza9OtDFT3x5WWhIN+qfKR1JEq53fvqfVqLFtsaXJmBmclZupmagO4+HccRcuCPI7UIpHF3U25iG1m1+PIzSAhi19dBoL5i4xm292xJhJtfN8eIuwDaPL+QWdrQmj6Cru/h30bqqGr+fHa2tJbxdGE1/vDKqoTGG0+k2BwOyZtLJOX14oBQgD5PA== 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=yzubCsDBVqOU++etgznuujtNiVt1IyOkrSJerYlfspE=; b=nOFqP8wQqHdSKk1Rq4nF2Y/S3QzP8Bx06Fd3tXGhyUygETUC5Oif2aFeXzxmn+EKRGaVO3g25egfDgB4U+t88UjXTF+PG6vv5NE4bckLbjiuLBgv1MIw++viLVl454x0ecm9G7/789dUhCcvzXdsx304Ofp5QYvhlI+mMrPpog9theqc6U0TJZMK3GLjyEeHjTAVUMBRlI4r0zup0gSY/Y4XXIzxjINHmMDY2EDodfrP3S3BD9ZJUcnV06yi8TRlXFpeRNeo1bU7YFUpcg8zalbNkwFQUIR3DKp7LoT+D3Qc/+sQxcoT8OA/r+DSKe1p9Y+t//aV/YNPOoIuWnKWUw== 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=yzubCsDBVqOU++etgznuujtNiVt1IyOkrSJerYlfspE=; b=lWMXEvMl5DHcZOHMj+wX0/og3rC63sxX5VI3LiKJ2YS9DLJv6+KRhi6qqvAI4TqaYOSgfRVYDr1Y+Qf4JQxMonEJTQ6oaZ6dyaSOcFxHz94upmaku+l6QqQTe+J41F0JTPZPh9H2zfw4aB0kpbEclv6USAuNWSG0bSmkbobfzrU= Received: from SJ0PR17MB5512.namprd17.prod.outlook.com (2603:10b6:a03:394::19) by DM6PR17MB4060.namprd17.prod.outlook.com (2603:10b6:5:25f::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7135.25; Tue, 2 Jan 2024 19:45:32 +0000 Received: from SJ0PR17MB5512.namprd17.prod.outlook.com ([fe80::7a04:dc86:2799:2f15]) by SJ0PR17MB5512.namprd17.prod.outlook.com ([fe80::7a04:dc86:2799:2f15%4]) with mapi id 15.20.7135.023; Tue, 2 Jan 2024 19:45:32 +0000 Date: Tue, 2 Jan 2024 14:45:23 -0500 From: Gregory Price To: "Huang, Ying" Cc: Gregory Price , linux-mm@kvack.org, linux-doc@vger.kernel.org, linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org, linux-api@vger.kernel.org, x86@kernel.org, akpm@linux-foundation.org, arnd@arndb.de, tglx@linutronix.de, luto@kernel.org, mingo@redhat.com, bp@alien8.de, dave.hansen@linux.intel.com, hpa@zytor.com, mhocko@kernel.org, tj@kernel.org, corbet@lwn.net, rakie.kim@sk.com, hyeongtak.ji@sk.com, honggyu.kim@sk.com, vtavarespetr@micron.com, peterz@infradead.org, jgroves@micron.com, ravis.opensrc@micron.com, sthanneeru@micron.com, emirakhur@micron.com, Hasan.Maruf@amd.com, seungjun.ha@samsung.com Subject: Re: [PATCH v5 01/11] mm/mempolicy: implement the sysfs-based weighted_interleave interface Message-ID: References: <20231223181101.1954-1-gregory.price@memverge.com> <20231223181101.1954-2-gregory.price@memverge.com> <877cl0f8oo.fsf@yhuang6-desk2.ccr.corp.intel.com> <87h6jwdvxn.fsf@yhuang6-desk2.ccr.corp.intel.com> Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <87h6jwdvxn.fsf@yhuang6-desk2.ccr.corp.intel.com> X-ClientProxiedBy: BYAPR21CA0011.namprd21.prod.outlook.com (2603:10b6:a03:114::21) To SJ0PR17MB5512.namprd17.prod.outlook.com (2603:10b6:a03:394::19) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SJ0PR17MB5512:EE_|DM6PR17MB4060:EE_ X-MS-Office365-Filtering-Correlation-Id: 6cc98c70-005b-4a48-d878-08dc0bcb616b X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: zUbQT/xQOy+TjuAEDB4pxsoWY86pKl/zid0x2jmDzuNNAHRzsidsQ/FO+JaoeUgsNS3/f4FsNVUz74Zto2oHO0DAUPA1bPT/IT44nCByb5Ohs4mbLM1h/aekOTCVVXq0CDLZl8d1qlHA5MYBV6kUL3HWiZmb8j7/uLZ+Jtd7/JIeK/m/suf2ZdVhEfXGuuLmgBywRXxx//R7Nvl9Rf5ArkVZUEus96H7FlX5PzOy5LaV457pihewCG1yqG0measm51q71cwtH6GZTDoXnnU5H37LeqtZJvfh8EHwOQrJyMxHaUH7RTbp2ShCSOohmRxUuhVcf/vIwkgxscRts0MUVOv0ZM/DEFkUTLx3a+T9J4lztXM0H3BsUtvMNd2sIcLduXn7myhIe/+JmfsEzD7vyXZvo4EY0qsDlJ11VR0xqZAj0moZGnSWg5TPEQVDpaE5jvGAtM12HK/bF8w//6p7rmnkRWjSPTV09waNr46kiqz47u/UqMN2tO6Kt7hXtTfEHgaS45MNAcYRpu8QaSomS82urk1Jsl/vzzWVEv2Ca4An6KvEy66ExG+Fa0Sm/RxvQ1wyStWs9lIkiTe2SLs1XIRc0uc5pYqADsJTGk1/D4Vcxc4o4YAOwOu2g/iQpd3d 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)(366004)(39840400004)(136003)(346002)(376002)(230922051799003)(451199024)(186009)(64100799003)(1800799012)(6506007)(2616005)(26005)(6512007)(6666004)(4326008)(66946007)(7416002)(44832011)(5660300002)(7406005)(41300700001)(6486002)(2906002)(478600001)(6916009)(316002)(8936002)(8676002)(66476007)(66556008)(36756003)(86362001)(38100700002)(16393002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?Dszv8xCzOQhwtlo7ElG/fTL9dHY5aysUczdrBuphMI/tby7UqkiPXCnRNxLp?= =?us-ascii?Q?XC63RethZ4YRDIzC2QpwgWh4mVWF25mHrwIcm8X0u8Oc+ydUIHMtkQFYIhlX?= =?us-ascii?Q?v7isez2xbTQfh/avxCqus8hchmlRa3ltnXlZvcGdXQk1eTkyo+j99NgThneP?= =?us-ascii?Q?znXgf/AVSU9wvOWSsDaed7ENqK4+LLtvVevfXG+ekF8xl9767e99b/lhKuvM?= =?us-ascii?Q?QP02ktNLEPTJoef/yiL4Xl9ZiSyofKLuhkVK5mtJvYu/dhOGd2btt4rB6DvP?= =?us-ascii?Q?7vVeBNoyGa6wqXFJPoKKgwJi2NJmFnYvczn+ok97WqolNjpUMKPZW4DL44lo?= =?us-ascii?Q?QzEZqb9V02EZXE/p3aSJoOs2AjPJaDQz/3+gli39+tHfbIaXRi3oQEw56cO3?= =?us-ascii?Q?TQdKuIMwHsDYZHZXz6eXykzMDKm2ujyoTCAyz8dTd5g32mgEYtTCGQUNL0pK?= =?us-ascii?Q?We2yKXmRTmTHHe49aT90h5k6IE474IUwyBl+WoYK39Ak2xYHgxsrSxnmIr3b?= =?us-ascii?Q?Y48abXYGQeSZWwqNst1Fn7AeWxZOXIRumH8ujZJY/W7kd8z0Lx19Gt8bhzcP?= =?us-ascii?Q?kf1HTq5nxxho5clcZkvxoF1ykzU3lEkmL/ib61APm2XdnmUKTMy1g3j3dL4T?= =?us-ascii?Q?7LZQobvAVl/6Hay+ixOFs7UxjsmMcWdNpqAvkVo45kefhNLaPRcRRUp9dDuV?= =?us-ascii?Q?gkHMue8DRzoAFIyjjjU5R5YBGv2Tr6JDoz8ddkQEXY+6o3gDFw3/h3Yp/t21?= =?us-ascii?Q?R91yPgigj+AlSMUQ7/MEvfbqhYS/5e0iz0tJrMI0OXYWWhNLSEufqKfWswQ+?= =?us-ascii?Q?CGK8xXfp7JROnGj7hyDrB2KLkNdNWF+1ibVG/Q18FYHYU16KlfPQAD3p/4M3?= =?us-ascii?Q?InSj5ScydOSvGMnYNs28grQY2ouCrze0sgIOobvw5mYZwrRucsKnwN+6DspZ?= =?us-ascii?Q?HxI1qJxuKMfjU+Y0ClsjX/64pJHzXuimHpq7fHDunHJN70wO1vk6vLa5PqPS?= =?us-ascii?Q?rZsTeOahknyXQ2XfWMl86ifOh1wvh2EVdEbxj0t+y5siQr8Jh1lKCXwGc19e?= =?us-ascii?Q?ZdzEfik+rGJSVrT2Axz/LvKAC2Am0pP1t+NFWoMx7U7Wj8jv8iK4GSnuaRS9?= =?us-ascii?Q?rVyWpTNRZbjdDlF0jeEg27mI6uIlMzGmPxzGoHS0id7uwrM5fI/8/PK92rxI?= =?us-ascii?Q?onM2XZjYs0BU4MP9GqIUkzl+NleyYanrjwPZqD05fhc3KuCTpejwEz06UJd/?= =?us-ascii?Q?sx/BnJ/JnNhUopuOq/lq++qX+DPsX/R8F8Q5L6331nUXNROusYvBq1ic7iAV?= =?us-ascii?Q?1DWEdMbUhQ2tI6pLRrpE3pm0ctJdVyKrgoIpi3CqtC6LQXRBPopBY+DF/v25?= =?us-ascii?Q?uHx9qJmlDpO33KTsR5ajrM60+IxftGyALSilC3bJB5yk6JHgy70TfYfveHoc?= =?us-ascii?Q?JI03+M+xNNNai8VY8FJJUEGOwhj3mPEPcnwnvsIy7XG6op3nAQtJeEwAPZT5?= =?us-ascii?Q?p6LcbTpw78udYKauuzvEEr49pVQyfhp/xdwIj0yG21gOJ1b0BmkQPyt3SBun?= =?us-ascii?Q?qw9lfsnvzfGLPYJ27rYgrG/Iv4MsH6vnkTQprJ93D9MQJJzfoGtbt1DtVI20?= =?us-ascii?Q?pw=3D=3D?= X-OriginatorOrg: memverge.com X-MS-Exchange-CrossTenant-Network-Message-Id: 6cc98c70-005b-4a48-d878-08dc0bcb616b X-MS-Exchange-CrossTenant-AuthSource: SJ0PR17MB5512.namprd17.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Jan 2024 19:45:32.3082 (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: v5jOEnBaqtttK7BYwshopAijyeEK1b7vRIL9FfcYkrsdxujBJup5yI8QB2IQ/mDRUw+DxRz1mFa73ksYByQcpBYeiV2GpZGCSAz1s0ukpF4= X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR17MB4060 X-Rspam-User: X-Stat-Signature: 7b9gahjgttshttm1znkqdw9rdkqc7dum X-Rspamd-Server: rspam07 X-Rspamd-Queue-Id: A570C40002 X-HE-Tag: 1704224735-810841 X-HE-Meta: U2FsdGVkX19pmb0gt8WxE1dQs1qb/khr0T2AeE+xoJ1FfKJO4Maek97CtBVjfvQX05UGKF48VgRBLjHPXAUFhwJNs6WN8D30Ne2l65dSIvVBaFJZ1fFsX+806xshNJuk6NhjMHCBmBIY3OflJmqhxWApyyCrjVtBfjZzpmBbKdG1jNjgIphZ7tU36dVA8xEBdwJFX9AzlUs4LIMBhxrkEFvqOoYuD01J9GtjBCA4C0Cxq0BQipQi3r3bIjPDyClFWGJ3jOL3K7Pw20QdwfoSVtKU/83ZV6n6GtTuAeVolX1eVhJvqtdSO1vV48fYCbLjoa3zySZ8iOKrBFqDcMY8X24h6UWj7oBBodoNS5Oe/XNafA8b632B2GG0ycwbq03lSyhG9QFZP2XBZ2aDKSS3Yj7OcK/IjRSLNgkLkRuJpe2wEfvmcfWq6B9PPGacGHPkA3WgOOAsZy/QytgpQCpyexREYGljhUC1AXnkAxD/7jWXdRJFtjB6zhdisSbjKeqEWZNUmLxtIILt2uEtOZn+kJRXPYTkVRAt3nxNBlDUbaXKwdQa79nUsd/mBVfB4Pu7BUc+78Banx1q8BA7aUu4HqIRrPEELOu9jNamGOJsnrt9expd/5GD1ElX/newz192jHklbLqpr4Orus7BXEqZVw/rUAh9DOhiRst61jBNoN7iTSOjMq8zcVjqVidF5pXLsyVyRguJHeLskbby4KyJPK8eoK5aIMm/KktZnLKVT2TiH2I2nqlbOwfbFt5UTMnJ+0VU9LwkbKpzmJAl6jLfDNbHQpC1hQUni5gfwZ/aG6X7hGwhsp0ctgFaKFXIkD9WslqbUprPTJEALLyZh5Qj702BqNW7CXOJQAdwnMAEPsOHcdx8SX/Z92++cAxY+uJYuliN+HwK7SlUqO/jWuYGZSSAiJ1QSdFMLH+twtP+9NOHE7OTIO1Cvnfi/GQNoHzZfwgzLwAVx67D2KzI2ra 7vLGybTp jEOpVphUqXAvPAWhmGf4E+Dfyw3QWltbD44tnSJKK1nl2H2bPQpZdO+IW6C+KI+C1IGjKk6S1iglBa17WMKAh6YHtqQBE7wMEyqYv97NTGgKsXRYJgECqnaRYFX760Z52Hy9eILHG8VSh0jwIOUkEDJEB91LTTvCGZh9ItOF4B8YSjpOlDpGRdJap2p+9jEYf4Kvk+MH21hE+Nft5zRXgf9KJVLoA3rJQ1xFRWGSLt9Q4Z/xCRl9Xw7VrXUsxpbenER1R6OnaSrYuBdOnUALEH/zJxX3ntiMMLaSNK90Ukhfu6R1U2aVY5tEWzI21Vdbzf7X/vyvoTcc+1ca7R/tm5tSdn+pxYAheBAEOXNcxu0FlQHgLik8OPpi8zoi1Ey4vP822To0BHVdecjk= 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 Tue, Jan 02, 2024 at 03:41:08PM +0800, Huang, Ying wrote: > Gregory Price writes: > > That is, if we use "1" as default weight, we need to change weights of > nodes frequently because we haven't a "base" weight. The best candidate > base weight is the weight of DRAM node. For example, if we set the > default weight of DRAM node to be "16" and use that as the base weight, > we don't need to change it in most cases. The weight of other nodes can > be set according to the ratio of its memory bandwidth to that of DRAM. > > This makes it easy to set the default weight via HMAT/CDAT too. > > What do you think about that? > You're getting a bit ahead of the patch set. There is "what is a reasonable default weight" and "what is the minumum functionality". The minimum functionality is everything receiving a default weight of 1, such that weighted interleave's behavior defaults to round-robin interleave. This gets the system off the ground. We can then expose an internal interface to drivers for them to set the default weight to some reasonable number during system and device initialization. The question at that point is what system is responsible for setting the default weights... node? cxl? anything? What happens on hotplug? etc. That seems outside the scope of this patch set. If you want me to add the default_iw_table with special value 0 denoting "use default" at each layer, I can do that. The basic change is this snippet: ``` if (pol->flags & MPOL_F_GWEIGHT) pol_weights = iw_table; else pol_weights = pol->wil.weights; for_each_node_mask(nid, nodemask) { weight = pol_weights[nid]; weight_total += weight; weights[nid] = weight; } ``` changes to: ``` for_each_node_mask(nid, nodemask) { weight = pol->wil.weights[node] if (!weight) weight = iw_table[node] if (!weight) weight = default_iw_table[node] weight_total += weight; weights[nid] = weight } ``` It's a bit ugly, but it allows a 0 value to represent "use default", and default_iw_table just ends up being initialized to `1` for now. I think it also allows MPOL_F_GWEIGHT to be eliminated. ~Gregory