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 66F8CC677C4 for ; Tue, 10 Jun 2025 23:07:16 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id DB65F6B007B; Tue, 10 Jun 2025 19:07:15 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id D66EE6B0088; Tue, 10 Jun 2025 19:07:15 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id C55B36B0089; Tue, 10 Jun 2025 19:07:15 -0400 (EDT) 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 A731D6B007B for ; Tue, 10 Jun 2025 19:07:15 -0400 (EDT) Received: from smtpin26.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id 260C0101616 for ; Tue, 10 Jun 2025 23:07:15 +0000 (UTC) X-FDA: 83541028830.26.8B9F1C0 Received: from NAM10-BN7-obe.outbound.protection.outlook.com (mail-bn7nam10on2071.outbound.protection.outlook.com [40.107.92.71]) by imf03.hostedemail.com (Postfix) with ESMTP id 51B3620005 for ; Tue, 10 Jun 2025 23:07:12 +0000 (UTC) Authentication-Results: imf03.hostedemail.com; dkim=pass header.d=Nvidia.com header.s=selector2 header.b=tQhB3FFC; dmarc=pass (policy=reject) header.from=nvidia.com; spf=pass (imf03.hostedemail.com: domain of balbirs@nvidia.com designates 40.107.92.71 as permitted sender) smtp.mailfrom=balbirs@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=1749596832; 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=jJ6zRvUUmGMO4iJhr04dKtdw5ao1hwD5Gh/n1FckI8M=; b=kxyaX0SuPqSj6M9qpOJXabpcAhay8KeTUAhq11CaIBqZ0lXsuVppNpjzHEjKMm8ITw+cry PESu1csdNqBmexIO2tZh4jwJtcazMRruhyKO4SjFqrUtoR4F2LwH26z71mywvVWyDKXxiv bGcbkS9zIM+YG5JiraTs7LxxNHMIB6g= ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1749596832; a=rsa-sha256; cv=pass; b=is3WxBT8Csw1ryzOArMx1xgUakl2Jq8oimZTJInAp47DkHFbuDjF900PF5FR4nblEDmi8d gmbP2tiCuE0Y/jeGhw7SmS+gtPbCLjP44q7I5QN9xTSmnZZ+lNs2cU/32tAGwfVrCjjeku IkHdlkh8nH7qs+pC4Soueae324CdiCQ= ARC-Authentication-Results: i=2; imf03.hostedemail.com; dkim=pass header.d=Nvidia.com header.s=selector2 header.b=tQhB3FFC; dmarc=pass (policy=reject) header.from=nvidia.com; spf=pass (imf03.hostedemail.com: domain of balbirs@nvidia.com designates 40.107.92.71 as permitted sender) smtp.mailfrom=balbirs@nvidia.com; arc=pass ("microsoft.com:s=arcselector10001:i=1") ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=THg53q58mUgjJoAAvqHL+S4UwtgWgzZXFzgx5DaRKKOsSrdi8jVg/4LvUfkDztD1OAYOJFsd/EM6d1ddViiFxj3HjobUY1DK3g2TfNO1I9duDJ0aR3KT2zEByUjBGKWUuC9rTHk8IFRjXy30eV3xbp017ZTaYQNY09q8An2s+yirymFE7/6VparrYvwuCiXd1RHWWEmMfETVh0i/xC5PnjSJHcbCZ8PPxSpAVVL5CluUZAtm5xeiqUhCpeXzuuL5NsCd4ZV22eHhD9HBE/9bOXuVmmQKC0DUKrohDyku976x4/MWdSG089lgitBJuJbWBOT0Nwc6Tt+8ZQK8n5emUQ== 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=jJ6zRvUUmGMO4iJhr04dKtdw5ao1hwD5Gh/n1FckI8M=; b=J5gBkbdPjBNd/8zhKmYet/MMRNHxVbnkzkHmVB+IYkEXlE3Bfu3Cglvm1g3zEgoxIhST179JurW0B0QbDYCXORynyES5C1tDoy2TFar+KDDM7ASnhJW6cVRkjhMpXxTIW/rHD24YJsMQ9EwNcrl4rnv75ERbYbrDZirHfElUyLp85SgRFSDyeeRA8Hlqb5MBw4ZPjhsrD4wYl4RYH17J3bRt1BxNjmy+wVAkAebi7MeEWGcw6rnXARYb/EcOGtAlNyuNv/ieL1Yxt96NhKZXy60llBbm6aTF4G0aKHrSp1rY+zIzaDLS0BnNxU7eVNLWSuhnQ5YPyXw4E8tCoSQZzQ== 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=jJ6zRvUUmGMO4iJhr04dKtdw5ao1hwD5Gh/n1FckI8M=; b=tQhB3FFCjlyey3gIyS1DXF9639JKrl9kpCT0Q88OX1MyqsLNgAkDSW+6a3WP5tjWJgLtDIabLH8hh7NqHV5CkLAfd0PJ0ZIuRpXZWi2MlfPala05NfIf9V07je3OS3xwPqY2a6sMfEYkPwEFBEGT6YPTh9ZCqTxgdVVtREoTY034E33JOlbhgXnPSeo67MkCKF6d4Nuo9p0w5Y61Iqg3CKc+yAt1ZWJaZHrE/lLqozE4f/fzHLJrRX2jkbu5LoT0YchG5fjW2zU4XU8eyCiPnNMjyYJUZ1covqyKbbLigeaufGsZUjdAFqTtR3aVwDd8kW/351gKrIV1zlLprXJJqg== Received: from PH8PR12MB7277.namprd12.prod.outlook.com (2603:10b6:510:223::13) by IA1PR12MB6459.namprd12.prod.outlook.com (2603:10b6:208:3a9::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8792.35; Tue, 10 Jun 2025 23:07:09 +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; Tue, 10 Jun 2025 23:07:09 +0000 Message-ID: <206e24d8-9027-4a14-9e9a-710bc57921d6@nvidia.com> Date: Wed, 11 Jun 2025 09:07:05 +1000 User-Agent: Mozilla Thunderbird Subject: Re: list_lru isolate callback question? To: Dave Airlie , Dave Chinner Cc: Kairui Song , Johannes Weiner , Linux Memory Management List References: Content-Language: en-US From: Balbir Singh In-Reply-To: Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-ClientProxiedBy: BYAPR02CA0037.namprd02.prod.outlook.com (2603:10b6:a03:54::14) To PH8PR12MB7277.namprd12.prod.outlook.com (2603:10b6:510:223::13) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: PH8PR12MB7277:EE_|IA1PR12MB6459:EE_ X-MS-Office365-Filtering-Correlation-Id: 6705f158-4d52-4b8d-3507-08dda873869d X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|366016|376014|7053199007; X-Microsoft-Antispam-Message-Info: =?utf-8?B?SE9nVHZCL2VDMUVudE5kZkw0dVRtU1BQNnBMMWtIbXVCMXYrMDZrMTVYbVhC?= =?utf-8?B?c2hLaWRkR1V2Q1JUTG1ZSUNuQmFFUXR1RUNmWm9TVEpHZE5iTDNRMlRiUHEy?= =?utf-8?B?Qy9jT3lIQXlDWFQ3elQ0Y1c3Zy9sT3B1TXRqTnBZMm94L0dKUWZTT1hSMlFY?= =?utf-8?B?QVYxSGNncWJueGsrQU5uN3BiVnI4M3REQldsdFpUZXdvSDNQeFYzNXdRSlo1?= =?utf-8?B?UHJVQ0UvNTFxclNMME16RUppYW5qVjVmd2RJV0c1bkowSGtRMWVJVTRNNFg4?= =?utf-8?B?SFZEb0JVMThvZHJqUit1cGgxVzA1dVExaGxWdzBCelpPNDR3M0Y2d0txK0I1?= =?utf-8?B?dFFCM1d0Tm5QK05Wd2p1SzhqTGlHbHRKV21BK0xJWm15ZEpVcWRWdWE4VXFi?= =?utf-8?B?NzVlRThTWGZYcmE4YnJKZ29YTG9UM2VFTUtoNXV5N1k5WmVOZC9PR0ZJY2o3?= =?utf-8?B?bUxOL1dSQ084VVdWbXBoa1hidG95UlFONUJnQWRWZ0Z5ejQvQVhaYUNtbkpq?= =?utf-8?B?bDhQMUtKQzRQUExqT1JZeVhnVWR0emZjR1grQ0tyakw3dkFBUCt0RVlmUnVp?= =?utf-8?B?VFlsTGlXY1greEQ1cnpOSllCSFpuaWJ3QjcyZ1NDRnRtYnhWNE9JZE5BWW80?= =?utf-8?B?cXdUbVBjMVVFZVA5Qk1MQllHYlpEYjVELzBJUG4yNUdTWVhuMkl5MFR3TFNL?= =?utf-8?B?L0pOcGIwcmZOaE9jajk1OWNzM0JDU21DVWVmUk1WSVVVckxUZ0Zha2lhbHBT?= =?utf-8?B?Ris1RlkraFB6dW9wZmtlN0JndkwxU0xCZ1JxekxsL0dNcVlWaHBkWk52MHov?= =?utf-8?B?TmhxM2JqazgydnBIbjJtYWsvT0RRMlJ4N2paR2l2VWJOT3VVSWRUSTRiWDFj?= =?utf-8?B?MkJuYXpsNE13elhhd2RidlNYSFB2OUZDVVU5U0I2dG8yVzFqaXhJV3A5aE4x?= =?utf-8?B?Q1VnZ3FMLzQwUnRvUlp5WGVNZU1rWFNZT3lxYTFTTFhsa05scGo2c2ltdlBH?= =?utf-8?B?Wkh3dHFaa1AyTmVZaEFLT0s3T2pDeC92MjVzZjkxNWJialN2dW1sejdLV0ky?= =?utf-8?B?dDNhSGVrWGRoTThlVXQwTHROQTZIODM5blJWVFIxT04yYWpFSHQyRzZaT20x?= =?utf-8?B?YWM0c3AzVDZLeUhWVTBrNURTL3VqSjNvSjE3QTgxcG8yMHREeFBvZU5obFBZ?= =?utf-8?B?ZmpBN3pUdEF6VEtDTlpob3NZTGF5dlZsYnZpNXF3QzhmcTl4aVhzdmk0Uldh?= =?utf-8?B?SHQxcFhhTnd1OStFM21xaXdpQzcxQWR3aDljQkhuK3RPNzM3SzBGUVYrbjRT?= =?utf-8?B?U0pBKzY1MUVOZXpSY1FSWlJsY3JVQmVSb0I1SGE4YThlNlJMSXVIUklGQ3BX?= =?utf-8?B?cnNYSG92Lzc2eTk5TzBoVms3TUkrN3A1bWh3emJ5T3JOT0RMZit2aUhBVnh0?= =?utf-8?B?OSt6R2ZhcjF6aUFFZzlsOWE4NXpySENQbWh0R2FmdnhQekF0b00yRm5yUjZz?= =?utf-8?B?OXNLVE5laU1qcVhXek9DWkI4S2lPVmRSNDBlanh1REZxbmRONEpwV3BEOXF3?= =?utf-8?B?cjMxSy9FVnlLbzVwbEpnc0ZwSDl3Q2lySlZlOHhwd25WUXJhcEJTQ2pUSGZQ?= =?utf-8?B?eUpjaStyTXZKTmh0cG9pQ3JBOXMrMEwzbDZxWmd5bURyOGRyZ0hzSjdTaUhk?= =?utf-8?B?UFBpZFJlaVBoa0dBNWU4YmluR1hJTGFhWnZLRG5FNllEMElscGNhckMwR0Qw?= =?utf-8?B?bUQrQ005WHpyWTRFN29QRUdMZEtnUkQyU0NvM3ZjS2l1cXA3N0lzS2FBdU1q?= =?utf-8?B?b3pvdWoyUE1DcGlLbjBYRGV6VTlXUUxjV3Bic0Mya3hQOFhXdkl1cy9PNkRy?= =?utf-8?B?YVVNQXFQalZEek1ldXVISlBRaVJjQ1M0R0JBUk9kQVViZmlyems5OW5pQk5Z?= =?utf-8?Q?Ewe2++IVU3U=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)(1800799024)(366016)(376014)(7053199007);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?cTVxb2VsSU5SNXNnVFZZMkRONGpGVWRxWVhqbXFXZFlhYzkzcHhZWHR6NFlh?= =?utf-8?B?WWY2TXNCYUN0S1YvSW5IV0pXMmx0ZjRLakhhSkxpR3hPZTMzbjJHWGNiMDBN?= =?utf-8?B?bTFyeDlDd0FoNWlNSVNXZ1p3dXkxamZzTFFuV1FZdGJadUV6YU5KTWxlRGYy?= =?utf-8?B?ZC9qVHVIeFVhUVRPUklNMExBUEFOTWNKRytISFVZeFBkMFBXZnN4MkQzVmpF?= =?utf-8?B?OG9GeThDMXBqNUJxWWNHV0xnZW1jMVJEeEVzYkQwbVVlWGc4ZCtlTjVTdTJY?= =?utf-8?B?V0REK0doUmlRWlZ3NkltOFV0SE1rQzJxSTJIWkY1bkYreG4vc01NVWdhQllZ?= =?utf-8?B?WFliWWNoVCtUR1BuT0NmOW9GVlJ1OWt1bDZndWwrUCszYXZaK2Z1dDNMVFdY?= =?utf-8?B?Qk5ZNEJ2ZEx6Rlk3YjFKVUFtZzRHQkZCMjM1blhjQ2dFY0xJR1J1TDlEZ003?= =?utf-8?B?NmFjVURNTWd3azJDbjBCSHZodFZwY0pnbldvdjZYOTFoOVEzMWdsQUhOS0Zk?= =?utf-8?B?VmhKbmh4OFVwcFE0YVgwcXc5N2dzYzg2a2d5SXhCUUtTa3VwSTByVVBFVnBW?= =?utf-8?B?WGJPdXFBR0ZGb01rU3NtRWxha25VN05OOUdzTEtybHd5YWxsR0VBRUppcW1Q?= =?utf-8?B?QkhvamptZXlRVnpwMXBFQ1BJVGVlWUlGQiswS203K2txd2o0L0FZd3Y5L2lT?= =?utf-8?B?VmJTR3RjcytSd1Y1Q1FhUFlHZDFYK2c1QmxsekE1ZHhtdHNFRnB2SEl5eGoz?= =?utf-8?B?ZDJuRFduZXI2VXdURGlhTTNGYTdCWjNuZTMzT1FYUFh3YmZUYWd2dnUwWTQ0?= =?utf-8?B?ODAzaklsRjh2S3NnUXBqTWdVdm5YWmZ3L1hYN2ltMUVKcjlxL3RRaGFtK3lU?= =?utf-8?B?bWVYcUUrZGJKSGdRZ0t2STh2YVZOemJlNnpsbS9vZnVFWVZaUkJmcFVDTTdh?= =?utf-8?B?NzBoYlJlSjRabkpoaC9RbklaWmxmQnAvS0xhQWNjcDhTZ0N3NWtSZXo4d3Fi?= =?utf-8?B?QTN1a0pqMkV4V1h4T29kS0hDbXdETlZ0WDJyN0pJWW55OSt5Tm94OFdpQVJM?= =?utf-8?B?QnF5UmhwT0RYWEtHd2o1WUhRWWdiNEMzOS80YnFRblFXdWZTTStRdXJ3Sk5L?= =?utf-8?B?Nlp0c1FGcEpCZ0p6dkN5MDFXNVU1ZldmSzVoL2lJcGxmTmh1QzFyMkRTZHFq?= =?utf-8?B?Zm4zMlpMY1ZraWVtYThRTWlzQ0NhTGRwbmdBZU5LMGFTb1ozdSs2bkREV3Bj?= =?utf-8?B?blhqc3FTbW9oaGI4M0JPRFZHclNuMWxacUx1eWFueUQybzdrSnFWU0xlVzdL?= =?utf-8?B?c1k1cmU1bms1VGptMHB5TkIrOEhtbzg4RG5XZm1qMVVCZWdXS0FoZ0dwYmRG?= =?utf-8?B?aGwxRS8zT1R2VmxMVjI1N2UzczhRdENwSE5WRWJBVEZKbVpoSXB4Y1pIaUsv?= =?utf-8?B?YkNFYUJyWEZJSVBNeFhUWGZ1dG5ONmdTQ1d1ZWpodkxpMG5FU25PTHpqcEYx?= =?utf-8?B?VTlKMnZNR2xRUlVhRXZDaUkrdkFpVDNFOVlENWZZUzVCYnc1T1lKeUlPU3Ew?= =?utf-8?B?UVlhMjZwSHNjQ0kyaWkyS2RpYkxqalpaNE0xNzJ3SDZhcW9zaDAzQ3NEbmlW?= =?utf-8?B?YWxURXVnc0dwZGFwNmlyMDhONFZzNDVibU1nYlZRVjhrN0JVN2tjSWlzeFgw?= =?utf-8?B?Qk42eXR2MXNjeHI2M00wM044aXpSMlRlVERhNkRTR2NqK0tia0x2MEdxUXNQ?= =?utf-8?B?WnU5MW01Z2FVeng1TE9BSWRicUN3SkErT0hxaHFIMHJ5alV1aUhCREgxNkRs?= =?utf-8?B?Y3oxVTg1UzhZb3JpV2ZPV2R4bkd5MmVvRjdEL29IQVNQMEJuQjdNeVphYnF2?= =?utf-8?B?VDVyTUxGYUt0RmY3RCtzS2hhK3B0WkpoUVdHa2VBMUs1d3VsTTRiQStDYS9H?= =?utf-8?B?R0JXVG9BRFk0OFpoTjUzRFNKL0FtaGRJcCtJazFBZ29NbitvMVliSGszdTRs?= =?utf-8?B?UlJuNDk3b2FFa1ZvbXFZQ1ZIakRXUkx2bDVaN0dZUnRSNGZJeXhZMmdjK1k5?= =?utf-8?B?dmYwTDlScVNKTmZsb0lUSitvSVBibFV2SFZ1cVpwRzBYQVcweFJKY3pvTUUx?= =?utf-8?Q?5+E5ZRtDZEotsV+SmhV+v68G2?= X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-Network-Message-Id: 6705f158-4d52-4b8d-3507-08dda873869d X-MS-Exchange-CrossTenant-AuthSource: PH8PR12MB7277.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Jun 2025 23:07:09.1079 (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: 6BVZCI9PTUGC1BBnnTO9Tu5jvR0pjmaRHse/lNvj+jmGfq4vPseg+l69o1PcCzEKmf/OPG2CSc6BhPcYDoXa/Q== X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA1PR12MB6459 X-Rspamd-Server: rspam02 X-Rspamd-Queue-Id: 51B3620005 X-Stat-Signature: 46ytqmi7agmxskfxsnewjtxgkyyrbnys X-Rspam-User: X-HE-Tag: 1749596832-165738 X-HE-Meta: U2FsdGVkX192Q7hWuVZT1jyUVtrh3KLeP8UAueu66ohJK6atK9dBN87NkmMA93HgF8rojwX3f1Lfhci4s59fl+y8dz2CfqqeQseQNqzdVfAoPMHDvWz00H0eMNhTSVoxQrjsHQQHS1Bx2ZrQBCdG3cpFcDM/JzdnJQe08qb5fLZvV0bzU3jCUeeNe7uNMoU7j8zmVmPB5H1F1xJzj+zMVoYbzzsk7DYQ99P4L8bhfRric1BnffWAqqWO5WmuV3eqyEOQfSSeiNpT5VO4tqyrwbglqyT904tCH6BTvc5HbVwI8TNmZiQfmr/Z/Uoz05ynAsoiy9zerAm04SKW01qKI3s15z6XQKLtlx5oP4IO7Bo8F+gGt2aEw0urORaKrA7XC4iwEtCeMkqiFDwASecjwZyMqJBdwYUcqBqgjQifmVPxF3rzvhcUZytBWhvx8qYAD+l+an8TphjrwuEZUTFaZmhSEBBXlQTgLrCW6vuIGs/OjMmZsKZpop7oMcGPR3GDJUCw1ylipUol0efbgTUg7ixKnBQcn3Up6Svf31fY2B3K6H38OO1w77ZJZjOukQun3zl2YD9twliMwWB3QrO6oAwW7In45h7rWu3D7M4iPaNmdIpYSaqfkmNsWqR6tsUSWquA5hZCKwv5pHD1J4cFQNCoEo74sRdEhedH3l7PXh/940TTs4Pkoza5LjDXKxoP/ShgXagyLxEzI1BOMD7u+S+r5skQ9D/oJymcQTX5+6Hn0GV5dcogpGI1x8K2pxTzQfIvwO3ndPrEHAqtoxmXbb5f16HTCtvVNlwzZ4YMLmPUzDNjpzgwmLJR8cL2rQ5z8VhWaIm+5JTQRRPGMNHsIiUPuIdLNYavVgXlO/SE49fwJrOx44lc71BjjNX9UtrCQEPn2IlNszY+dfEuVUUmfJX5geHcMXk3ogCrn5yoNqh8TTQgeO17hAdDGO6KQ8Cc4iW8Bp49vsYL5xWsc4O 8Zi8pKhc SRMyGU+NqouFVxuZStc3NZY5UWQJWfJxyrqut44o3WgeUWkV36EvG7Nv3D6jA2eyYvenGtQQAiBK7Gk9UghK4pzHEHp1bjt7lZeVhj4seYSJkChR3mzbAGDQwmzY1sT73BxvgzfX0XXp/QhpAQDHhrszIwKIJHYTsjOInRqpxkl9CczmuA36Tf70wS3LsGcGo1TnBHNNUVu+GTJIWa5nlK2WS5bXQaOY1xfilrW/a/95lr1dT1kp9zVU+gmIq3YdS9nan5gOOcm7wctLVSo8PSyUPfh35UylqNrgcrCAGYsCrbbc9H2BZPCyPJODa6LJ2WrAGLwfm/D2m226463QStTVT3LybRytyvvuXvSNjIIVbYA8RWH6gVZUb650T+zQ0L5fIE8GfE5mS8zVldqPzeSDzsjGoSXfH4hZR6v878HkEWzw8HXnHfxAPRMX0eKoOS7U+HQPv9JDeogn8i8dZCX9Ibughxwxarc9nWz5ZcOAgCeFhcb0sUzCVdZXhpy3wexVXaE/Y2/hzOu5iDkQ8LX+V876aOOaSmeh/k2eeULL/A2q3YwNPlG9CQ/a+zijG9K7UfloIklxr8Wedi8igoe2rCXYRRh13AaIoQLXuVGWbA1EDNH8ksGwXpQvVt/CfYX3faWitNJmIxBymXSWd+LM10A== 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/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? Balbir Singh