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 1A6F8C47DDB for ; Mon, 29 Jan 2024 15:49:03 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 6D9686B008C; Mon, 29 Jan 2024 10:49:03 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 688F66B0092; Mon, 29 Jan 2024 10:49:03 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 529A76B0093; Mon, 29 Jan 2024 10:49:03 -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 42C9D6B008C for ; Mon, 29 Jan 2024 10:49:03 -0500 (EST) Received: from smtpin30.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay03.hostedemail.com (Postfix) with ESMTP id 0772DA08DD for ; Mon, 29 Jan 2024 15:49:03 +0000 (UTC) X-FDA: 81732782166.30.544925C Received: from NAM11-CO1-obe.outbound.protection.outlook.com (mail-co1nam11on2082.outbound.protection.outlook.com [40.107.220.82]) by imf04.hostedemail.com (Postfix) with ESMTP id 2DA4240017 for ; Mon, 29 Jan 2024 15:48:59 +0000 (UTC) Authentication-Results: imf04.hostedemail.com; dkim=pass header.d=memverge.com header.s=selector2 header.b="0Eg/1de2"; spf=pass (imf04.hostedemail.com: domain of gregory.price@memverge.com designates 40.107.220.82 as permitted sender) smtp.mailfrom=gregory.price@memverge.com; dmarc=pass (policy=none) header.from=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=1706543340; 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=jmHQ/R5uh/8YvjKCi0vlntmngjiN2NtR67L7NkXvhvg=; b=v1m1lOISUyh8rRprsP/tpvK/34vjmFWmKN6Iq0f09wa23bxbynMNiWCkKQPnTYm7U29HND pfGV7pgUHGt1hmj7BxeATRLMLMfbMq8SmpjYsdWaDxE3i4YZbIah+ZhW3rHyFW4m9a+aM9 LndkrjS1j99Fz9rrJfxK3W/DYBVinQ8= ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1706543340; a=rsa-sha256; cv=pass; b=zmASc3/qvBByH5Wp8Pgi9PWzXKZBxtmg4sG1CXA8h8sHI0Y2Lc8yh6Lf3FpEJ7JlvZdPY8 RFlkqNY3X/x/UFfkfmtlYEdCFYgFBgbLV1B8cL+3E4Za/A1MVq4nMwvmwhhSJczDueoPy8 4YOp7RsDDUjuNnhsT2lFBtidE5Ii8ww= ARC-Authentication-Results: i=2; imf04.hostedemail.com; dkim=pass header.d=memverge.com header.s=selector2 header.b="0Eg/1de2"; spf=pass (imf04.hostedemail.com: domain of gregory.price@memverge.com designates 40.107.220.82 as permitted sender) smtp.mailfrom=gregory.price@memverge.com; dmarc=pass (policy=none) header.from=memverge.com; arc=pass ("microsoft.com:s=arcselector9901:i=1") ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=LkzeT1f2YuMA6yJNHCCVWuoCJxKOIF3Ee9jcP8/L5r3BROX5yiknGHRc2ly3BaNxwj5sEuRhj9MXLGDFDOtj1DG+Kr+qIN14+RGrz+yMw371aC8FbWXr2uzUFPZhJUgSkC/80rye2eVVOL0H6Z5ElxSInyYoiAGZVCRLUE05lK7R32ScaWEMz6M+CYCK5DbD7cNdMWoast9eP1kVFQhMe1mikiOcnaJXK8iDLsr7RAG1DiGyokrixAY5HseIGGIaCIbG355GbVRYteJPotNQmMRlSYbZgbX2mMtkcmoskwo0PapOFmbUlWGLpJ7+K+dVU3a1iixYlhCFNcU8mPgStQ== 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=jmHQ/R5uh/8YvjKCi0vlntmngjiN2NtR67L7NkXvhvg=; b=RbDgD0zHYsHwzs5fRLsuOxQteYUG5dqLvOPhl1lgJ+XGEWrq6gxqogo1n1l9E12lQgJf2iVlZYoOzqWBrdHZr4awqem8KPZqr8Sj/uJLE0UxTCuaKE4f1BUSCaid6cmfzmu3vfiJ6YYvmh6OZfo7wQhj4qjyr3JraJV77GEToFmd0GBCNgEl4h2s/MDevTxKlpKdA+jEPC9IhgLi6U7eZ0B5T9cBjKzzXwZ/mKoOEiBf1Dgj3vQhd+jsr6Kg9TAu8MRM13XUQhjwjzbxfW7T/mEYoPglck1JwZOocQRmfP7TRZQ4aUu1wAgM4CFpzJDOE8jxH8+AJRnnJXhRfg9VLw== 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=jmHQ/R5uh/8YvjKCi0vlntmngjiN2NtR67L7NkXvhvg=; b=0Eg/1de2LdFZedY6hoRHqSRKWGIOxQaUEbe2VZtczfcpOvD8CoPRv6ZlpaY+hyrkK4sm4AD+E6d8qi9UVqSCVU6Qw8BHYiyFjyMFdzKFb2Mwifrd1ybM+JS+x0U/7gPT7jLhS7TKBRrz+uV2uCvDt27C1c5W6IBQ7I5HTWqoR2k= Received: from SJ0PR17MB5512.namprd17.prod.outlook.com (2603:10b6:a03:394::19) by SJ0PR17MB4303.namprd17.prod.outlook.com (2603:10b6:a03:298::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7228.32; Mon, 29 Jan 2024 15:48:55 +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.7228.029; Mon, 29 Jan 2024 15:48:55 +0000 Date: Mon, 29 Jan 2024 10:48:47 -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 Subject: Re: [PATCH v3 4/4] mm/mempolicy: change cur_il_weight to atomic and carry the node with it Message-ID: References: <20240125184345.47074-1-gregory.price@memverge.com> <20240125184345.47074-5-gregory.price@memverge.com> <87sf2klez8.fsf@yhuang6-desk2.ccr.corp.intel.com> <877cjsk0yd.fsf@yhuang6-desk2.ccr.corp.intel.com> Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <877cjsk0yd.fsf@yhuang6-desk2.ccr.corp.intel.com> X-ClientProxiedBy: BYAPR21CA0016.namprd21.prod.outlook.com (2603:10b6:a03:114::26) To SJ0PR17MB5512.namprd17.prod.outlook.com (2603:10b6:a03:394::19) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SJ0PR17MB5512:EE_|SJ0PR17MB4303:EE_ X-MS-Office365-Filtering-Correlation-Id: 8d86384f-02a6-4814-a6c7-08dc20e1ccaa X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: Ose/SujTTFN5DwEaWaJVFyWkoIcfcbXmmELCvqKGbG+9KLHvebP0oV6Ee/dGZYKvcTbNiSO67W0NWBcCk+/53jboDrdzTRtXzlSIB1Ek/jPtQMcDE/tNVtQNibmekJoSEM7xoWiKAS/+8zvmgx2QL/XNCxWn0sQBwMeb52agJBIusv3F/dSGVRLrn6aiQIhtCEMX36jHpbFXprL8kk6Z9dcUR4EKJPteoG0ZqS3No3BloGCjaSsyK9KcyvDtApucnIPM3Z0kC+gHXB8ozZnsO5kiNks9trUqM4oNow7GMOdSRIBAWqt4NWTOXpyzToAiKaxnlc6PoLTTq3jJ/R8jd4lB8P9U8sl1HvypDpSzKRWSCKScmrXR7CTYDwY9W3m9RTwy3owASgieYXKulodt97BJNgt1wpm6xeCRVHXjcPekTHaOnAExgOql4ggY+1xl/eBYS8bkI6XV6sIjwq371Xas189Q3hZYmJiodibyyz7MJHDLRRYx93YkPlQHhte/jd6mie9X7JD5sXlGMfNNIe2AQE1+gkrSAaf5B0aRJ8/dn2Kpzrh1+y/i2PzfBlmwg3Uzymc1PA2AkGOdCdF1ImwAiXCvdrpTSEL3J5SPqgGSF6jYn5f8mnfAxlW1K/YdMuvnYO5CUdP69O1md805zQ== 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)(346002)(366004)(396003)(376002)(39840400004)(136003)(230922051799003)(64100799003)(186009)(451199024)(1800799012)(41300700001)(38100700002)(66556008)(6506007)(86362001)(316002)(6916009)(66946007)(66476007)(6486002)(8676002)(8936002)(44832011)(2616005)(5660300002)(6512007)(7416002)(26005)(478600001)(6666004)(2906002)(4326008)(83380400001)(36756003)(16393002)(67856001);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?CeuUms+e7X+eFBk+MoNuTCY6oZj00nJnkDfuYDldeKdXQT+Mt4sRnh8EPAzq?= =?us-ascii?Q?I9xhKd5uKHdCwiPebmwKAvUi2Aef8CKKb/7AYbigNTh0aQHhs4PHteuM/nzo?= =?us-ascii?Q?KPcF1Putt0Byd2qpWyOu2XCmLrqbJcWsnu5PPgg5qRDPPAn+lUmDkm79dCps?= =?us-ascii?Q?IeSuhNSTUCfNPhXIi+GOYfChetUnYCLgLyxnCeTO5zaxunhD2wGOG2RMaIFo?= =?us-ascii?Q?XpChrxRVZafpYjXmQpHVuK5yuYRN5vpLiWp2ZRXqJfSsj9KEpCBl3yL2oDEd?= =?us-ascii?Q?tlQYI0d92twUzu+LLICS92sCpQUk4BclOulxTgBKtcl2wiAuOD0RNMe0RXwj?= =?us-ascii?Q?FZ1A5oKm9r9qr0B2BCrWoj7m41lx90GZAGWvjOShUzg7aTvIkG3Nl/ic4bk3?= =?us-ascii?Q?F2hEshtnVz6clk5DfbpC4aqIkJ8tlYPh2e2atzajJlbFZeoAZpPlIIkHk6Zl?= =?us-ascii?Q?rZr7wi3bSsm5HV1sHKcV7syCc4Zifqrfp0S4CzoXPxXya/4hcNeiVi2IOGGY?= =?us-ascii?Q?Hwmq1U3EQDgDrB8Vb6ipJ4y6qXIIlTZIuMjQsyQMw69F3x1MPH5c2LPYS36P?= =?us-ascii?Q?M9XS3cE/D8FzCqTKFwHha8d7s6CB/Xz4iCwtG+0FcWgIhFVmyuQuicwFjOM2?= =?us-ascii?Q?ffK6LALB35X3tirl3ycG0MECk0zYYwwqcpBrD3tMDRGPf1pm1QrDdixZEEFg?= =?us-ascii?Q?BvkdePgDatugXXKtCMiK3jssR+crNPlLNG5C3NDktmt63vdSQB6ykuCLyYDU?= =?us-ascii?Q?UnxLNmFI0/dXkjXYUpM1jj9+x2+eCNeq6NcCcpw0PmikHEq14s42boKtSNgU?= =?us-ascii?Q?RByRw4YSy5g5sClN8bFsRCEoSjO2rbaTSF/TGJlWD4m2GZu4almb3TxRDBzt?= =?us-ascii?Q?a97GQ7aVJsTA1qozNNTv97m6TBQKAVo2lmzcZBDtR+KCP9jVHd8V2E1/lkIi?= =?us-ascii?Q?eb2jYB/V3QaHTuMrZnb0B9d27lIfrChDo84u4q6io/l0JG5wr3/mKbRY16xh?= =?us-ascii?Q?1lN1Ow9lYhTTPnaMhQgk4Rd1t9698PnBcpSqqDHksG/t0APwCSKygkOF+Jnb?= =?us-ascii?Q?OialfFzKlQDnoO3pt6bCRlOvpzNGOldSschRS8k7Vnib0iCmEL3iP8oQ35a3?= =?us-ascii?Q?TqGk5wMzdfARzHkFRBkIBI+zvkWE+D07SoF3FNhW3XeB+mslHqqzlPCdOzd4?= =?us-ascii?Q?vC2gqKD2iPC2s1gftZ2s0UQzp+ry8Ed+gHwPDF6xG6hcpZQ4HHDQMjs5h+l7?= =?us-ascii?Q?XjZvBdNDLGIm7Ooj3dtEbhrr7L14tDP6X+KEu7l5hZWdzXNLUITeW4EtPR/j?= =?us-ascii?Q?hZgnaaq8gORZpIMzdMwPaLvy7Hs/WqsNzBwxYmmTRJgN5AlRWt/Cs2hYuaww?= =?us-ascii?Q?mcprfHAIVDRq/t7wlD9kJxP5lqpBnmzW+aMhs6FAebXCxo1fBiav+qPNJz5+?= =?us-ascii?Q?cJrofY3TntvZp9oMX1ATjdqpfN+Yo6RtXETaHCnIcX5N0zRhNgThZs9gKyfU?= =?us-ascii?Q?CqDWG97RjDxWEIWkfqKpE+CDJaXRLYeiJDZfD4xTeLGNXbfFI2zFi1bIzpZz?= =?us-ascii?Q?WE1badmujGsrg1wfd7jr/t+LuG96Up3/1SAiVhz3dOl/Ei4pw3K8QwwFBQTn?= =?us-ascii?Q?5w=3D=3D?= X-OriginatorOrg: memverge.com X-MS-Exchange-CrossTenant-Network-Message-Id: 8d86384f-02a6-4814-a6c7-08dc20e1ccaa X-MS-Exchange-CrossTenant-AuthSource: SJ0PR17MB5512.namprd17.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Jan 2024 15:48:55.5292 (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: zzy/a/eFjFCdFOetbcN0/zick0p7FcLxetEhpcRpiEwP+aNmDXnki+71EvYqbBeJGNN4JIxRAO3FRcwp9TOIEkk0mP+UX8RkWWMhlQvYYF0= X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR17MB4303 X-Rspamd-Queue-Id: 2DA4240017 X-Rspam-User: X-Rspamd-Server: rspam11 X-Stat-Signature: 8op1iaemrr3r6idwtpwhqnu9d8p5r1xx X-HE-Tag: 1706543339-156156 X-HE-Meta: U2FsdGVkX19x4kvdWskUFbIimmCLnog//IrunizueaXPK9kOHiLFeEfaU5tRWCrofGINq69h+rT7erearG+c9wLdIYqAhYJyOFcmR3VP8lTZ5LVTNKg8AmJHBrCHVO/MHOnC/5fOWklsN+JOJqEVsKLgIHunPc+7XVVXbqwZgv7HpPT3G32JHbYjjywgGAOa5Yhz5/WfLh3b2ab97mj2WjVS6Dkg4moUZlMiIAtTbSmFdNE/gBkgWhvkmSGIjotOxMXcoJtt4LmWJ3AMolvg4t6d4FwaVMEg6uCsIS+TgZWJ79EviAedV0kCOZvEw6WGgb8wryN9QfBjCFAJYjL0mSz9dWw4fBZkwz2hRx5OpTjgnPrd+iijKsdDTH5TcqB2zyyUfMrLhZSB7ymgFSesAADVxwdoa19wHJGVeiJa8QZvhd0HkUhhJQkuWJbT774iVQaOMiNdeMj+39bQSHtlEsqU13UuYP4IR2ZD7lHbyo2PEkoGoflgvupr3FZupp2sQ+2GgHVd8swMaQ1U3yAX67n1G5dYEtYtoHEjX/kDOHAbklz06z+RJaBdnHEu3dKWUihIYK06yFFPp35bytQ1Beig+aFqC7lFJf2bhaExeC+0qLMkUdpFncKL70xN/nImgE196182cCikz+HdZMJTiRVuKExwLQET+SuUUKQ+F8h92BYwP2oMwhQlLGGuCCV5UiVVpsOw3jhKCmPBakuSmOmU6bzi3N1q1eEFobDIOzuaBUUYXn800aeeW2Ay5SgcbOyLGlh2zV7pAvWst0HF5rJ5VKiI+T/ScXwM6NEZ4ewT22vThqVPyB7eVat6BxF5EdO0cmkL/ScViYyxT3Q5IoXcixqgbLbyDOsd/ffLHxKrw8ggtcTfq8jEKorCWVyxKnWtjtr5r2T0SHWzYYiSYkrxLhc/Ma3ANbgxDp7nNvvJAAjeGr7ycbFvPywo0grhpjHw09EtKcEj6QzTAFc 5KdjJ26b xSJCY4+OemO+8UiC8catLAzwOy0Ye5DEU6AiIfsKqFyVmYQNtklAYdE2eVsdoTb4EaNtHnJbWdgtHKybJo/QJt4Yp2FvOveNiR3/hdWmHrV9tKwirR2sQ9mg6qF5liUl0wwIn1/0Flwd0pCwIqagipJ8aeBLpHqml4Tb/Vyk0E9I8IMZ2fCE7/ETinFo4f41eGPFmI9Z2jUoeW4WUXF4xyJeQogbWrEkHRycPwujf2C81P82MoSaMJ/EWyWJuIGiXxP0rsNJGZWANmXQjVOoT4vevMHMcij4QTfOAbO9XnoRxtC7+BNEz3PCzCQkSgKeLwJffm8wpDbSHPMfCM3anVryHTgTmq7gJtCIR 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 29, 2024 at 04:17:46PM +0800, Huang, Ying wrote: > Gregory Price writes: > > > Using current->il_prev between these two policies, is just plain incorrect, > > so I will need to rethink this, and the existing code will need to be > > updated such that weighted_interleave does not use current->il_prev. > > IIUC, weighted_interleave_nodes() is only used for mempolicy of tasks > (set_mempolicy()), as in the following code. > > + *nid = (ilx == NO_INTERLEAVE_INDEX) ? > + weighted_interleave_nodes(pol) : > + weighted_interleave_nid(pol, ilx); > Was digging through this the past couple of days. It does look like this is true - because if (pol) comes from a vma, ilx will not be NO_INTERLEAVE_INDEX. If this changes in the future, however, weighted_interleave_nodes may begin to miscount under heavy contention. It may be worth documenting this explicitly, because this is incredibly non-obvious. I will add a comment to this chunk here. > But, in contrast, it's bad to put task-local "current weight" in > mempolicy. So, I think that it's better to move cur_il_weight to > task_struct. And maybe combine it with current->il_prev. > Given all of this, I think is reasonably. That is effectively what is happening anyway for anyone that just uses `numactl -w --interleave=...` Style question: is it preferable add an anonymous union into task_struct: union { short il_prev; atomic_t wil_node_weight; }; Or should I break out that union explicitly in mempolicy.h? The latter involves additional code updates in mempolicy.c for the union name (current->___.il_prev) but it lets us add documentation to mempolicy.h ~Gregory