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 8396AC28B28 for ; Thu, 13 Mar 2025 08:59:21 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 86B43280003; Thu, 13 Mar 2025 04:59:19 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 840F6280001; Thu, 13 Mar 2025 04:59:19 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 69616280003; Thu, 13 Mar 2025 04:59:19 -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 500A5280001 for ; Thu, 13 Mar 2025 04:59:19 -0400 (EDT) Received: from smtpin19.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay05.hostedemail.com (Postfix) with ESMTP id 515E457E6E for ; Thu, 13 Mar 2025 08:59:20 +0000 (UTC) X-FDA: 83215928880.19.B173B51 Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) by imf06.hostedemail.com (Postfix) with ESMTP id EE2B4180004 for ; Thu, 13 Mar 2025 08:59:16 +0000 (UTC) Authentication-Results: imf06.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-11-20 header.b="CaX/Xm1/"; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=KdxyfcgN; dmarc=pass (policy=reject) header.from=oracle.com; spf=pass (imf06.hostedemail.com: domain of harry.yoo@oracle.com designates 205.220.177.32 as permitted sender) smtp.mailfrom=harry.yoo@oracle.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=1741856357; 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=woexxkJpNAdhHhmchkJLx2vK+NR4G9FtqiZj1iEFitw=; b=EVtso4S5pHgWRuAwGTy6gSdpLtAbMJPm9n9wMBEYexVhwVOcNHBgyOMtlxcwgzDjuRosqh 0hVjiBqJrs+tBlKT+eBJ9SAYcra1m6hInDHmzpFE+9D1GyFPHmWDDKyoQM71JvhgwX15UT OTnaYF3b9hBVZd0SuSNhSjb6azU0CSk= ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1741856357; a=rsa-sha256; cv=pass; b=V8ud+PiYnvdPNWsq1qXk1u6i74ppWZo5w15Ix2xOAKPM0WAiJcRySjGXVEPc4HV3HFdjGP 4ICUi4qYnQ2YS9Wa7wkQrlXJO4ZHW12puZmpw+8V6mAnNIIcusyqUYjtgf2/R20KFoMV2g dA07s+zCv6qDN6o4Ssn8IP71nz2ia88= ARC-Authentication-Results: i=2; imf06.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-11-20 header.b="CaX/Xm1/"; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=KdxyfcgN; dmarc=pass (policy=reject) header.from=oracle.com; spf=pass (imf06.hostedemail.com: domain of harry.yoo@oracle.com designates 205.220.177.32 as permitted sender) smtp.mailfrom=harry.yoo@oracle.com; arc=pass ("microsoft.com:s=arcselector10001:i=1") Received: from pps.filterd (m0246631.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 52D80jYx021837; Thu, 13 Mar 2025 08:59:11 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=cc :content-type:date:from:in-reply-to:message-id:mime-version :references:subject:to; s=corp-2023-11-20; bh=woexxkJpNAdhHhmchk JLx2vK+NR4G9FtqiZj1iEFitw=; b=CaX/Xm1/Pyh1y3Vf6RPOzaITfwTRlREmOY fV50atbkMV7e4sMyhr4PDnBOCl27axp7PTbSMWsVorf9A4az43d37FbemtRHk+jR xo0DhDUHtOtX58rAg6lRbvVzXZGXWrHXWcF7G17GDH3g80yc6ZEB8bXQtnd9u4dA //JH6/DOAp4pEm3NSsLReISWqpZ+LJxVniYPYNMKvr/IJqM60COQTGdjklxU2tu2 8Px+jH750YCpyIcK/sFD987mMicZL06hupAMP/FwZkumNMCwy8utR+7RYOA3A9MO X92DICaaNJLfusyozGhOCiAt/esn/3yTVJb9UEj/VsZmKv6V7gxA== Received: from iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta03.appoci.oracle.com [130.35.103.27]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 45au4hbqyc-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 13 Mar 2025 08:59:10 +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 52D8wqFX008647; Thu, 13 Mar 2025 08:59:10 GMT Received: from nam02-bn1-obe.outbound.protection.outlook.com (mail-bn1nam02lp2046.outbound.protection.outlook.com [104.47.51.46]) by iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 45atn4dp35-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 13 Mar 2025 08:59:10 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=SLwMvDE8bTlTHwafASX9HckLNsck3jaEK2I7wstqS20HtPhXG2r7QFfnwgeLvyPgQca3Cn12nxsXEh2cnTMF0lYBOa9g69I5IlCDCmxtZlBSa1YLadZkcDDGnPGOkVU31IuUnJanqTMxyyAB4bQdr4fD/CbwpF3Fr06r3+B4OyH/H3wZXslz1Q1Psw49Gk8+YhFLD1mJIe4sJjNCVgsuWKZpsUlJt1SyuOfkla7rU6A30Rf2BeJsHQuh0u3z0NdhCZu4gvCBepqf4IMwhFwChNuR7OKfikWCIQLDKLvpHp21bk+ykQGTy0+Dl+RpGg1EQ+YM6a0zsaKZ78aO0Rx9iQ== 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=woexxkJpNAdhHhmchkJLx2vK+NR4G9FtqiZj1iEFitw=; b=VjHUH40FKSOfMzGk3dqlnBIyuFyVO5cfKWAlHOzBtcBQAC6NeAijhPAoQR1cMM+FltRBLIbwskc1cnr2RuSdq0trQxgb6Cue7Z9eV8vSCEDPu252lersHs74rpSZMR1efsuVohhTc4eVfesZzHBLMkCfI65eHPzNp34ppcpGL5GXVeN4TMgM2ccZb6ctk32wHRoR3PB9bU3uI6QM7QnI6ZYiTabNmwezQh27j7miAfOv23Sxms78VpTjcP4nCEeWVRd3MpNiR/GLPKwX5s5Nfhbh8yS7g/2CoA/lAthJsbHYR7Jgm9qe8WLk+eTVaBh2R44X10JEXnHMvIy1riD/LA== 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=woexxkJpNAdhHhmchkJLx2vK+NR4G9FtqiZj1iEFitw=; b=KdxyfcgNanFOQM7SrMp0GOex1iXUbGtJ3VDtEiv4Lk+GzPntsA7GD+OM6bmflH5NWnvKuYimjB6vKax9EXy9PGjDk9b8uhlG0ctRiXbkinIUK2UfN0ZNTkFNLHRCjFbCOcLZOjvl7o8PVDI6s99iw+kMM5lxOqnhNeP2NhkhEd4= Received: from CH3PR10MB7329.namprd10.prod.outlook.com (2603:10b6:610:12c::16) by PH0PR10MB5820.namprd10.prod.outlook.com (2603:10b6:510:146::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8511.27; Thu, 13 Mar 2025 08:59:08 +0000 Received: from CH3PR10MB7329.namprd10.prod.outlook.com ([fe80::f238:6143:104c:da23]) by CH3PR10MB7329.namprd10.prod.outlook.com ([fe80::f238:6143:104c:da23%6]) with mapi id 15.20.8511.026; Thu, 13 Mar 2025 08:59:08 +0000 Date: Thu, 13 Mar 2025 17:59:02 +0900 From: Harry Yoo To: Mateusz Guzik Cc: Vlastimil Babka , Hyeonggon Yoo <42.hyeyoo@gmail.com>, linux-mm , Dennis Zhou Subject: Re: a case for a destructor for slub: mm_struct Message-ID: References: Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: X-ClientProxiedBy: SE2P216CA0045.KORP216.PROD.OUTLOOK.COM (2603:1096:101:116::8) To CH3PR10MB7329.namprd10.prod.outlook.com (2603:10b6:610:12c::16) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CH3PR10MB7329:EE_|PH0PR10MB5820:EE_ X-MS-Office365-Filtering-Correlation-Id: ece41698-a545-4800-785a-08dd620d504a X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|1800799024|366016; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?eG2e3MGDsgboEjVT2pqS51csGALUp36GODOo55bwOv2sG0gu31aG5xNuGPw+?= =?us-ascii?Q?2qguDptlRhwTInjtEPrsyASoFJVxZu95iZ4k6yaRYx4OveT2Ul3NMHC/x40I?= =?us-ascii?Q?TjbzKgBZgvnZWS3N1TcIRVHOHuKKGwncFHjaxTvhOmWA54qH9wkXRBy0+f1e?= =?us-ascii?Q?LfJlM6ijl4KsMIv58SK5tLfkZma0qQ4irmGvZuqVC9LAPd0S+BNIpUIyt75s?= =?us-ascii?Q?jFqvbemSpoRay4q2V7yqchW2xnRRIdS05OtOsB1l21oX1TGuI8WG+7zwLsns?= =?us-ascii?Q?menxZaitB726Yie2yFfkmjTGsDC5rdUqLMADt9pQPES9Hsfftwkje0ZM7G3V?= =?us-ascii?Q?it7jyAWp9DvBBtElt3t5vIzSBEXDlph95HP6El80EKPQcgXW2JVBw+TzqVxx?= =?us-ascii?Q?KvPeIwW+4aiLq13CtG9d0OxtrB7cDZ6fh3ztCZuhaqdiRJsjqaXgINr/0PiU?= =?us-ascii?Q?HTuVLK59N96H0UnZCgV6IGw9/jf+1t2VWhcKs2evR14RHC1HbakLaIccUIm6?= =?us-ascii?Q?ATohfZqsLYdmntng6FsyASt2xcZNdJGmUaCYH7YFuNSWyyEyhrssWWXFwklT?= =?us-ascii?Q?rDJib2OsYSDfzpvfuJQckC8E5qvhYjcC6q8qjCK0fF5kKxRMxLYUydYYSSj7?= =?us-ascii?Q?fPVZJC5IJhO4Cil9F3l3RrM/UDI3zbk1gNnFI1r3svfPdp3GWv/+52akHfOU?= =?us-ascii?Q?v6ij3a3ep4rQt3kt/TGfHEyvxzxRBASTRwdDG8Q0pqUbvx/Ezzw4X8Mcxrur?= =?us-ascii?Q?7GjlBDcmaGJD4YMzgztSD52Ta3N1uPTe+9aZkQrT1tY++lN06FbVg1AAPAPD?= =?us-ascii?Q?Gq4b8FzxkbkqriIBOTkl6U54FMZqjzcBIwRaBR4I0vDBiR8waLufh85t8IF0?= =?us-ascii?Q?UwWgpRLZNYS+54ZuHZyDykSvLfqASlqcL0mJX9NjaWhcNkX/fUMxgog43Ehw?= =?us-ascii?Q?BEjuO2pNZ94um86ASpe7ktARPQVy0v94MMxp4rasPGZFWHuH5E28FXagve1w?= =?us-ascii?Q?nVFkzV86NcJeMkNkfs9XEp7HHJZirYwVQCugFyjPxO1DY6dFyIRU2skwiaaV?= =?us-ascii?Q?XZo8J2N3uIYqV9wTn+GpIc7R2Hl/lSuZ2mTyFFXkKZpUDIAdSpw7UkXOt+dg?= =?us-ascii?Q?Wmcts/HqAiP8PY1KQbfhQJBiMpAzj2ybGIY3SfAAIqS1WxgBHEG2Cpkt4Vmf?= =?us-ascii?Q?+US5Jb3U0pl+XMvVH6KiIJwb5jnKOp5r54AxrZ0d9gQVHBkMK1CoilYDR8FU?= =?us-ascii?Q?dZfIGM0dYBQHu/1jKrG6VRFkhYN8kSwkqw99V83qMMdJ/SX+hPg1tnT/Zt+Y?= =?us-ascii?Q?Z1ues+e8MQlDYHlaT97fddD6?= 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)(376014)(1800799024)(366016);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?88HGDWr4/MSQ/vKg6TWUfvmCYUwVoxhCt3I7h9HBU+X7aNT4cH/9JvcrE8+y?= =?us-ascii?Q?q/0BgtWVhdxk4dZpxrNoesrRT+lVOsOayBxn4SdO8u54bbTlmYdYketLA/YI?= =?us-ascii?Q?9h0AJysUNPbXho4thWb9gxvYaiUhGFFmfqHeM05TfyHuu0/YlZOtwJj/GSD0?= =?us-ascii?Q?MHe9RF/0tymgw0Bx1U3NcvHZoUjbrPqOjoXpK2IDpR0DjBp8yGFmoZqAnZWh?= =?us-ascii?Q?oGYXt5DJWOywWja+7/m5G5dTW5Tq4vrOsQ/6hgCDXNykSNZdZwugYR/CDPkr?= =?us-ascii?Q?oVXAwaHpp8gg3weptij7Tia+SIdS1BlUk51RU9GsNIgbHJ+GPpBFuZ5RFC59?= =?us-ascii?Q?Hf7NRgTVglqLON8oxi44EKQ9v1VtkghyatxHL2h1PNR4N9ND2Po+FzcpnmP/?= =?us-ascii?Q?mGz1anrqGyUzaai0p7Be1SjLU17Zz5k1J4MlJ4lRUjfkIdRwlkT0MbBwOTpl?= =?us-ascii?Q?s7A+CxBOsa4/o/ii0K4Xd/APN1Jei7tbDWqHLOhrIOcwlrOH/ptN+7UuJe3c?= =?us-ascii?Q?Co/566khtAdg4N1DHoBmujoIpeEaChX+liHi8ovUfzhqcBu3oc6L+1uhHr45?= =?us-ascii?Q?xpRWryHIQImtdejztcrfghsJEfw6Qt8u42exAYnrqmzj7kOXAFV+xWRydUmC?= =?us-ascii?Q?mqCunPZZ8Xzu4jeSOhpJUuHY+gF6HsLBz/oIxzFZGMGmjHY2jjD5HNl8wN+v?= =?us-ascii?Q?bAHNmVhm3WAOTp0yzbvpLZ+C2F8118pRuf8/9c4OsWZNDkjYD0p+k1rPQe6E?= =?us-ascii?Q?wwkXe2iqjDQXd4G4c57mU6RI+GlqfJta6WOLTUPghKzvdxoHg79DsCW3Tfzp?= =?us-ascii?Q?u8Myv69K1Hf8mzTgQmRX9uD7EDFGA0VhFQkteaId1PWEPP8uDQFYrUdZP/+h?= =?us-ascii?Q?gL2vqtthRhM1L00KjuqODUa0xGDFGwntgSOHdc04VvGPrjxMV+VBz3eI3uns?= =?us-ascii?Q?Yl1MyMhlznCRg+wW4X/DFFK3NjS9oXYkcc/1vk8Qla7p1RFXNvM1aA8D9ym/?= =?us-ascii?Q?COoJfy84ilt5GTt5+Gli6TfDQ2psBXqdyMQR/320d2LOgAhVT+mQqViQJtp7?= =?us-ascii?Q?l7CGozVpwPYeO59LdxII3/brFyaou0Wr7fRGGkdozNqaQknwar3MoXzAvrds?= =?us-ascii?Q?KkhDuaC8gzuwqAD3iVixSq1ODfjrcjdNnSvpVM+MOfGiJP1Z1hZP29ttTix4?= =?us-ascii?Q?VBVCVvdvfigOrErYSyiSYQlfirBfdA855SaC67PbvkQRF50T7AMOozeRzF+I?= =?us-ascii?Q?SwBgSfwd0G6Ieq8AwGXWDXIxGDXFrlKi5sS5AQr/onAFswyKDzM3Nok1VPCS?= =?us-ascii?Q?/AVCoxbSHepY0mFXfvtmHCRDcesMAzF4s6MOErRWvOmqV+1H3q0X7bB7mEp+?= =?us-ascii?Q?7jro9rLGRjLVFn1tFVMTchheCIPsw3ktvzbUUAT5rBNkoA787Z6U8MNlercX?= =?us-ascii?Q?fK8YlHMq4hCZvacJXjeKqlVumeJHEQZ+YyvQlC85YPcpwQTzSs4VVnXYFCT/?= =?us-ascii?Q?/AdRtbWTQcbo5Wns/fa4l0dJ+82xcnXCWfMvhdS4FRNuvlhFPllE5TE422zQ?= =?us-ascii?Q?AA7zuUB1som/fGhqKVMTFDBp1NAFZZA76SrcuDjW?= X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: hAZnwwqHDNI0Ln3roPcTO8755u/62vPubu/PONCbtAR77RNVWdQ3UWjo55fiPTPQraDzxAobFkruKA9dSod6egkLmINCj4VBOY4Vr7VvQwhLyo/nEtrSZVT+RAhHBLoPBFsWJr6jlVdjmdGAZGPFRfvKSWN3kKvzaAzscmB1uCjeud/dlVbHxJYu1JoTCHkHtBfYUoyg87QDuY6uJsWjs19GM9KmRRl0yZFULwgDjfRM0G2Xr7PGGp/4zMBBhXJs1CJ7bA5+MhWKa3fQsdawoUgs+PbA7fWz27M3TNO7rbc0hv+mHvHBQVysBSC5DOjGHriqrwYIXnx1Y0vaioiadgmrmuHmomn2hVJjRO4aIKAm3ACQmppRoacsgS88EwZuAZfLeC4InWJ36MzeGXEvXWDHsDu6yI9mqqU2yC0PV788PMBBQIO+mncpVz2Y9i4mqGywIOM8z3YpxExybl5km6AsUfzkOTqEgOocOeiKRz48zRYlHzWtlSeWeoKzC8v7n+8ZjwMsuOv8gy/KaNaoK+zdfHfozzWmAszOn4fb08aP6bwqDhHIXbEghCVNiD4kK4ib6Me5dSv+HWjNNUbMuSgXxi1mCfZMUJOZR38uBt4= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: ece41698-a545-4800-785a-08dd620d504a X-MS-Exchange-CrossTenant-AuthSource: CH3PR10MB7329.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Mar 2025 08:59:08.2621 (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: xyDDH2y0GU0R6XXXv0gYpRg5AbEJtU14t6vFezdru7jweu+i/wdyxNt46ZMaqFnnSfLWoxsz/YO7sSFOdFslgg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR10MB5820 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1093,Hydra:6.0.680,FMLib:17.12.68.34 definitions=2025-03-13_04,2025-03-11_02,2024-11-22_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 suspectscore=0 malwarescore=0 mlxlogscore=999 mlxscore=0 adultscore=0 phishscore=0 spamscore=0 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2502280000 definitions=main-2503130070 X-Proofpoint-GUID: F3X2itP3pN8wklHKacyuPGvB5BQu04uj X-Proofpoint-ORIG-GUID: F3X2itP3pN8wklHKacyuPGvB5BQu04uj X-Rspam-User: X-Rspamd-Server: rspam04 X-Rspamd-Queue-Id: EE2B4180004 X-Stat-Signature: m111xwmoxha8649qrkabsrj84ph673kf X-HE-Tag: 1741856356-242816 X-HE-Meta: U2FsdGVkX18zi/4WfGHMv0IWqCfBxROiwJpRcHcD9z2f8bk8dxkxZDM4Mcv1SeP6RmQQFtRLnCiA8Oddlq/XghWC0gAsS00tDejB5R7u0eGUMyczUeFMIJ4E7IltYYRKYMt53uLGk0EfIRJXCbhrQkJioJCqc1z5nHQ4u0ErLJi/ta955ZYF0MlN0wvIzbALsM5rwTGzF7exmljOHNxQdSsyIsdII9/mK9FvSfdqEaWjcdU42XG6ijEYo9lDTzb8C64JqIlKfoR9QpaxXMIAfARcPHeE70yd3Q9RR4hc6unMwNekmJ0E5fmK8DrGR/dQBTQiursNrjPtzzjj/cz+DsXuOgG2GgIPlTTW5yL6faBOS6THG1DiwSsivixBfZJ9uCEbviy0javncXiQlAnR7h3++EuVuc4aWDKky7fYfKN8DlONuiq9yO2k0KokfdlamzR5GFrYvOEcdgwxPnc6z+H3PnSMRSHGy6D77LT2gfy4f1AtRGqzHUdWnUXRvYyA/HuA6YsO03dhiZQosnmnNtuOFWwCczCNofB7FL2fCsdMP1rk3pyzbpIKu5JUIEdyK04BQVsYcJFWeSd1ndB7pOGSGWzeOwYiSDGqIsmOSsWIoAu+9kvSiskzJI17A0cQyNrkuGb6DFza8lA7WVKI7cfcDZBlXlhZRvxKfyM3a70+bsl3MjCyny6PlHaUpItMR0IeIiWLYV0Jl2akWW8hH9oyFxMG5pG9IoBE1bGYwAi3LHzLnI61+L5h3j3GEeDfFO4FQN7dR4deMpnOHNapLkLhQ9xZtTZwiULfmvvkVQibvRlqCiZN4Ej/d0090WeJW11AFQXxXFP1xrrK+EzTJ9VsQa5y5DgUJj33HerHp6aezE7sL1caJv3alvVQmURVfGsJcRaEzUMQ9A+qAw9/bhYtHGFUR2gOOrRy1qel5vFeUr2DmyHV8j+Vg1tBkevq09R16irNTnAsiF/ix/P Ngy/G9Og F4jMYIiapBnLP4W0pd+XUmxroQ441/MyE7Yk+Ie2fwRFE81coi3TZHQkamHbX12zCWLNXBtBu8CKCTWHAbgfOErkWXyTQ3QW56Be4dy3abEdrgfq1KK/mcVpbmo2OdjdP2AsZBoOfdHLmtgfmf/h9kBZPix0JhEbcXc1cpnBZ/6MU6DeYhhb6mNBzc71AodkxOhXMcd2icRUSSmErWN2Z4VWny583ha+25664wrt2c1u5waKl3IZwTVuABLShiJezQGiSsKKK2SOLjeAZOfSvRQ8oJI2LCcagf8P+1MnzUmQr8ngzElVfUObPIEgASKd+wpbmjBDfQ4CIZn3AvzfYswRDjr7GRWroluZJ5qKbSbAk8lFm8WvvGoo2IZJxN/O2OIJ6M0prkdyx2x2zfPCcBkc/ZUJB07v95z7jO1Fpkfw3KJnNBW3II4MG9leGspvwk4d1Ejf1n1ntYmer5ulrbBWRKh8pkMXwSAAMODJWtcKANjCoLdNQgofvzUmCfwaYvEs8+qOgkClE9qnPFVMnXRz4sOL4RsAmUB5aInHRbk1R78f/dJBQZmI4zDLlh0+0yXDEDtsCFkdwVRosrVyr6+QpNeNF93rFqC1LHzg10qp7a//N0KooD0TirWXRx7imPdpYOxPDNumZOuaFMl/sSbzOl5Uh1q+WU6ebkJvT3q6SzSESun8Als9sDQdiLKuXGie/Fn8tA5iggjlcRNePOqs/SHjZTfwaRh4jxRO623zVafA6CcYjWhdcbs9s5JEvy5yJa/uwcpqN2zVpXra31jgiSi4IQncRZ60AU/aY8YKcKN215VqyDlm25w== X-Bogosity: Ham, tests=bogofilter, spamicity=0.000006, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: Hi Mateusz, Thank you for providing detailed explanation on how destructor in slab allocator can be useful. A few questions and comments inlined below. On Wed, Mar 12, 2025 at 11:33:09AM +0100, Mateusz Guzik wrote: > I'm looking for someone(tm) willing to implement a destructor for slub. > > Currently SLUB only supports a constructor, a callback to use when > first creating an object, but there is no matching callback for > getting rid of it. > > The pair would come in handy when a frequently allocated and freed > object performs the same expensive work each time. Actually the destructor feature previously existed but removed by the commit c59def9f222d ("Slab allocators: Drop support for destructors"). But it was removed because there were not many users and uncertainty about its usefulness. > The specific usage I have in mind is mm_struct -- it gets allocated on > both each fork and exec and suffers global serialization several > times. > > The primary thing I'm looking to handle this way is cid and percpu > counter allocation, both going to down to the percpu allocator which > only has a global lock. The problem is exacerbated as it happens > back-to-back, so that's 4 acquires per lifetime cycle (alloc and > free). That could be beneficial :-) > There is other expensive work which can also be modified this way. Not sure what you're referring to? > I recognize something like this would pose a tradeoff in terms of > memory usage, but I don't believe it's a big deal. If you have a > mm_struct hanging out, you are going to need to have the percpu memory > up for grabs to make any use of it anyway. Granted, Yes. Some memory overhead is expected, but I don't think it'd be excessive. > there may be spurious mm_struct's hanging out and eating pcpu resources. > Something can be added to reclaim those by the pcpu allocator. Not sure if I follow. What do you mean by spurious mm_struct, and how does the pcpu allocator reclaim that? > So that's it for making the case, as for the APIs, I think it would be > best if both dtor and ctor accepted a batch of objects to operate on, > but that's a lot of extra churn due to pre-existing ctor users. Why do you want to pass batch of objects, instead of calling one by one for each object when a slab folio is allocated/freed? Is it solely to reduce the overhead of extra function calls when allocating or freeing a slab folio? > ACHTUNG: I think this particular usage would still want some buy in > from the mm folk and at least Dennis (the percpu allocator > maintainer), but one has to start somewhere. There were 2 different > patchsets posted to move rss counters away from the current pcpu > scheme, but both had different tradeoffs and ultimately died off. > > Should someone(tm) commit to sorting this out, I'll handle the percpu > thing. There are some other tweaks warranted here (e.g., depessimizing > the rss counter validation loop at exit). > > So what do you think? I'd love to take the project and work on it, it makes sense to revive the destructor feature if that turns out to be beneficial. I'll do that the slab part. > In order to bench yourself, you can grab code from here: > http://apollo.backplane.com/DFlyMisc/doexec.c > > $ cc -static -O2 -o static-doexec doexec.c > $ ./static-doexec $(nproc) > > I check spinlock problems with: bpftrace -e > 'kprobe:__pv_queued_spin_lock_slowpath { @[kstack()] = count(); }' Yay! I was looking for something like this to evaluate the performance. Thank you for providing it! -- Cheers, Harry (formerly known as Hyeonggon)