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 617A7C71136 for ; Wed, 11 Jun 2025 22:34:53 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id F32936B0089; Wed, 11 Jun 2025 18:34:52 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id F09B56B008A; Wed, 11 Jun 2025 18:34:52 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id DAE946B008C; Wed, 11 Jun 2025 18:34:52 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0014.hostedemail.com [216.40.44.14]) by kanga.kvack.org (Postfix) with ESMTP id B3DDC6B0089 for ; Wed, 11 Jun 2025 18:34:52 -0400 (EDT) Received: from smtpin16.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay04.hostedemail.com (Postfix) with ESMTP id 588151A1861 for ; Wed, 11 Jun 2025 22:34:52 +0000 (UTC) X-FDA: 83544576024.16.59A8FFC Received: from NAM11-BN8-obe.outbound.protection.outlook.com (mail-bn8nam11on2045.outbound.protection.outlook.com [40.107.236.45]) by imf23.hostedemail.com (Postfix) with ESMTP id 6639D140002 for ; Wed, 11 Jun 2025 22:34:49 +0000 (UTC) Authentication-Results: imf23.hostedemail.com; dkim=pass header.d=Nvidia.com header.s=selector2 header.b=HEmByAHs; spf=pass (imf23.hostedemail.com: domain of balbirs@nvidia.com designates 40.107.236.45 as permitted sender) smtp.mailfrom=balbirs@nvidia.com; dmarc=pass (policy=reject) header.from=nvidia.com; arc=pass ("microsoft.com:s=arcselector10001:i=1") ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1749681289; 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:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=xwcBy8omuqNxJz0hwD8YHKUa+jWuW44JqRJU1EcmPZ8=; b=oBKuBDwCUJbaqbInZm82X0iiWi0oX+uxLtRq2SjC/BIvtecTF9dG/Tr2k0dXUbUV+KWUEi qii65P1+97cw5c3um5IsCtOMp487rOLG4cCIiyntixQz+27BvQ0h2sbAwJmF0SKYFklDne xU5Z62go2ElN86kRthZIfDj7nzDGj+w= ARC-Authentication-Results: i=2; imf23.hostedemail.com; dkim=pass header.d=Nvidia.com header.s=selector2 header.b=HEmByAHs; spf=pass (imf23.hostedemail.com: domain of balbirs@nvidia.com designates 40.107.236.45 as permitted sender) smtp.mailfrom=balbirs@nvidia.com; dmarc=pass (policy=reject) header.from=nvidia.com; arc=pass ("microsoft.com:s=arcselector10001:i=1") ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1749681289; a=rsa-sha256; cv=pass; b=qEqqsp5zmf9/ottf/VPb9d+nB2gZZdN85SmBO7kHXuW4diBpA0GvnkK9IjrDc1X17GcJhj a7cqRqJeG5Kqqurg+VI70ZfvFpUOwKBcw53sxxxA6RAZfOnVxJElaoXldyjoRuH5mbnkxP ghf8XeKWRMK5l67AYunT3f3VJGNkYK4= ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=jU4wclNNk99Te/9ZFCTQiPAuHbFueAIZcDDMyPtB1KK1m+plI3VIJtIJc098do2TnvGsjRgcAHgXrK6gQeQjYH4p9TB/VPeSj+EG89XYSVDJqtMcWGV1uZhjLcV686bfsbW0/MsgE8gCYdbPByxlYsiu8O63fFPgiFT0Rke88OeBnWxOGW2TqloKpbhNDFkOJrmgYOWkedN1feyqi6fHWWdpS81+k4yNYuuxFh2DWoVdzNtuRbFU9Ew5TecOCXh1A7tiaaagKpIGTcMEp26dAysvmtaPOq8JiD3hammyhU+hy9wqW6NtkV8fg9LalPghef+G1XcHXrop7fB97oFRkQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=xwcBy8omuqNxJz0hwD8YHKUa+jWuW44JqRJU1EcmPZ8=; b=imzYuqmQLdKk17GFLw/1MryA3ex+Ex/YbbOKbxsfWytnvNNMEetCLz2VtBZoJ9FpQew9AasOyHXg/TJJ0gWqLRLrMPwNxkYIUJkNIQrWM/kql5+OSLaw3Anqcj1mnDyLvXZ6xn4DQAPK9I7hY7w3C1hcwS+Ql728XpEwQRYU83bpojqpQr6oq/I+UVXKLyVdtrh/RlZF2hyw+XanksjZW66Aud1GuohtzOC3yeTdq2jESqtXINNJw1vfFOb2wITKn2fQ0tq5F02bxlcMsqTEiJYVXBqOPiImk7faVxH99El8idl08vdj/s2VQoeO1vkUnuoPwIK3jzRv3Aku1uSH2A== 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=xwcBy8omuqNxJz0hwD8YHKUa+jWuW44JqRJU1EcmPZ8=; b=HEmByAHsS1z6BqNSVu5It6W7RkPz0ChqVAdobNJjLJ7dTMiq9ROeIEEWEppeFpag4ZaU13WKH7kq6zTqAZcP9cRdvcmKdn7JXd+iug7mrvpNu1D7x1P7RFQFA/582ST4P8DubGWQ7cV/hKqewShzlrbFxxd/BlWF7/31VU8Aw9WwDSCQpUUhh67AsQqFImiMmnjttqHwZkbFW8Uww3ItwVIo9m3hWh/ijahesvJ/Sk3di2gDrmwKDnXaJJZ3FAOCwa2XJ6yLgd9/tPEnwTvl4MYbtY1KjKBthaZJMki1iclSlUmLbYcJVe2tBFsk6o+FcaMqd0VJEwHk4PUI+IePcg== Received: from PH8PR12MB7277.namprd12.prod.outlook.com (2603:10b6:510:223::13) by DM4PR12MB9733.namprd12.prod.outlook.com (2603:10b6:8:225::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8792.34; Wed, 11 Jun 2025 22:34:47 +0000 Received: from PH8PR12MB7277.namprd12.prod.outlook.com ([fe80::3a4:70ea:ff05:1251]) by PH8PR12MB7277.namprd12.prod.outlook.com ([fe80::3a4:70ea:ff05:1251%7]) with mapi id 15.20.8792.036; Wed, 11 Jun 2025 22:34:46 +0000 Message-ID: Date: Thu, 12 Jun 2025 08:34:42 +1000 User-Agent: Mozilla Thunderbird Subject: Re: list_lru isolate callback question? To: Dave Airlie Cc: Dave Chinner , Kairui Song , Johannes Weiner , Linux Memory Management List References: <206e24d8-9027-4a14-9e9a-710bc57921d6@nvidia.com> Content-Language: en-US From: Balbir Singh In-Reply-To: Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-ClientProxiedBy: SJ0PR03CA0080.namprd03.prod.outlook.com (2603:10b6:a03:331::25) To PH8PR12MB7277.namprd12.prod.outlook.com (2603:10b6:510:223::13) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: PH8PR12MB7277:EE_|DM4PR12MB9733:EE_ X-MS-Office365-Filtering-Correlation-Id: 16820e64-c60c-49ff-8be7-08dda9382b5f X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|1800799024|366016|7053199007; X-Microsoft-Antispam-Message-Info: =?utf-8?B?M1dDdkdRRWhWZlNJYWdjcHpTZ21wUDk2YU0vb0NSbUFMRUpLaFdwY0NTbWRh?= =?utf-8?B?ODNwQnpmS01jV0FjWHNhOGw3ckovS0xKWkpzTU9McjVnN2dpZ3k0VEdMY1RC?= =?utf-8?B?L1VWa0FObTRKQzRYY3duQUt3WERTdnRZWkk0TkNCdXd3ek1oK1NrVWtzTmhT?= =?utf-8?B?V2xlZEo5ZDJNNFJ6OGEzNlZLN0lpcjduZ0RrdDhwNEUxMUhwSmduakJiZWFM?= =?utf-8?B?WGdZZWdzRVBQZnkrazFFdWt4Ui9scitFY3dLVjB6RFNIUnovUDN0OGFpczlp?= =?utf-8?B?bmluTWVwUHFwZlFTSVdnWDBCL2NGc1BDZG5KV29SYm1va2pIS3Y0VkpMdGFR?= =?utf-8?B?TGNQbExUZHdzeGYxY2ZEM1J5TVpPWGd0ejRJUmxGMERwVlRlR2poNWZBMmdt?= =?utf-8?B?TkVxTWN0L3NNcGZTcGppcVFvVkNZbmJvMDFNQzRwK0lTaG5HVC9JNVJOTG1O?= =?utf-8?B?NlJJcXVBMG1laVVadzFGd2p4Vys0RlpRWDRQZ0dIZlVWeXRGaUJ5aEJwNUZI?= =?utf-8?B?ZmVzU3h6dU9EK0RLWUN5SU9KbDNDdlNqMmhhaDdJb0xaVGxjaXEvNEZPd2JT?= =?utf-8?B?cElSSURzbEptL0RpMWI1SmhuN2l3S1M2bUpMSnVhcTZJTHZLcWx6c1RiYmZF?= =?utf-8?B?ak9ScC9nUTRwa3VVU3JnR2tYcGNFRWpwcXI4UERWSkR0cTcwT2xvSUxZdkpO?= =?utf-8?B?bndyd1RsRHBBTW9pOVU2STQ5R2JkT2VmU04wSnVrR0J1NnZ3NTU2dktjSmli?= =?utf-8?B?U1BrYzNZWEwyRDYySW1JV0NpNG16dStITUF0Z21STHRVWTVrbXR1M0pwL000?= =?utf-8?B?YTFwNWJ0R3dQeHkwWkJ1bHNmSjBjNjJKbmN4RkdrcmZKbUp6WWlJSk9QSkxD?= =?utf-8?B?WGJ1bnlubGErNSs5bVE1S1FJR21ZaDBUTGY0SnI2MW1PSFludXhEV1hwSHVE?= =?utf-8?B?cHYvM0VhdHJmSmcrRGZRTkZLT3R6L2dGUWk2OXRORC9BeTVMMTVGZGx4K1FX?= =?utf-8?B?VlNTNEpLTFUwME1QMHVXeUh5NDAvb3JMUThQZGN1R2hqc25jdGlOYlB4Vi9j?= =?utf-8?B?TDl5WUlMTUNZeldDRjhrdU90RVFFQW9XQUxiWk5XcEp3SHdXbnJKYjF0WlNy?= =?utf-8?B?Tjk2V2dIUmdlTE1UbzF6cTBGZXNERzZHa1BIY2FHNTFyTlh3ejBKZnZKZE1t?= =?utf-8?B?cGdDMkQycTg3c3hxSFZ3Ty9jQ2NvNXh2Mk54UFppRjF5QUtYNDRHRG9pTFVW?= =?utf-8?B?RW5vTGZVc2RtcFJxMjMrMW0xZkw1VnRWM25NRUc2L0VJOHZvVjNjQmVoR3Vs?= =?utf-8?B?RVdvdXlFSHhoR1k1MnVWK1F2bVZFYTRibWFlS1c1VGVzOEJUYk9kV0pnY3Bu?= =?utf-8?B?WWpxZjNQaXhZMEllTGVTQ1VqUFpncHRLZi9zK2IxRmN1ZXVOeCt3VDRMcXk5?= =?utf-8?B?Yk9OTUl3MDdzMVJCSTFqUUxtOEpJczZXQ2FsN0dRdkw1M0NoYUs4cndiS3dH?= =?utf-8?B?Q0ZtaUNOY1krOEtzMGJ2a1dVeTBhdDM5THdTNUl0RGlxWk14TFJxeVJvelVl?= =?utf-8?B?T0o5NjNXblBucDN0dWxQejB4Y0F3ZHZIQWs5d2VwZC80aXNFVG1YTU1VTmI4?= =?utf-8?B?SUNJbi84d0YrcisvN2hpNDNsL05YWWNSQ2NaTGVXSDFJVTlBQlB5SXVwSEpa?= =?utf-8?B?ZHhuVnlicE5WelZlTGdZK3VkbEJoQTRaM1JmRkxMdHlvc0dFRWJPd0dMRVRK?= =?utf-8?B?VmxEejd2WDlEa203ajQ5NjRQQzJUSUNpYndsY3U4TVlWSHVvekJuRExVV2Mz?= =?utf-8?B?RVEyVEREK05WS2ZqOVpTWnA0OVNBZHVXV1ZhNUlRZUZKdE5uNVIrdWFuV213?= =?utf-8?B?YXZGRCtmTythd2E0Slo2QXFsY09hKzVUU2NHRU5VbjdaMXJUczhVbzlXMCts?= =?utf-8?Q?/2SUlRXDwYM=3D?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PH8PR12MB7277.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(1800799024)(366016)(7053199007);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?Sk5tZDM0OHAzQTdCRU9CYmRSQnpEN2x4RlI2K3EzQ002dEh6QVpnSUNPaUNU?= =?utf-8?B?d3NMeHpEQzRjUGtSd3FFb1RWTDRVVU15UXE5dFFIdExwWVNYUFhpZzl1bEZN?= =?utf-8?B?M2JmaVhoOVhaaHJLM0IyS2h5ZHZkTmFKeWxwc3ZyWk1vN0pkMExsdUlROTZR?= =?utf-8?B?REJJbDNkSEhsTklOcjRPS3RJY21UZlVLSjVIdzBPVFo2Z1AzTXVVZ2ZJZEM1?= =?utf-8?B?Si9RbXpHcVY3UnBsdnQyOVZJOUlKRE13SGFEZG9FU0xobUpMQklybzlyYm1X?= =?utf-8?B?YkZKendrSWViS2ZINVJ4R1c2OTZjcERUT1A3TTc5QzJvS3RqS3IyS2hINTQ4?= =?utf-8?B?T0dPMWx1VGxTUXZncFNscG4wVE02Qk12STc3MWxybDNWaW1sRXJvb2hoVHNO?= =?utf-8?B?aWdtTkRqUUxMMzU2UDZrQXYxNVFRL0F2cE5neXVlSTRNeTM0Zm45NlAxOGln?= =?utf-8?B?cGFiRC9rVG1DQ2w3Q3lGTWNZQ1BjTjVuaGFCUHhkVGNGVDB0MU9PZXRRb1BC?= =?utf-8?B?MzN5dWdFTXRUZUN0QXRGb25hUjU3YmoxaDdSYTNpQ2J6M0Y2K3V1SUFXS2ZO?= =?utf-8?B?aXpCTzBjaU9yZTRYUXdaT1h0aFp4V2NOdFBhc203akZObVZsVFRlZFFFTDBw?= =?utf-8?B?dVkwL2dkbnZEQW1tSStWcmU1Q0FXTnNSY2xMK1dQRXYzcTA0akNMTXRaOG1T?= =?utf-8?B?WHorN3lmZXNwVldsMm9QU3YwVlNRQUNTUUExZWo1dC96M08vWUdCRU96L1hW?= =?utf-8?B?VTVsT3J6UmdsMHd6TDJHOVJrTHdrUnAwV0pCU0hYMWtEZmJHYTd3OTkzVlIv?= =?utf-8?B?Q2cyQTd4UUQwbEFWaDZDN0RyZklOVjNJUWNTdzZpaEE2WmtKbnlnVGx1cmFt?= =?utf-8?B?Wll2bm8wS0JzWTJlKzVDYTFMbjA2cGFCQU5BU0wza2ZVM2FzY1MrNnA5aVgx?= =?utf-8?B?OHNjREVsd2dzV3NzSlJpcWlXM0JIME1NQlRTcnp1SnI4TXpwZ3ovc1JxdFV6?= =?utf-8?B?OTJjK0xZdGVGM240SFFuNnJpZUZ2cXdNTTRmTHM0MlJ3cWF5OUhVRyt5VXNY?= =?utf-8?B?b3o3NzR0YSs3aU1STCtoWlFpZUxtanpNa3ZTdkV1VFZwSE1PREY5RlhJZlRh?= =?utf-8?B?ZWhHU1ZJakpjeSsvUzRqM0ordC9PaklFSFZScWcrYjNPbUU1ZWlSMThNU2hl?= =?utf-8?B?OFJZRGNXaEZNSzVWQ2JPRG0vQlpUQ3kxSUhKVlFWSjdwdkFEMXVheUdmZHhm?= =?utf-8?B?MDVwTllHK3oyS2MwdEhLM3FmWC9IR0hyUnJ2QStHZ1p5ZFFJOXJRVElFckJq?= =?utf-8?B?UzZVNVFhWmNUK09VcWhpTFBnVXk4Ty83N0N4VGN6a0Z5UVJaeDBaVkdvb09O?= =?utf-8?B?bFlJNE9Ub2lWOU5TZ1ZIUUEzak1OMy85T0R6c3dIWFVhWTRHOHJaNWo1SkEv?= =?utf-8?B?c3BkbXY0R0JDNDQ1WEEvbkZMNzl3ZFFDM1JQcWJidlBBd3JReGovL1E4R3lX?= =?utf-8?B?OEV2THpyVkcrMUtOYkVSVVk1dlVGSHdLdUpYMkI3LysvRHJMMzBCc1BTYk1F?= =?utf-8?B?Ly9rVjYwWERjRFRSTHpiWXpTRTkwemZRUnlaUmxzMFo3QkhPeDZwWTF4ZnNj?= =?utf-8?B?aHRWbFFiaHRHeGRuZnhyYXpBdlI2czFyTXBnRCtWWkIwek1jU2R4eUJrME5U?= =?utf-8?B?SUJ4Rnd2UHhmSWJnV0c2V1ZuMmxFK2FOWG1CRWhwSHJzdmZ5TWxTTXY3aU9a?= =?utf-8?B?Tit0NWw5dWUwZmNhY21zYWw1RjRPdmNQWkRVNHNCbFJTNDc0MmcvY1daNzF6?= =?utf-8?B?bFN4MUwvTEtlZ0ZPemVMSHNBR3k5SUVYMkNveWZ5SnRNYnIwYkJJZFhlanll?= =?utf-8?B?ekhCaEFLdHpHZUF6b1VRQWM1eVZmcytkZVZaQXFJZ3NLclNBYTUzZ01oV2pO?= =?utf-8?B?ZzhNcDZFYzVUTlgzcWRJKzlWSXhEdjF4SnJTTzZSR012S0k3RG1MTGgvNUVl?= =?utf-8?B?c0RTM1k5YXY0dlBvY1hWTExWNHErdDljeVVmOVJJT29PZjRUM3E0ZE95OUtU?= =?utf-8?B?dXAzQUNiZzlISUpRWFEzS3hzaDRCbW8yZmNSZDh1YndXRXQ0U1FxY255ZFdN?= =?utf-8?Q?yljgggNyPlWTVdSxSRnhWIbqz?= X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-Network-Message-Id: 16820e64-c60c-49ff-8be7-08dda9382b5f X-MS-Exchange-CrossTenant-AuthSource: PH8PR12MB7277.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Jun 2025 22:34:46.9174 (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: jztkCXxGs2gGZyHEtSf4O2iFoULyultzE3RpjGOayGoOLZB6H904ri1facu5WeRMW+veFFy2k9DXzqkrSMIFZA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR12MB9733 X-Rspamd-Queue-Id: 6639D140002 X-Rspamd-Server: rspam07 X-Stat-Signature: 61w4c943fypnoezj6fprz69upxuhjf9u X-Rspam-User: X-HE-Tag: 1749681289-882125 X-HE-Meta: U2FsdGVkX19LZRTCVdR0fSKRR16Dk9kfWWQwJc1wJjMWa8acgcMHzKVJ9iOCaTdlWgrFcVCKI4c9YO+sBWsuZZ8iXigkAvMbH1VDkU0xPAbThvMAJyMYNNUDcBqVaCmTQ9qRutIziR7dR1jh3jxhxOTRHEvDC3MuPT20ODZzgvAIQfMFe2fM23N8SpHBNOmTH5a5F45gSZop/ulgn3dBGwKIID3wxK22hShAaqv5SovySuHDPGr6PqsCsUJ1GOmYA2RrFPBJXwylIjN7x5oJrbDz4MEH1AZ4F54uU5kTm+ENPPM3vMYC/GL4ctMOzZfMRds07zzCyLMh/NlYVrp4wbq3+B1UVtke1X/CTfp8f9Pr81JqDhcED5xWnztcUW3h/Z2fY9AK6lN/mVICPiYz7o/MPbKtg7AJPNKpEjnSRfab+SIJ0y9klHmyeB4l5YE1+0LmSyBd5p+VZ72DVvKXANZ7BsMeMPb0VKL8X88j/594Hj7tc5BkM9CuAdBxxADvxJZXMVD/VpBAKM1Q1ZyMg12gmyVub8WIz54u0N2/bs0SrxMDDNzr9yZZHcscIfYIER3976oclNdvXFhr1zb0ruj3PYaHGjwJmV2H9cWx2s8XkgCkwVRSPqKvPAadhniT7jghsMnO3eIcT9io7syjLu9tr3O/7UdWYaWZRfxEe1jrLreUZSs/e+wEgo93bkXoBc5PV9ydwJF76JtBtnWoUQrEaBAI6PO4OtdPhAjP8gIwUUILO4oewpED43rDggoOj55Bo2iYeBzwdRt4rgDePjL+Fd4i+87WUIR1d1Cp72eL/GqycmU+qrVPRcr1ApzyIJkfvcFvtqpXgLoBQyz73rTjui/GmecRzCF820t7dCaS02rfft4/7MqGnH4ifBQu+8VZmRUfXC7OXLyl4TJ3sfpj85ZViH+Vnf2OnIzMpiXG9VUSAfRcGkv+deM7ox6a1KrOQqBIh3B1/yeD49/ 2qnVdreg 3jcME4+HM95hI980ZdGQJhGYj0W5rvE9hko/OBmhZO1ohjG2gG7f7TVTwW6ylrgGwjGZ0WetPOAllxeOvyLb/DjjrRMTpxnRPe2AeiKPia5eAaOFoaeixlBTqQulMxkHEJrUQvnxkOKiTXkktYg7wPFg3siI/85QpcFuqi35d6IzQrgKIuifdnZBBc/ElTsb5U1xlCgMZqSpXvMA1IGvTkRIweawowlBx6ojiXOhGeSDrQXDzEP9ViQZ4qdvIzS5F6RYJPa0XAu6HuEk3cc8qUHMieWiPYUovkC9mv4cWIH/D7Pt1IuaME1nCD/fB8havi4CJnnQrB7mL4x3F77sPrNyVWStyM0j/1WTJsjRC8Wim0tbu0hBuKOebQ7dInuM8fBdDO4AyftdwZ9Y2Cgw+VFL0HLgPrIlD74iifb2jk/m3iCJz4+PDaQYPruscsp8lfo+G0FlO1W/ZvMwicyFnxbWpXtitP5So0LJToB2G54GRuUw5knkqw5BZvXunI7BvFbjSXwsGQI9BGRXQnFUeraj4YtHn6q6qULLGfrpyzhNREEfI49dsGvF5uoKx8NXxC03o+u3IWd3vZJD5MO0CqdGZgoZX2RzM5iCmEMpoRFQz0ETAZXO7wJxbhKPGRNEFciZIiHVdjNsqzfWmajl3xET92TB3MaVN2Whq9Mk+N2TTdJk= 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 6/11/25 11:43, Dave Airlie wrote: > On Wed, 11 Jun 2025 at 09:07, Balbir Singh wrote: >> >> On 6/6/25 08:59, Dave Airlie wrote: >>> On Fri, 6 Jun 2025 at 08:39, Dave Chinner wrote: >>>> >>>> On Thu, Jun 05, 2025 at 07:22:23PM +1000, Dave Airlie wrote: >>>>> On Thu, 5 Jun 2025 at 17:55, Kairui Song wrote: >>>>>> >>>>>> On Thu, Jun 5, 2025 at 10:17 AM Dave Airlie wrote: >>>>>>> >>>>>>> I've hit a case where I think it might be valuable to have the nid + >>>>>>> struct memcg for the item being iterated available in the isolate >>>>>>> callback, I know in theory we should be able to retrieve it from the >>>>>>> item, but I'm also not convinced we should need to since we have it >>>>>>> already in the outer function? >>>>>>> >>>>>>> typedef enum lru_status (*list_lru_walk_cb)(struct list_head *item, >>>>>>> struct list_lru_one *list, >>>>>>> int nid, >>>>>>> struct mem_cgroup *memcg, >>>>>>> void *cb_arg); >>>>>>> >>>>>> >>>>>> Hi Dave, >>>>>> >>>>>>> It's probably not essential (I think I can get the nid back easily, >>>>>>> not sure about the memcg yet), but I thought I'd ask if there would be >>>>>> >>>>>> If it's a slab object you should be able to get it easily with: >>>>>> memcg = mem_cgroup_from_slab_obj(item)); >>>>>> nid = page_to_nid(virt_to_page(item)); >>>>>> >>>>> >>>>> It's in relation to some work trying to tie GPU system memory >>>>> allocations into memcg properly, >>>>> >>>>> Not slab objects, but I do have pages so I'm using page_to_nid right now, >>>>> however these pages aren't currently setting p->memcg_data as I don't >>>>> need that for this, but maybe >>>>> this gives me a reason to go down that road. >>>> >>>> How are you accounting the page to the memcg if the page is not >>>> marked as owned by as specific memcg? >>>> >>>> Are you relying on the page being indexed in a specific list_lru to >>>> account for the page correcting in reclaim contexts, and that's why >>>> you need this information in the walk context? >>>> >>>> I'd actually like to know more details of the problem you are trying >>>> to solve - all I've heard is "we're trying to do with >>>> GPUs and memcgs with list_lrus", but I don't know what it is so I >>>> can't really give decent feedback on your questions.... >>>> >>> >>> Big picture problem, GPU drivers do a lot of memory allocations for >>> userspace applications that historically have not gone via memcg >>> accounting. This has been pointed out to be bad and should be fixed. >>> >>> As part of that problem, GPU drivers have the ability to hand out >>> uncached/writecombined pages to userspace, creating these pages >>> requires changing attributes and as such is a heavy weight operation >>> which necessitates page pools. These page pools only currently have a >>> global shrinker and roll their own NUMA awareness. The >>> uncached/writecombined memory isn't a core feature of userspace usage >>> patterns, but since we want to do things right it seems like a good >>> idea to clean up the space first. >>> >>> Get proper vmstat/memcg tracking for all allocations done for the GPU, >>> these can be very large, so I think we should add core mm counters for >>> them and memcg ones as well, so userspace can see them and make more >>> educated decisions. >>> >>> We don't need page level memcg tracking as the pages are all either >>> allocated to the process as part of a larger buffer object, or the >>> pages are in the pool which has the memcg info, so we aren't intending >>> on using __GFP_ACCOUNT at this stage. I also don't really like having >>> this as part of kmem, these really are userspace only things mostly >>> and they are mostly used by gpu and userspace. >>> >>> My rough plan: >>> 1. convert TTM page pools over to list_lru and use a NUMA aware shrinker >>> 2. add global and memcg counters and tracking. >>> 3. convert TTM page pools over to memcg aware shrinker so we get the >>> proper operation inside a memcg for some niche use cases. >>> 4. Figure out how to deal with memory evictions from VRAM - this is >>> probably the hardest problem to solve as there is no great policy. >>> >>> Also handwave shouldn't this all be folios at some point. >>> >> >> The key requirements for memcg would be to track the mm on whose behalf >> the allocation was made. >> >> kmemcg (__GFP_ACCOUNT) tracks only kernel >> allocations (meant for kernel overheads), we don't really need it and >> you've already mentioned this. >> >> For memcg evictions reference count and reclaim is used today, I guess >> in #4, you are referring to getting that information for VRAM? >> >> Is the overall goal to overcommit VRAM or to restrict the amount of >> VRAM usage or a combination of bith? > > This is kinda the crux of where we are getting to. > > We don't track VRAM at all with memcg that will be the dmem controllers jobs. > > But in the corner case where we do overcommit VRAM, who pays for the > system RAM where we evict stuff to. > > I think ideally we would have system limits give an amount of VRAM and > system RAM to a process, and it can live within that budget, and we'd > try not to evict VRAM from processes that have a cgroup accounted > right to some of it, but that isn't great for average things like > desktops or games (where overcommit makes sense), it would be more for > container workloads on GPU clusters. > Makes sense! Thanks! Balbir