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 190A3C369D1 for ; Fri, 25 Apr 2025 07:41:04 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 792836B0006; Fri, 25 Apr 2025 03:41:02 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 743346B0007; Fri, 25 Apr 2025 03:41:02 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 56B506B0008; Fri, 25 Apr 2025 03:41:02 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0012.hostedemail.com [216.40.44.12]) by kanga.kvack.org (Postfix) with ESMTP id 315E46B0006 for ; Fri, 25 Apr 2025 03:41:02 -0400 (EDT) Received: from smtpin09.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id 4319CC1484 for ; Fri, 25 Apr 2025 07:41:02 +0000 (UTC) X-FDA: 83371769964.09.346A83C Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) by imf03.hostedemail.com (Postfix) with ESMTP id D5AD42000B for ; Fri, 25 Apr 2025 07:40:58 +0000 (UTC) Authentication-Results: imf03.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-11-20 header.b=SwA1eVBW; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=RvAthsQW; dmarc=pass (policy=reject) header.from=oracle.com; arc=pass ("microsoft.com:s=arcselector10001:i=1"); spf=pass (imf03.hostedemail.com: domain of harry.yoo@oracle.com designates 205.220.177.32 as permitted sender) smtp.mailfrom=harry.yoo@oracle.com ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1745566859; a=rsa-sha256; cv=pass; b=LSWyYTVlMiZPnw6jJlc9VPzZaE2SF9CQP6RdaDgVdzIDjpJ/rvVFQe4DgmU4kHynUIDKUI eWUWGCIhp1ynCKRuFSK96JJELRL8Bd5KZeh1oFEccErsNPDmcI+Q2MdKsHPNGjK7AGbWRJ f82CK8qYewZT1z9tXppo3ytnzMdqcRU= ARC-Authentication-Results: i=2; imf03.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-11-20 header.b=SwA1eVBW; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=RvAthsQW; dmarc=pass (policy=reject) header.from=oracle.com; arc=pass ("microsoft.com:s=arcselector10001:i=1"); spf=pass (imf03.hostedemail.com: domain of harry.yoo@oracle.com designates 205.220.177.32 as permitted sender) smtp.mailfrom=harry.yoo@oracle.com ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1745566859; 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=U2iA6liHPCPRYHRm1zaBaFPUaaHi9CAreBzbExzcQG4=; b=BaasYVsj7JQARGAoP1u3zatRo292tZ14FThliKDDPuxk8QXqmSKWzEqJJe/8FHJPiaHMnX V22jZaNeaPXU6Pn2Sm0ZTKZ+BE7/iIwFb3TezTpwRGdcpcYkO/VZkR+YQFws3mf8nU/IK8 craEhIlH92QWa8sV3VO+ZdlLfK4W7Rc= Received: from pps.filterd (m0246630.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 53P7MdC5006462; Fri, 25 Apr 2025 07:40:53 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=cc :content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s= corp-2023-11-20; bh=U2iA6liHPCPRYHRm1zaBaFPUaaHi9CAreBzbExzcQG4=; b= SwA1eVBWMeftZMpa137ox2kaj/qGrIUtDo1zi8niwxKghucBGef54qgtCFMCAiSQ I7MOycgeTjk2+xPwdFpEvNwf9UDcLFL2IUJszyjvgpKT9j7wMsMFb1QT4oJIXtnV WuXt9R9APNvyOh5uj77JxdCEAOMBpeSM4Npo5oF+Q3AVT+UL8gP0igCWGMhRaOMX ynMhfer4Xz/RhJghyfY4gDK/Yq0xbEdnXxGyuQ16DPzVOQ0HowSlFgOPCHxhFfvk 7qFXZGnPaY2IPW+xvqQwC1RjpuVgwLnbIwVHg6Fs9U41vXNByETClkxcR4+cpvnS e3xCJSsVaXxg76MKG9zEvg== Received: from iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta03.appoci.oracle.com [130.35.103.27]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 46848kr645-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 25 Apr 2025 07:40:52 +0000 (GMT) Received: from pps.filterd (iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1]) by iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (8.18.1.2/8.18.1.2) with ESMTP id 53P7bV2k017293; Fri, 25 Apr 2025 07:40:52 GMT Received: from nam11-dm6-obe.outbound.protection.outlook.com (mail-dm6nam11lp2173.outbound.protection.outlook.com [104.47.57.173]) by iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 466jvhj6t5-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 25 Apr 2025 07:40:52 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=ITKPurFb4UIxB5nwTSedIzRkS0o3XzZbIsCj5riEMCfGpaTfI/jVOl1TM+3L+dhxONaci+TXAq9XVRsQ6t32GC8SL/00Rt+OxJEy4FWbKgw7knn47PDVnwap/nzAt8r+8Pv/5zSUzP/sndfCqnxkU3T64BfMmYzIXO2zQVSc6e+9EiQRv7YVobyUgAXU6rdLAhWSf9sf4OyIJTERW+Xtcg8n2dXBDH1evItmTcxvDIBmAlEE8K2Wk97jQ+YSt5a+4fZWHSDUT5tDiwhoI51gOEKP88sMaaLe4ZqcpLum3Q/LLHQhLM5Ulgo9HkOOji7ER8X1V8GsooDEa2c5Scl2VA== 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=U2iA6liHPCPRYHRm1zaBaFPUaaHi9CAreBzbExzcQG4=; b=lnArDFo/d0rl57/JBX9Z5lc/AYrjDKUiBsZeqhWZ8bCYUaOzdqo4gfNC7+LsvnTiZQveCT97+MCS867p8dsm1bMdH4fdEBpPAK0Q04C0ByT9wmGat0NytLiulwf/XCDSfvMK/4XrhtEZzfCp/Rz9krl1abT7u3dUzePsHjXhcmBWNxQ7rY6e+c79QqiQ6UzW4bRMazfZEQseZrUxTjdp9HzGx2wzDr9bZq8fAAW7GvWHXvJZUXVYtpULao/ISZtxC9kSueqYnuMHlNaPk80nJzyb1vxdU+poFYxdDz25DUxhmiEvPymDS1y5et77YjQFG8dezPL3/D395DCIJwz7UA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=U2iA6liHPCPRYHRm1zaBaFPUaaHi9CAreBzbExzcQG4=; b=RvAthsQW8A6gqg2UQGUsK0rZjUbmI54bB2J/H6lOAq8fjBNpRVaOVEEHFBjv80AMjOFHbNkC8u+j6wgfgv1Q/bgTJuapaZUa5fpvNzM9/edERHnsieEj/yE2dLpZS6kMgH0vjvRymf1xGQITbxTM6MXTXPx1ZrGb6ojBPOzIobU= Received: from CH3PR10MB7329.namprd10.prod.outlook.com (2603:10b6:610:12c::16) by CH3PR10MB7742.namprd10.prod.outlook.com (2603:10b6:610:1ae::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8678.22; Fri, 25 Apr 2025 07:40:49 +0000 Received: from CH3PR10MB7329.namprd10.prod.outlook.com ([fe80::f238:6143:104c:da23]) by CH3PR10MB7329.namprd10.prod.outlook.com ([fe80::f238:6143:104c:da23%7]) with mapi id 15.20.8678.025; Fri, 25 Apr 2025 07:40:49 +0000 Date: Fri, 25 Apr 2025 16:40:41 +0900 From: Harry Yoo To: Mateusz Guzik Cc: Pedro Falcato , Vlastimil Babka , Christoph Lameter , David Rientjes , Andrew Morton , Dennis Zhou , Tejun Heo , Jamal Hadi Salim , Cong Wang , Jiri Pirko , Vlad Buslov , Yevgeny Kliteynik , Jan Kara , Byungchul Park , linux-mm@kvack.org, netdev@vger.kernel.org, linux-kernel@vger.kernel.org Subject: Re: [RFC PATCH 0/7] Reviving the slab destructor to tackle the percpu allocator scalability problem Message-ID: References: <20250424080755.272925-1-harry.yoo@oracle.com> Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: X-ClientProxiedBy: SEWP216CA0027.KORP216.PROD.OUTLOOK.COM (2603:1096:101:2b6::16) To CH3PR10MB7329.namprd10.prod.outlook.com (2603:10b6:610:12c::16) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CH3PR10MB7329:EE_|CH3PR10MB7742:EE_ X-MS-Office365-Filtering-Correlation-Id: fcf0fb82-f7a9-4893-1038-08dd83cc7f7e X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|7416014|376014|366016; X-Microsoft-Antispam-Message-Info: =?utf-8?B?RlZEc2hJU3JJekZRSksxN2o0NS9aaERaQkdRYkJRajRIMVdhUnUxZnY5blRz?= =?utf-8?B?RmlMVjlpeGRzMGpYQmxJaG5MUWFoWXJMUzkzd3NZb2pRdUhXZUhlbWlSMzN3?= =?utf-8?B?L2JpMTBrdlFEcDQxSFJZdWRObUU3WXRRNnhhTkl6Q2ZkZjk5NVF2ZXZBQU9l?= =?utf-8?B?TzVVZWRFa05RaEZZS0ZWcWloYUJvSzNGV043VHRrVUV5NUZhNGJNNSs1bnM0?= =?utf-8?B?Q1pBVHpjYy9ES1BRNHhSK2lhZytyemJNU0liN0UxNjZCWXZTR0g5NStrbWpE?= =?utf-8?B?cjZ2WGhwRlBDOHlRQW1JTlorV2pNRkxrZTAwMW9MM1ZlM0JwUVBRbHdhaXVO?= =?utf-8?B?YkdVakxhVFkzR1hZUUtra1RpNFdxNnMyMTdHRkJERkdEWEIvbTU5RUg4bDVV?= =?utf-8?B?OUdWc2hDd01UUE1CV09SRGxia25OMEhpT3dSVzBpMFJacm5hakhxSDJQYURk?= =?utf-8?B?TlI3dytvSHdIcUt0WDR0RGxWOU42UkhjT1lEQThUeGFYM0VPTUdSbWk4elRX?= =?utf-8?B?bDdGWVlFRlVzbHozVkRkM3dlRTYrTjdxTkNmMDZjSFd3VjY1ZXdtMTMrcHZM?= =?utf-8?B?aDdmbnEzVVNGYjZiZjdMM0Q4YXZiK00rNFhLakRub2VSRnpZUEpiSlJKNlcz?= =?utf-8?B?VHgxOUZIbndoa1p4ZEY5Z1BJRkdyRWc4UHgwY2hGVVZaTjZJcGZORjB0VVgw?= =?utf-8?B?ZEh0UlRIbS82Ykh1N0orbER0ak00R0FFVnBTQzFtMUtCN1FOMUJhUGl3MFZo?= =?utf-8?B?Umc5WUprOG90Y1NnT2FrbVhzenAwb0ZieDFHOTlIeHp1ZDdtUkthU0dBK3cr?= =?utf-8?B?QXF1aDY1MmxQcnloaC9IQjhTRzlrRWNGUitkOU1KbFJseVhPRy9BM2JzY2d1?= =?utf-8?B?TUpGd0h5bVZ1azIzNGsvWE50NEpaNTJEdVNiNWYzdStOK21jYVhFbXpNZklG?= =?utf-8?B?N2dYVWVzYWpXQWpRZEpBWmpETkF0TWpBVlVGWmpVcGpUQTRLQ2tZZm92eWZy?= =?utf-8?B?Mmp5OUxDTUZaVE5FTHRObEFpYUlCay9ra0d1dGZycmxSVUd0QWxJVmRJV01i?= =?utf-8?B?SFVqR3NGY3o0TDhZYWdZNzFqdTA4YUdqZXJNaVFQRWNhdm1BbjZQVnJKd0VL?= =?utf-8?B?N1diS0ZzVk9uNVJXYzA4eExOd2M4dEJuaWpGTE5IWXZOQVNBditPV0lBZGoz?= =?utf-8?B?WlFQR1Qxa3c5Mjd4TnloTjUxUkZzdVV2MEZZMjFKR0htcStxdE1xWkZIeTBh?= =?utf-8?B?TGJIeGhCTlpXSTg3ZHdoWERIQ3NLV042OTJSOGpZSUZJSzg2ZmFGaDJGSEMw?= =?utf-8?B?aGxJUkEvaUZXTVhucXNCRHV6TTBwK0R2T2JhMUF2eDQ3NE9NeVNCWE1UN3BT?= =?utf-8?B?V2xXVDlpbDR6Z3pWNDk4S0RFWHIwYW5JREtHTU5YdG95NXlHVmduRG1xSGpB?= =?utf-8?B?SUFORmR0L2hsUlZIc3F1SkZOK3I1Z29SSVYrUVJSQWh2TWxNSng0elhvY3RT?= =?utf-8?B?VUUzc2RvUjR3OUg5NGM1Wnc1Yk1VcFIwWkF5MFd1VjRmWmhEUWQ1SXVQZUhq?= =?utf-8?B?RlFJMHkrOXpMM2d0U0o0VFFUMDczR0FRZ1ZBLzJUbll4VE9odHFlTkdzaWZI?= =?utf-8?B?R2k2WlpNVDV3T2xJUUZCeC9sT3hQQXVGdU1PTW5sTEFzQjgvTzRHd0pTNmVn?= =?utf-8?B?QzlyQkQ2bXBRMHpQb2tDVlRtaktFMGNtV1NRcEdzUnpsTzllcndMcFRxVUta?= =?utf-8?B?dWJoalFlRTlNMm9wbXJEOHdFSU1abDhZUFoyNWJNelVneWhvdFU5a2t5R3A5?= =?utf-8?B?US9MRDhCZXQwdlMweU1aN1I2eU1FUUJjN3ZVejlqU3RldGlGanR1N2xXM1NI?= =?utf-8?B?UExQRXdwWC9NeStvcXpaMXdncGtUcUdDdkd1Q2F4NVUrYTdZNnRTRFo5dS9X?= =?utf-8?Q?NZgClCaUIDQ=3D?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH3PR10MB7329.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(7416014)(376014)(366016);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?aEpaa1FwbkdCMnFteTdUR1RpTXNnckwrM2NHMXlaS0lLTG1ZQUlXeDhYSk1l?= =?utf-8?B?YkNWNVpLUytRMFhlWjl2TnB5dzB2MVpqUDFkekxxSVNCN25mVnZxb3FlL2pT?= =?utf-8?B?ek5LcDJKTUNFUUdON21laHJMcThrWTFQdkNnam5NcDArME9TM0ZnVlFGK3U5?= =?utf-8?B?YXVBOEl3S2pzd3ZLQ3crbXhVVHQybzZ4SU9HWTFBWExEaC8yYlVoc0JJenRq?= =?utf-8?B?TUpQYVBWckN4U1lheVFzWHVlL2RXUU5kd1JqYUI0czNHYVREREdKTGJPQUxB?= =?utf-8?B?dENUeWxLRUh5WFhyS0JsVVFxblNCTGZHbzdJbzA2L1pZRm1Udmdzdkk4N0xt?= =?utf-8?B?QWNPTE5uOVdRRStBYlBhY3J6MnVURVZYUnBZUGRUOXpXUGJLOFJ3L21wbzU3?= =?utf-8?B?U1RuV2N5bjZiaEdESFhIYy9vWVFuVlhPdVJmN0FOemFWMmdPeXJXaVU3RmQz?= =?utf-8?B?SHFkbDJRWVYyYjlvQlovQm1Fb3pGS0Z1SFJCNlVSdnlSKy9wc3hGbzRqcUlK?= =?utf-8?B?T1MzMnRueVp6cFh5emtadi9Vbmw1RUFmNVZJaDhzUWc0WWl6WUo0bEdXQWND?= =?utf-8?B?SG5TV2o4L2ZHOHhNOU9YSVZwRDVNTVcwQjZUQjNyUXlrMk5jME9OZlJETmwx?= =?utf-8?B?VzRpWmZUcENtN09vVzVaVXMxN2o5M1BiRExhbzhCaW1pbFJsb0RTRXlvZzAy?= =?utf-8?B?U1M4SXpFYnlTWkx5TDMzVXJsbHJ1dURHandyWEhDYzNyMzRNTi8wYklkMEVN?= =?utf-8?B?dzJHbWZyU3VEUUNrYXZPemFOZjQ1WVI5QXRSTlBYczBNSmZvQm5ibUIraVk3?= =?utf-8?B?dytyTFZzbVRSOG5MRWxxanQ1dWMramoxR0VsbExLdWsvRE1KWTlRMjJNRmtR?= =?utf-8?B?aUFIVkdLU09JaXlWeGdFY2R0L1J1c1NqbEpkWU9mYUVMS01yVGFHdmQ5ZFE4?= =?utf-8?B?Wk5kbU5abUkzVDNmellXL0FCb3Y5Z1VHbVpHNmJMNjdac3pZU09jb2V5RjRw?= =?utf-8?B?MVZDQStPOW1KdXgxSXB1VUQvbldNRVpodk9YRUVGYU9qOFNaMlIrTGR1a3ow?= =?utf-8?B?T29XQWZ4c0ZZMnNmZFYrQzZhSkk5OStCeStJelZzVU14TFkrK29SOWF6allR?= =?utf-8?B?STVra3d0STRRbVdZQXBEUkt3S2kxalluWHM2V3RhbElZbU52Ly9jM2RobkMx?= =?utf-8?B?L0txYmgyYzU4OWYva0V6NTNOLzFPaEdaWU1leUFkRUI0YmNyOXhyeGlSOG5Q?= =?utf-8?B?TUZWalJEdlk3NDlIZnhmamNjbkxCd3M3elFGLzUySGltaU1YdkVORCtWdnMz?= =?utf-8?B?NWp2S1kvaW00UVp5RDJjUUN6NjFJOTdGUkJmcllGaHVRR1dNaFhCRTd6eWdF?= =?utf-8?B?RDEyQ1pTSUcyRGtEVlVOZkwyQ3U5Z2xOUG8yNFdFSnYwb2YwV0pNYXFkUTIx?= =?utf-8?B?NHZpMjhBYmJNSUhjZjlzaTNxYjE5emo0WTFBdFVmZTFtdldKR3E3N3k4dlZm?= =?utf-8?B?VTF1bGg0elFjYkt5TzRZbWJxRzNPTHVYdzhlSjZLSWFRMUVMOFliYzRiSjAw?= =?utf-8?B?VWxRRW5ubzlHdDFmQytscThhMmF3bTl1cURIb0h5ZDVZaFljdG9lMmdHZ0M1?= =?utf-8?B?ZkFodnRQUlRKNlNyYlVmc1lBWmdIKzB2b1NFZnFNWGQxZGJ3RDR3RkFZcWtW?= =?utf-8?B?ajBYakVOcGRaNzBuUllhanBDY3hhbTh2dzJ4T3JQQmFoQ0VlZXlxYXJ6bWtZ?= =?utf-8?B?V3psQ0VyT3NVU2tWK2Q3Y21lS0JYZzBDWHJpMThzbG90YWJMVmZJc2pJSnpU?= =?utf-8?B?ZlFPRWtlNU5wVjVlTnA0M2craHFXdStJUHdXVlhjbEk0TnBvNGhXWFVUT0tx?= =?utf-8?B?RSt1VEVRRVd6bUFaeWFpcG12eWZMK1Y1NUllbTl4SlF6Q2dxckQ0RW5mUDY2?= =?utf-8?B?M2VTYmFuUEdIVVVGTDAzRTBZSFdXRjhDcnZmS0hCY1BPZ2tJdm4xVFo3UENu?= =?utf-8?B?emxNZTJmT3krY3NpbEdvNG80bWM1Z2lISTM1ZEpML3JpSEtsRk5BYUMwU1U5?= =?utf-8?B?cWE2MVpsamtsUzJJWHZzeEhTc295aGM0SjI0YlpUVUNIeVI2TCszWWJsNmxI?= =?utf-8?Q?zXuccEn0P7qBHRX7ZxqVLmpH5?= X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: LHNRa0+YCw/G+DPWRIq2h97fjqt1rRPsO3eltTDwJYZn2nJEi9JGc8DZGQnatXAzwCPoniFIaNog1cYtr6MdaFb7upak/OUBYWbDLcfpSthYDlKM8ktrqxHxem218Ilz9hGzgBFDpMuYxGKw7TOzSe43ZW9Eoui6+sWXYbdna17aOaQnHWnac7HMUQTPJOPhCEZks4onT6PU6WT8R7CQ5AnLtMqFMJjAMugTeOVx3ruPoLWA2TU5SpSkhvwAKzTPaojlDAks2C6SJK1eozxe+Uo9e2aINyx8vZYgdx+TVEI2LEvYdF3ep+50f+kRlogNt0TBu0BE+Crj9G5hbMiSJ8PRt0l7uoaQ2nw0Si1GtjPUUDeuQ3OMklecMT1i7EbY7AgGKYmS3rnENFxY2h++Lw2kk6H7jAmOvS0C9ZNGm7+sDDr+8G4+TtFsnrUgegOfB5Lypa0x0p0dkUw/nUmezzEPS+Hsrj0gTbCLUbHt88flKPesmmIMMNxoHWnbWTFhk1QLqCS0yoKNrkZ57IwpzrMP6Ee0a2MYFErgPVY11qKguAXf2++vrHUu7xvOVlirWZVZxxKn9J0IWkozhF/+UVuQrxbTXMRJuFzcMF05an8= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: fcf0fb82-f7a9-4893-1038-08dd83cc7f7e X-MS-Exchange-CrossTenant-AuthSource: CH3PR10MB7329.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Apr 2025 07:40:49.6071 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: EOdppVGTvMHycC6p2Y5DZltjJox2ByvhGQSNz3nnC3FsT61tfu+fQNWQ/CBvTWtv1q58+zK/jLJgsRXBX8YCkw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH3PR10MB7742 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1099,Hydra:6.0.736,FMLib:17.12.80.40 definitions=2025-04-25_01,2025-04-24_02,2025-02-21_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 phishscore=0 malwarescore=0 mlxlogscore=999 adultscore=0 spamscore=0 suspectscore=0 bulkscore=0 mlxscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2504070000 definitions=main-2504250055 X-Proofpoint-GUID: b3Z7yofTdD7ReV3aCGqKUMWclQnoo3Fa X-Proofpoint-ORIG-GUID: b3Z7yofTdD7ReV3aCGqKUMWclQnoo3Fa X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwNDI1MDA1NSBTYWx0ZWRfX5fln6Wgo5VQd zMcTp7VWOdpQXnjGnPG9yRTt1eoeyiXuWYWJXjBSE3zrDZrcbOXCsTiaZPgDcxzmvyQHfN57Gft OQTdAvdF/SJSr0VCOL2DyXhh5sOuZqW9DLubGQJgPeppjx7maGJzDUUBiT0sPPV7h5OmqUOKgQM JL3UF9ceT9QE5dm+hAMB3Au1ItoqOFJCitHvodcTmHNwZ0wnvi7PQC6hCE8GYBCeFTMCdeZ465K dZy3oLx+0j14PdKkww9Lmqgh5ZHuHAB+alGiR6gEC/Myma0jKkPEOvz87s1kcQxBP+l80rfSA6u 3Iw2tV06AITIwpMS8mpHMQu/Bw1MLTd9TcAdn8AYbOpTwG8q4CQT5aPHzuYcW+m42rNurKKLHT8 vFwaHaGC X-Rspamd-Queue-Id: D5AD42000B X-Rspam-User: X-Rspamd-Server: rspam07 X-Stat-Signature: xpchwdfaoyz5piguikkkjs6q3greowfx X-HE-Tag: 1745566858-776926 X-HE-Meta: U2FsdGVkX19hLonwiMGbLdYUGRbu28WZGFubjbJ9z0TCe84cP7hhJK2YYqYD02E41rA422eV8lKDcZGDViewbLL0AmKK//Eykwb7miP9n7mLq4idR5ZmE9idGKtA2nibi+fsyzlh9ZRUMklk6QqSZcRGhEmO2tOnovtHChvDymxTd7w+u0a0tjLIUkGUZttRE4RFMk45QVCYC/+d4Aet4Cue5QIqVNTldcXYs1NLrbfw5jc2tKvEp3TZA6mbGcO/K4Duq/MPu837ZNw0O3R6u6pxin/b03uZvF8lbR3jdflYY7MaC/+J8WZxgJswxxOSSBMNNLgLbz0am/BPZzoLAEmF8kyawXORCCcfwgxKjmbCv8kXNqnzEhZ6wsAEuCdCKB2nHx2JHwZuDUSHadFc3zYr6Hs3F/wmBXUfVbwP1U+POjMZVn5iNt2ivdEy/NUPrRPBRa5eRkWNk2jHhy3J2RG/7autJhULtYM08BdVCu2Bf+4fbPcMdAFfbd0xXOQLuRMoZrfXyaShaOudxpaAKBfbsSjJPPj3hjqZaI+jOxo5Kh3eyNY5J7zoDmy8YNaAkm0ZNXpkZaQBdcfQ6w5RQMb+hic3Hiv61MDvozlNxGBU8kvNPGwVdUo5SvkLqCWKge0AuY5Fmo43zJI61LWwxYp1Oq37SOi5gr6yfJazPeXg+q6sf7EmtVBVNC/49Iq5nENCuXHzwILz2vXQUanOdJ+0Bj2ojWQz9FZvigNvPQRlF996sUc3VUOZIQRyDWDZBKNcw+dVhk3PFaeCMTccRzDji8RcKx5me6GNwfFNrIueP+8YnLn53dNj9f2gluLBQ7sbI3R7ARn91UYaJylz6CvUVS34sW7SqtF8hdU2xDEQYDxO6VBf87JjBXNuiHKtFEidMXKccPsawbJ/MeE3KiDR3G8N5S56sPWkQvk3QeNBSMq109YCtM+n/p+5Nj4GkYDNOoybCod9Tr3zCpl PoVdSskc IbMYReT2/SqohCOOXYbbVFyGC/N4VOG7eDvMrRv/ff8PRSuPKLlx4GOZdBbJjK09Wt2/7x3oMysaJ7HQqgfeGUZ+nRnOE1l/FPKM+bqZ80e8xwPqYq9F95pb6dnEg/o3phnjRqg+MnfY2CBDWEc+GZzFq7FFWL28Pyk0V3hcbnhtq4o/gStopUp9wx7AsB6J0iTCb3g1hdK29X9UCwT6taJIzHnLYWLvoavabzgWPLs4GgBFvkRyVeVMoaCDj80paOb8xaRePwLSW/N0Bc/GM6J3/oU/4siUWz76DzvICA5Rjzc0qCSESh1jnVZFRTXuLbDPo8rzlhudyO4MGFh9xCgknK2LXgUZGUTlg82f3z1Ic7OI+5pbM0quGebCguM+NjYMhTEnQdpiJrNOe2XXjlSAb+EFCut/CkTymwhuJ+9xiyw0dTPrpUSlh4dZsBIoE25WiWaaP8zn0juNrhYgfqF603+GYMpSWI7uiX2zmBqIm7xGjCCUd3pIJySP9hYMPAOOPjGbrV0m9ksxz/8uzxgn8dW6vR7eo4k3mDuMNf+vv+afpP9j/7FfhXqI7ZabNe0uH/JR7vHw/oaqHMNGETw8ePDL+YyutiQYGuwKtOnJgQK9BZXusjajmX7MR/yDQinZ9fA1XeKndFm7DJWkc6HUidwZOlw+KN3un95RyLaBQ257wM8EJpg7zxvUy1BPDRTRKX+pNSYqr5FibYCLSZkBws5zmNKkumki6 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 Thu, Apr 24, 2025 at 05:20:59PM +0200, Mateusz Guzik wrote: > On Thu, Apr 24, 2025 at 1:28 PM Pedro Falcato wrote: > > > How to do this with slab constructors and destructors: the constructor > > > allocates percpu memory, and the destructor frees it when the slab pages > > > are reclaimed; this slightly alters the constructor’s semantics, > > > as it can now fail. > > > > I really really really really don't like this. We're opening a pandora's box > > of locking issues for slab deadlocks and other subtle issues. IMO the best > > solution there would be, what, failing dtors? which says a lot about the whole > > situation... > > > > I noted the need to use leaf spin locks in my IRC conversations with > Harry and later in this very thread, it is a bummer this bit did not > make into the cover letter -- hopefully it would have avoided this > exchange. My bad. Yes, I should have included it in the cover letter. Will include in the future series. > I'm going to summarize this again here: > > By API contract the dtor can only take a leaf spinlock, in this case one which: > 1. disables irqs Alright, as interrupt handlers can also introduce lock dependency. > 2. is the last lock in the dependency chain, as in no locks are taken > while holding it So if the destructor takes a lock, no users of the lock, in any dependency chain, can hold any locks while holding it. > That way there is no possibility of a deadlock. > > This poses a question on how to enforce it and this bit is easy: for > example one can add leaf-spinlock notion to lockdep. Then a misuse on > allocation side is going to complain immediately even without > triggering reclaim. Further, if one would feel so inclined, a test > module can walk the list of all slab caches and do a populate/reclaim > cycle on those with the ctor/dtor pair. > > Then there is the matter of particular consumers being ready to do > what they need to on the dtor side only with the spinlock. Does not > sound like a fundamental problem. > > > Case in point: > > What happens if you allocate a slab and start ->ctor()-ing objects, and then > > one of the ctors fails? We need to free the ctor, but not without ->dtor()-ing > > everything back (AIUI this is not handled in this series, yet). It is handled in __free_slab(). >> Besides this > > complication, if failing dtors were added into the mix, we'd be left with a > > half-initialized slab(!!) in the middle of the cache waiting to get freed, > > without being able to. > > > > Per my previous paragraph failing dtors would be a self-induced problem. > > I can agree one has to roll things back if ctors don't work out, but I > don't think this poses a significant problem. Agreed. it'd better to write destructors carefully avoiding deadlocks rather than allowing it to fail. -- Cheers, Harry / Hyeonggon