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 5F357C5478C for ; Tue, 27 Feb 2024 06:12:08 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id A028B6B027D; Tue, 27 Feb 2024 01:12:07 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 9B24E6B027E; Tue, 27 Feb 2024 01:12:07 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 8538F6B027F; Tue, 27 Feb 2024 01:12:07 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0010.hostedemail.com [216.40.44.10]) by kanga.kvack.org (Postfix) with ESMTP id 771876B027D for ; Tue, 27 Feb 2024 01:12:07 -0500 (EST) Received: from smtpin27.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay07.hostedemail.com (Postfix) with ESMTP id 163A0160A8C for ; Tue, 27 Feb 2024 06:12:07 +0000 (UTC) X-FDA: 81836563494.27.CE53CA9 Received: from NAM12-MW2-obe.outbound.protection.outlook.com (mail-mw2nam12on2127.outbound.protection.outlook.com [40.107.244.127]) by imf13.hostedemail.com (Postfix) with ESMTP id 835B420009 for ; Tue, 27 Feb 2024 06:12:04 +0000 (UTC) Authentication-Results: imf13.hostedemail.com; dkim=pass header.d=memverge.com header.s=selector2 header.b=eDKdOxs1; dmarc=pass (policy=none) header.from=memverge.com; spf=pass (imf13.hostedemail.com: domain of gregory.price@memverge.com designates 40.107.244.127 as permitted sender) smtp.mailfrom=gregory.price@memverge.com; arc=pass ("microsoft.com:s=arcselector9901:i=1") ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1709014324; 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=pi6sygn0RqryY8ZMO1MtMPqq/5xqrSIIfFT6smWrcQo=; b=EysArGP/ahLyIIk995vbu/rAVDn3RCKr/2Sn28rWySJA0Pd89PycOm3TAuseUOwSCPCRJz PK4MfqO58eVvh1D4FwHbro6i8qNnrr8oygnPN0wtmrsC7/bcnNcTt3FvMRDXqi5geTiu56 DlyakYmXPCqDXX8TwnMTpmueBA5nwYY= ARC-Authentication-Results: i=2; imf13.hostedemail.com; dkim=pass header.d=memverge.com header.s=selector2 header.b=eDKdOxs1; dmarc=pass (policy=none) header.from=memverge.com; spf=pass (imf13.hostedemail.com: domain of gregory.price@memverge.com designates 40.107.244.127 as permitted sender) smtp.mailfrom=gregory.price@memverge.com; arc=pass ("microsoft.com:s=arcselector9901:i=1") ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1709014324; a=rsa-sha256; cv=pass; b=ZT8l/eY5TC8GDV6q21cbofK1qwusb+jdoNqd5whIXzGxB6G2Jmy23LAfYoHYn08OsiYisc jCM1IVcHspOCl+gp+FgtcDbQ/Mxd1VtAg0G8vN4KSlk8/pfYf9QntFJCEFZVl+A4j4jcI7 xEYLTV4PI1UUt7qpLZVxGfSp9u1Ax88= ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=W+z96wdQlGYUx2IIx+CokJytUls0s5FP48mi8mCYWeHbNt069ANDoKlQdWHvxcRM8J0kclE67v9RWnr0Qk5im1aCjetbv2sKP+1eZQ+Xa6XoVDdeITS0hfB7k03/StZakdeEEmoEPdcRo3g6v8GL3FAgovtKPcIxCf1f4kLtU4l48gQecTkLhDvbuzCFierjcL63tO11ccDirAdyz/28Ea/kV7+/LFBbFr8PakmU251tlD9yWCFusF7ipPxk750MrzbnW48wS6MMR7KjM5VFOFUPJ2qEkHNFM77IA/lsTokAKWo9o99WPLEqXLKjBqtzkyThNB76owPx9Zwd43G+Tg== 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=pi6sygn0RqryY8ZMO1MtMPqq/5xqrSIIfFT6smWrcQo=; b=IXpdBr0yTdy9uAH3RvrvfxyoTMETMwyehKkwxfVdpgNZjfR/EnoQyROfRtQrjDVDYr7tDeoGwRpGpYebD2Xt1td1XLyDv5psZFuQS+mmkLLU62iW0r6JdMfEE0FlrdqbvNekBr1gnFQTY979r+4QOgK1WFowddMbZ3RqCri1d1PEB7T0zEyMMLCeIxN5EScaRRcQe5wboS2lHIfVI3APJkSJtQ2EnQ8ZMivxksnTNvt94p0ZcUOBzF4tTEzZGNtcCi8kUYx7ByKfzySLyB8n/8V0Lrtq3sdkgBtIOc4VZRKliQLKQ5+KDz7KpErP/8ipFOpD3IWZqUioaUzye3sCOQ== 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=pi6sygn0RqryY8ZMO1MtMPqq/5xqrSIIfFT6smWrcQo=; b=eDKdOxs1p/55agm0qOsrM7uSHK8ZVQeAIoRQQwIeQC2xNMs2pTMbM6jld97LrPT/8f2fjnn6fv/L0B6lbhWmmZUQU0fpgf3KZe0q7Qj2rd9PK3OqPwtMo36aUxLOPmB66kKdArikvSKGYdPT+m+gNGjeBFyykVK+WWr5G/ihAFI= Received: from SJ0PR17MB5512.namprd17.prod.outlook.com (2603:10b6:a03:394::19) by DM4PR17MB6246.namprd17.prod.outlook.com (2603:10b6:8:111::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7316.36; Tue, 27 Feb 2024 06:12:00 +0000 Received: from SJ0PR17MB5512.namprd17.prod.outlook.com ([fe80::6903:7860:581e:4468]) by SJ0PR17MB5512.namprd17.prod.outlook.com ([fe80::6903:7860:581e:4468%6]) with mapi id 15.20.7316.023; Tue, 27 Feb 2024 06:12:00 +0000 Date: Tue, 27 Feb 2024 01:11:50 -0500 From: Gregory Price To: "Huang, Ying" Cc: Gregory Price , linux-mm@kvack.org, linux-kernel@vger.kernel.org, hannes@cmpxchg.org, dan.j.williams@intel.com, dave.jiang@intel.com Subject: Re: [RFC 1/1] mm/mempolicy: introduce system default interleave weights Message-ID: References: <20240220202529.2365-1-gregory.price@memverge.com> <20240220202529.2365-2-gregory.price@memverge.com> <87wmqxht4c.fsf@yhuang6-desk2.ccr.corp.intel.com> <87sf1jh7es.fsf@yhuang6-desk2.ccr.corp.intel.com> <87edcyeo78.fsf@yhuang6-desk2.ccr.corp.intel.com> <87a5nme9c1.fsf@yhuang6-desk2.ccr.corp.intel.com> Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <87a5nme9c1.fsf@yhuang6-desk2.ccr.corp.intel.com> X-ClientProxiedBy: SJ0PR13CA0240.namprd13.prod.outlook.com (2603:10b6:a03:2c1::35) To SJ0PR17MB5512.namprd17.prod.outlook.com (2603:10b6:a03:394::19) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SJ0PR17MB5512:EE_|DM4PR17MB6246:EE_ X-MS-Office365-Filtering-Correlation-Id: e7508887-b014-4ee6-ad7c-08dc375b028f X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: gf85sEdXwa9s9EoaVyv0NWrffH9WHn2pnDIcQlZp+49JJvLf8QzwIY0kMUTDFzFJxrG19zpYZCzk0fG8laNW8RJHI9qKF1k9QsZnecNPjhSv63a6QWD+3j0vSzFMIhwdGLK3ZRK1RUdBuprzH7Mb5EDa/cjuqCDc90yz6mNlUVsogKaYxDbaaPo7sb+TRSiviyN0fDDhDPXnuWCG+vmylNLVxMoGvJdiNZqIIOO63AZUna2whjqYSIw0g8s7+jGGsMvhSfQQw+4lRVxb7+SxfOPOfGgcBDx8Lj8mOA8TPKhKOOZpPKWJRyjelbr4hP4AgjVm68DwHS5IG3C4dG4BYsWAab//kio2qryNTBPoSm2xKIlSO6irTRpTnwGNT+r8TGxhzY4fp2YIHp6lix7zupVSjyDlnQvOPr0OXcGU1Cg1pS+tbVxt8KmJTKu23NzuV5di5njmPzqx/CTb+m401g7OeXL7IBRvAy9ojxzgDmlxlAUb7vchF4aL1NTGSv8FbfjI69Aiw1x82H6lMoAm11zrDsKQM0NjsWwLzyvoHpc09y7Crbn2gT8HKWC19bcL18v9Un6siU8KCxw0BwBOqJHiMSZ3LAP3Nz1sJTPUNef1AqHwjGjRxcCiDYog3Z/QJ8nTX4X624nzCq4RYm7Bpw== 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);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?kfmvDleHfAyT6XDjnPM6YJupn/3AoCxfPbTqdbDJM1DvpKRfuGsP4elrp4RZ?= =?us-ascii?Q?iZ3VqGF0MW9wqZvcWY71kSGnJ5Ysp9Hk2jA+slvDklwf9Z7NDHH5PG5VZWWU?= =?us-ascii?Q?qxeGYrURbAV/cNUJQhxNN1NKOrzIcEgNZ4/cDW/c1EnwnxOnJqBn16hRD36R?= =?us-ascii?Q?W5JZb5ZallItNiPtjwXRhPt+a9Ahl47iGZNhcKpPS+4VYjIaKyqBdr0baQRI?= =?us-ascii?Q?02qmcesca1y+RqI67JdrTyWpTfFntBmaO6My0hEyFw1V5GrtFu7cTkHOAsrX?= =?us-ascii?Q?XZ1qmfhGVB8kk7yHeZbmdXY2oVJTiE0LNH492uQ4JRRy6CSqsjW85SRH+YnE?= =?us-ascii?Q?krxBAqzoUKI2lTqEK6xDGa/9BqeBocnPem2PUdHuunHvbDq/gUxePnCf/Dc1?= =?us-ascii?Q?nmmIvjX8g7+Zf7JoWshio8N0lFn3KAU8RME1jdvJfPMoj+AjF2b6yVDoqox3?= =?us-ascii?Q?DLKiqWajMOqh49nSc1M5t9xsyLYJGxOqrYDWrbpcxe1kdeMuTEvdKzxZ9ism?= =?us-ascii?Q?GRnWoNauDuAbyCy8ys/rkSw3h6V9z7J4XfU8yUY/LA/XYQzqX2WvGztfXGLk?= =?us-ascii?Q?Gz6eqC/uLMLWnqlx4Iu8Sr3t6S1Ebyj0Bl4+Pr78LO6NZtIXkUfSTgtGM0u7?= =?us-ascii?Q?xT3DaKNpotfYZCiUITJLRrnTZ4QQBoFzjHsBZNEc/PEQ+tqRy21KiPzeW2nQ?= =?us-ascii?Q?q3uPtJb2zlzHz1Hxk2PdJm9aENBFPgwDITp3Ykhjb/rMwRlJXuzjfpI1kbC9?= =?us-ascii?Q?rf1fw+OQMg52/QUHCBBalA/jrnTtuIJf8HOR7ldNu5Lu12NnhP8weYxj7Owd?= =?us-ascii?Q?NaBq6jwi1NwSkKMzFnbDHeZh2D1cZHse7S/mWa1z/FpadhTGqpPNE6Bbw4J7?= =?us-ascii?Q?0hccRCuVdbrs0zPHGLX3N+EHz4dldJEP+u87yRpCl8lRPtnH9H659M002SWd?= =?us-ascii?Q?yKKpd9ESxCGUJF/vzgVolQOmlFEgPSikFCIam3kq78s5YGKE67uBQnoePO/U?= =?us-ascii?Q?UiwrItn5DGaan1yI3XRhUf+k5BS/OErsOsPSqLYd3lnLD2lED5FCrwcilk63?= =?us-ascii?Q?L68AeLW7E3sFo6s6KQe7I+l+0tdH5chWMj7LyhXC9N2/bx2N9Qj6AE/7NANb?= =?us-ascii?Q?D8MzwpIrfqSvqa31ZhWi5bnQb5OkNmoNZmBr0w2GC6bCKk+3ZyUXLnCZO6Bu?= =?us-ascii?Q?VBZn0egLvZNLNaJwasjLb5ktc/ACgt4/h173M4/JcsJo69qPXyUu2ijNI4tV?= =?us-ascii?Q?wFaKdsTvXLwdSgBYAQJgfFAxqtllZDkJlOxowMSmsQM+4/l9G1VmOYhD7WHE?= =?us-ascii?Q?uGtxbpXMqD2cW35a9YpDOi6PLf5t58T6Ujj0Rk7+CVfTGtHyCJXP4LvFcN4B?= =?us-ascii?Q?NYVY3zg2RQicuBYSOuxN0aU2eg4f8DsLi4J6natAATBanAnjCZQ0+rR7KzQy?= =?us-ascii?Q?O+5HvXQLe7TvYgOTJUKayopKhm8ggfC8OUsqOUy0v//uJPwnRMNbAxIEGG6+?= =?us-ascii?Q?DsAKR6srEHBtM+l7AO9fEjxagocWUXoQQUiJjwHyMeWH0P/DSJGwXTq6RyVa?= =?us-ascii?Q?3tH14o0h1qv2uuB6GX6tss1llyRFPLe1Ark60RoPLOEIasBL3ERbtXgmB5se?= =?us-ascii?Q?IA=3D=3D?= X-OriginatorOrg: memverge.com X-MS-Exchange-CrossTenant-Network-Message-Id: e7508887-b014-4ee6-ad7c-08dc375b028f X-MS-Exchange-CrossTenant-AuthSource: SJ0PR17MB5512.namprd17.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Feb 2024 06:12:00.6075 (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: g7tNIbTDpHXxDfo/kqy+JG45OCzaLJ2hFw7RWbVFnvqcA2V6ochz9IQzqi9ET6lW1KrJx7WgxJqBbq5f6Dn8ib6suS8DfBng/x8cZHNB0jA= X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR17MB6246 X-Rspamd-Queue-Id: 835B420009 X-Rspam-User: X-Rspamd-Server: rspam02 X-Stat-Signature: einjifthwrcmw34rnkquzmcx1e7awwoi X-HE-Tag: 1709014324-229119 X-HE-Meta: U2FsdGVkX1/xs2QeV9x+EyqwE5lQqEHX0KISl99PTbzpIgNKlO/a4lwK05oLTiPTph+8fZWeVGvRFTjO16YSvrhSO/BKqDOlpPFHWsXzy6SP1V5PI7wCA7L0b3kgHxvF1LF341v6L3sMc22zlTXunim8qxoDpVVayK1TUtvyZ7FFmhomaOx84wAGNTqxVjiMHzzgYwFL8INeJlFfkfuuDWtnqVCoRIPV2SeRdTX3x7Yj0VPfq/k/SOX/FYM0uvh1woWsvqVZh5jRI5AMsT/9MN6qQt+5X/eQoXaxHiOiiksfq4mc1DYQs3ovCuR+VxuZxAjfclgqHfPRK3vDdBVYPrBzGjo1bltVsDFmrO+dkQz/dReVokmrU2DvR9e+kZYHpE1URRXKxeqL8Xg3a+DHS3ONb7M8EU1mWROyE9Y91BS4iEE9CtwgfVx1eoQ/y9F4NmADVcxnl3RipE03fvlOUHMC3MaLSSjyOJXEdbS3lpbM55bo7yK+Ns0lv9lHKlJuR6hf5q2nQjoOopNM2SUK4xbUFX7MrYToa6PXMt0EhgeOyOdamXjUBYrYtzYltAxE7dj0FodzpvgO8fNwRUz+xebPDwrvUzP7ZNFq+8odvoHf+Pt6bTMsOv4TppbfNRPBLccHcSLZ4hgm6rKE27q7vd2AX4cwzUyQGvFBj/nuDmju1fnN0LgmqKg+tvaj+itSlXFEMgHJZAF5R+ru/MFnQQGX7DLQnwV+Mc8wx5VJADa0hXZjmxv4l+M+lRvrN8M/tswaheNeeC5ll9h6BACChaU4xRNYQYXUE8OorWpRa2J7vPws6krXc/JLLkVmBA0iN1cnU3T3LzhPBb6EYtCTSxhnKlijoGcOxqC9KU2QbJhMunajjGxGLc1fTyvckqXTkcSsaz5C5iPY4nklgy5k7XbDFtfvt8ssUKQn47JonnGPxLGuF/2nndnDdWiIOEr4 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, Feb 27, 2024 at 01:59:26PM +0800, Huang, Ying wrote: > Gregory Price writes: > > > I have to press this issue: Is this an actual, practical, concern? > > I don't know who have large machine like that. But I guess that it's > possible in the long run. > Certainly possible, although that seems like a hyper-specialized case of a supercomputer. I suppose still worth considering for a bit. > > I suppose another strategy is to calculate the interleave weights > > un-bounded from the raw bandwidth - but continuously force reductions > > (through some yet-undefined algorithm) until at least one node reaches a > > weight of `1`. This suffers from the opposite problem: what if the top > > node has a value greater than 255? Do we just cap it at 255? That seems > > the opposite form of problematic. > > > > (Large numbers are quite pointless, as it is essentially the antithesis > > of interleave) > > Yes. So I suggest to use a relative small number as the default weight > to start with for normal DRAM. We will have to floor/ceiling the weight > value. Yeah more concretely, I was thinking something like unsigned int *temp_weights; /* sizeof nr_node_ids */ memcpy(temp_weights, node_bandwidth); while min(temp_weights) > 1: - attempt GCD reduction - if failed (GCD=1), adjust all odd numbers to be even (+1), try again for weight in temp_weights: iw_table[N] = (weight > 255) ? 255 : (unsigned char)weight; Something like this. Of course this breaks if you have two nodes with a massively different bandwidth ratio (> 255:1), but that seems unrealistic given the intent of the devices. ~Gregory