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 2A5A4C3ABBE for ; Wed, 7 May 2025 00:32:17 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id B913C6B000A; Tue, 6 May 2025 20:32:16 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id B3F256B0083; Tue, 6 May 2025 20:32:16 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 992D56B0085; Tue, 6 May 2025 20:32:16 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0017.hostedemail.com [216.40.44.17]) by kanga.kvack.org (Postfix) with ESMTP id 74E096B000A for ; Tue, 6 May 2025 20:32:16 -0400 (EDT) Received: from smtpin19.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id 78F7D1406DC for ; Wed, 7 May 2025 00:32:16 +0000 (UTC) X-FDA: 83414235072.19.9FA54E0 Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) by imf16.hostedemail.com (Postfix) with ESMTP id E241D18000B for ; Wed, 7 May 2025 00:32:12 +0000 (UTC) Authentication-Results: imf16.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2025-04-25 header.b=l4bembDd; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=P+dEKLuO; dmarc=pass (policy=reject) header.from=oracle.com; arc=pass ("microsoft.com:s=arcselector10001:i=1"); spf=pass (imf16.hostedemail.com: domain of harry.yoo@oracle.com designates 205.220.165.32 as permitted sender) smtp.mailfrom=harry.yoo@oracle.com ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1746577933; a=rsa-sha256; cv=pass; b=lwq5wNaZvvyEV/A0rYZ30KjhMoybJPKxBD0lwwyn/psf8lMtD6naBDiM4PqIzwa14W5XzL YZ5Jt2yxCXYan+sCpr+MsfC+oFruqhMMcq7QZnyXvoUY43zsDViZVFrur4qQlYLhLXs8kj UF/StfzLP3kZV0YMcAY00Gg67FSoMOY= ARC-Authentication-Results: i=2; imf16.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2025-04-25 header.b=l4bembDd; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=P+dEKLuO; dmarc=pass (policy=reject) header.from=oracle.com; arc=pass ("microsoft.com:s=arcselector10001:i=1"); spf=pass (imf16.hostedemail.com: domain of harry.yoo@oracle.com designates 205.220.165.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=1746577933; 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=YathwzPgngnFIgnDBFCctFyHoKFiHcyHNPKd9mH2MrM=; b=nby2UBik99pzXC3dbLkWTWU3OjqYr3uhUR2P6Cl5fjw9Kl3iNfO24ynXsI7eFuaf4C/9zm +leK5/CCuO8sJ+I8BPsneJs7mlNY6+27N67501HE+1SyGD3T5qusoz/JSZR0L8ijK64W25 cmUoAcbhwcg5WaE1EnWEEe2Xu5pEDsY= Received: from pps.filterd (m0246629.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 5470MOJS001876; Wed, 7 May 2025 00:31:47 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-2025-04-25; bh=YathwzPgngnFIgnDBF CctFyHoKFiHcyHNPKd9mH2MrM=; b=l4bembDd4F6A1h71zRynkUZjrnqbEuAB8A jxi9iMRpf2dtGe8/IibrPpo2P8N/RywLnQTyBQ/hp2txLO8rC1TyMDNfh4D55Erz 4JeUygPO/FQlCs8LskWgXp4fTCbVPM44qxYvOX/2a9HZXiYi0vHEb9Lsc/KmrZQG slyrPGSRU60wHdZCbQf512VYaEho8FyXp48ZKrVj3yxb+lb4JnhAcunDoM2USZEk JMkz1W+0S49OzmkSBVe2Yf40MOIYPNxtPC/cpfW4YBR/fPEk7/gPDmpmPBC2h9CX G6Ssn66O6TWrDKopn5fATWnDZwiLd9nrSUsx2hicNqFm34pzW2DQ== Received: from phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta03.appoci.oracle.com [138.1.37.129]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 46fvwrg0n7-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 07 May 2025 00:31:47 +0000 (GMT) Received: from pps.filterd (phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (8.18.1.2/8.18.1.2) with ESMTP id 54708BbO036150; Wed, 7 May 2025 00:31:33 GMT Received: from ch1pr05cu001.outbound.protection.outlook.com (mail-northcentralusazlp17010007.outbound.protection.outlook.com [40.93.20.7]) by phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 46d9k9rum3-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 07 May 2025 00:31:32 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=XRyTNI0DYLZ8MvgfmcVK+12ObY25Zvthfp6SM9NVOJu3QFObzjUC0U+RWeRbp5m7BOYEtjo1ctpi4xm7X/CU1L2cor778SCa3sf4Dfs/S59k64IV0ZNpIAzjFl3jyi4/4g+il9E3cBTIy2urldieOEPwktjtyDF4arqpU8gj3CZq/2U95k0pHWcn5NmEzQS3RLwH/IXfgMBjk7jFFdVYjEKZqcuElvIBNJAfGB2oqpXlfduiTh4OjFZE5ATWnMXihXOAc5CMXzzInfq1h+kszhQvZf0wpw8pHsjj+vsTYJY6ve9gc0yD306B/xOmrY1qLyQIpLVXQkEKZlsJm3XzZw== 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=YathwzPgngnFIgnDBFCctFyHoKFiHcyHNPKd9mH2MrM=; b=a1G5umlYyT3Bpn4kZ5Eap8i6VyKPfl+oa6BVpl5YZWYzSJWE77ZLg8/rxV5Y1FjGMx1VmAUfz0MZ9THcbbeJf62PFprY8qRwvjMNZtclN46GXqwLhN7hAMdmg11B4MhaGGHu/rYPS99qk0Y6XpS17PPcChrhQ8fMZYI22KSy3s0m9ikCfi1p2QZoWlBPOpAd0gQXdMQ1n92+/4OfSuzjVoAFEj5jtgc00wn3pS5Pn3GBipf+pZHbVlPqCEIDANRQnC6AoiR3cXzuy56oHdoOeztaLy2FwDqh8Y890XiU+xtWsCZeKBnZeHNd30tRxAU6TfZ4mwHo/K/69eSutEAb1g== 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=YathwzPgngnFIgnDBFCctFyHoKFiHcyHNPKd9mH2MrM=; b=P+dEKLuONhGTaGHCapd2hhl+VtmZNrecl1IrFWg7q+PkTlWhz7gmQuxNfEkUKjPNkGZ1oCakAHNz5u9l/eUzvujJ/xvBaUYqyvc2kebZY35ewBTSnS6CeA+Uq5zqpaV0G/zdB8see7r9rFpdNPTl1RArIIB4oDrdAlUqo9XpLqM= Received: from CH3PR10MB7329.namprd10.prod.outlook.com (2603:10b6:610:12c::16) by SN4PR10MB5544.namprd10.prod.outlook.com (2603:10b6:806:1eb::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8699.19; Wed, 7 May 2025 00:31:26 +0000 Received: from CH3PR10MB7329.namprd10.prod.outlook.com ([fe80::f238:6143:104c:da23]) by CH3PR10MB7329.namprd10.prod.outlook.com ([fe80::f238:6143:104c:da23%4]) with mapi id 15.20.8699.022; Wed, 7 May 2025 00:31:26 +0000 Date: Wed, 7 May 2025 09:31:17 +0900 From: Harry Yoo To: Vlastimil Babka Cc: Alexei Starovoitov , bpf@vger.kernel.org, linux-mm@kvack.org, shakeel.butt@linux.dev, mhocko@suse.com, bigeasy@linutronix.de, andrii@kernel.org, memxor@gmail.com, akpm@linux-foundation.org, peterz@infradead.org, rostedt@goodmis.org, hannes@cmpxchg.org, willy@infradead.org Subject: Re: [PATCH 6/6] slab: Introduce kmalloc_nolock() and kfree_nolock(). Message-ID: References: <20250501032718.65476-1-alexei.starovoitov@gmail.com> <20250501032718.65476-7-alexei.starovoitov@gmail.com> <4d3e5d4b-502b-459b-9779-c0bf55ef2a03@suse.cz> Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <4d3e5d4b-502b-459b-9779-c0bf55ef2a03@suse.cz> X-ClientProxiedBy: SEWP216CA0041.KORP216.PROD.OUTLOOK.COM (2603:1096:101:2b5::14) To CH3PR10MB7329.namprd10.prod.outlook.com (2603:10b6:610:12c::16) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CH3PR10MB7329:EE_|SN4PR10MB5544:EE_ X-MS-Office365-Filtering-Correlation-Id: 79b3e06f-3806-40cc-417f-08dd8cfe8044 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: =?us-ascii?Q?k1hDiVz4sfsBBaz87SkysmNgiPqdD91SSQuPd3PvqwYJ0OBO6ZLdJefxu9uO?= =?us-ascii?Q?cHvVbp14Z9OfJZKXpiyMgWpo3PL29d0Y0PkIP/NMFkBv1aqScGk1a5xvsofB?= =?us-ascii?Q?v5h219DguTECaJQ5tvTbzwkbYLl5DIjNDfxeM94E8ANRSYjrr94fshTrj4hy?= =?us-ascii?Q?74cOXrGGuKSD5VNhSbeVsFsziN+CxAQqnNL3pvNj92cyVlMGmyM4GWqAvtUh?= =?us-ascii?Q?TS4xrOZEwsbo0o5LYdrNJEAbUcI/OTYisduQwWBYUlc6V36+/PMcRH3B2PJj?= =?us-ascii?Q?V3LQpheST2o8gCi16Yz5iaqJa8c7Hv8VCuFuPm2AC0CaVlNyOnfHRddaa9a9?= =?us-ascii?Q?Oa0RQXRFmGTXi0JZylVcO3sze8VkeYHHU12zdIKdW/BmDu6IkJNEW9XPlQsU?= =?us-ascii?Q?oCqwzL9mAHLnMOZc9q/L2iEewjsd/8ZUm+5bPzXrHATJ1BW5e8RucWPj0Nxm?= =?us-ascii?Q?PnMYaTS3+c6YoHUcx3ybaC2A2iVUOqo8F8iTJFGQlyTBgZ+xDFLYjHllD1at?= =?us-ascii?Q?fdu3Yd6vHz7LJXMWjNjZedsdEEnvCzT3L++TNdJlM2hqj8wv5ti1t0ZuIxUw?= =?us-ascii?Q?KEH5i8WvrVi09HvOhjEWpxxEFqPwHW/bHRrthck1eGie0Op33IB6QZtoq7gM?= =?us-ascii?Q?ZJ8V7mHtH4JkeRbbkhxftrdIsrbs7mYUn4FopEd28UtBkuGxDWvomjKQPAWl?= =?us-ascii?Q?Yu9jXVN3ZbbxQhqXl0+jfzKSEYtbcSsc9SsQ6dkaW2tBlz1UmiFWGdsxJSs3?= =?us-ascii?Q?VCZv2y7+lC6o2oLNxT+xm+8marnqqS8tN48mDgbPoT2gF2d4i8b1HN0EIu4c?= =?us-ascii?Q?ezx6qyaeMP2SOmJWhH8unOW41GwF2NBqRDiftDIZx2EZZWIiB7IVROl8uiNV?= =?us-ascii?Q?es4ZKg+QxILMHo34VmhqyKRCL7rfz0TiLDcb8zgRAE8Z5N85wPfK/oTjhZSg?= =?us-ascii?Q?HxnZR87r6tIsxMtrk68ANJoDfElVQSsz37XOURj8lb5Es0FPLsP467aMSihF?= =?us-ascii?Q?cs83wghoMy6GtbhZuAv2kH4MeBsnhqQZzHMfRfwVqyZkfccLcujcc6IAYbgB?= =?us-ascii?Q?S7Tpd46yC8vOO3PzdlPhYLywPsLh9j3dzCqjbCaScSwCTEl3yhyOe9jCIf6d?= =?us-ascii?Q?8DO/FjFUsOt8UizGzYTCtqFCiGO5MElqUPNcKGulJXH6666PCfzZZerX3yB/?= =?us-ascii?Q?pw3t/VjuSY2ch/AiRgCHX3ZKfn6zW0I5TCOtDobxFgSzww4bZCzCdfk2eCqX?= =?us-ascii?Q?4OXhYBqrwDhrVJJEtaY/PGLs1U1rljKE9HU4B7Sj9Yo4MNJPaQO1Q7koCzOz?= =?us-ascii?Q?ueaa55p61pmvwNqm3845TPguKVPNmtmdko3Y1YlrVKeO5YcCtFCIPBq8RBn0?= =?us-ascii?Q?Z+ZtkIGQksXUvQNehzAE9wjdy7KJ/rRIlxB/XvY5gdUVwVzB5+7p44hIPFiH?= =?us-ascii?Q?dUMuFmHKFZY=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: =?us-ascii?Q?jVp9BtBHcpdbF/8ts6dxVObjtxUUg70qVfkVgaEnxzcgR3tkh8JCxuVYP0WU?= =?us-ascii?Q?c3gXZmsi38WPeaQRycQQhCFK89ILNuUxYindSN/F6q68dcO7fXC6V+rmvSNV?= =?us-ascii?Q?bICxvxmqEvoGzWkcV+M9WI3kJ9gPEOvbnL2eBLUf8cvtTZhN5k1sCIFbCQK5?= =?us-ascii?Q?vYo+YnEaba0Ywv2rP+BJV5XNodoL7Plx61PWDs8OfLaP3U+Q2QepE+CMaflN?= =?us-ascii?Q?4yqo48H41r7mD+iG2rot5vOQOw0SJlYboaZ3IVYQwSsOVYmJJTZAXMoer7LQ?= =?us-ascii?Q?nTr/4RKfeMJiwlseWRYr6J87DMrMWXCjnlNY6PdPhK1Bb2n9MjvmJw4BPbUW?= =?us-ascii?Q?Kc0Q/fMdrAKZEWxaNqsQL/xvYBdFyce8OhBOhDeG/0TMxFHh7bTsRRPhDwVD?= =?us-ascii?Q?bzmX04ITWIFwvvwmdg5LFzam4h0YjCsGlRz2c3BiZ2AFqEPFNC9dP+o9JTn8?= =?us-ascii?Q?9xRSIw8yxpapOwFguCQuINoQoCwcscL/gFDhvZEoNFrKHRpn/y5RUmdjThEg?= =?us-ascii?Q?/1czyrywSoVG4H4AflyS8cWXG3UmfK7FjwjLoPkP/D7cF/87oQI5AtOpAygo?= =?us-ascii?Q?6XHYPCjH4L1L6yLyhKQa7R770dFgb/vZ5jQxRtKZ7To91y/MFoOaduPSAdVw?= =?us-ascii?Q?nYfLVPYYVEj74mXobeQ+YpVqasvPk7m6b/6nTpKtfgnT13MSbC7CSuAjQsGB?= =?us-ascii?Q?VW7FGTKZXIRf0zdnHmZzE2kOI7er8VIMPxRKNZs3FkTAGAIrlQE/n5nhZBO1?= =?us-ascii?Q?YnIP6QRZRwSs21HX8ruVSBNnJMWHC+xM2u7xYLZK8TkjA0j8fE7/et1nigAq?= =?us-ascii?Q?Q8isGz6z78ktC8vnqDF6ht39jccr8jACU4vf9859eqdeX5KEc+oAJq8gAlZi?= =?us-ascii?Q?Rgn5ZfgNCQcdmsb+0HPMaJcNkKofiy/gpr6zgGe2yh/eBmZD8SNUKszPxT6b?= =?us-ascii?Q?gt0m0Q59V+YJG74+DS1lqz0oJhEIBLjJAp9+PRKZGlT5SNLUhur0xIlVJiRC?= =?us-ascii?Q?GU98QPuHspeUtFfZRFYqZjGkAcI7QeRZzneL8phZDbU0xDC9mEBDXDIrXT1c?= =?us-ascii?Q?YPjDLhMlPVCMQPZeXan43Q4w/+3fSgJ+8c3wVFn8d17BhtHM0mQwSPgwgDFY?= =?us-ascii?Q?x6M5QxQrHDglCsDgWceIRooiMwix4hAuXMojrGN7+gL33ytRueDlagMOInr5?= =?us-ascii?Q?+eQLO+WT66vMFToP6KKtKo53C+ilX9BMcR7+UueIL11KTzbK5/TiHMFLUSme?= =?us-ascii?Q?aJdynz5dIdXALabTdUdQYOBwh8UDW0RZD4gMzwnm8O28+ECv4IrrwYGExLx/?= =?us-ascii?Q?28QbjB3Hpeian1r6KWbBAHsZnlxUsiA1nHqUd70M0gKNeGXgmTJ4u8nWN+Wu?= =?us-ascii?Q?ETwfSdYssyE4y7fZjMJtExTXkHqqRKpX2fj41auwLhfrJA9+TZ1jusfGV8AT?= =?us-ascii?Q?UhHokQPZlEl1gS7b16zgIR4Dp7QhtswGYeMGHuGtCyR9UnsWvdAh+66k4WFt?= =?us-ascii?Q?GEIkcyIT7UpAOQbxCrx/6Twu8sV40AIi3kk+FVk7dY9aNRn36pfXU2fVOIZX?= =?us-ascii?Q?l13cOztOfBH7odEB5wDDbMpEbdIMa26QJMiTZX0y?= X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: R4XzHy6DH96qnbFNon9M0vVKwxWlyDAkkOviB0QU8/1ouNIg6R/8iICqCs2O3HmOpuxecprtDXLEFTGU43WIkkAjq4z8/YSVI9iNykPnTV+0km8wz8boyTvhs+wagGT81VxFvbuQocEBckF2BGyw8aEcRnKhbBUWJdXQjQkHEdqY6NfzbYAOYaqL3zK4rRFXNAsfXVGrY+yrk0K6Wixx0PfGhBoAZs00ZGxnZaQanRP0gUt8o1lzIG6jUXak5JgzDFK5OfUaOUPRqW64cPpLfC4j18Omcxhx59EY170sf2aX5bjfN80zJacwSjXFAFy1o5VPvkMNwgFjDxmLgIucXoKayb4OlWlng/7uKDbyOGYyDq+Wc2bnZXX3JRWN2jccXMG13iUZ2sRRD8iZEyu8usUsdfEtv+zJw1QOieSLxu5fSOkaJFtTqT7zAs4wKcV6GswCaMx9wZHcMqL9nx2hCNEwjPMDpKWrp/TOn7RnfRH21EgE2zB1EqZ3bxforpUGC94+DPdDmGhfOU5TpNOxMt6+bZROm77TkBg2/Np5S5k5MgHXKbmYyFc9dhavatInTWaL1H2DPxsxcz/FBmo0mEQqVFD2R6Qym/3z7PoRDz0= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 79b3e06f-3806-40cc-417f-08dd8cfe8044 X-MS-Exchange-CrossTenant-AuthSource: CH3PR10MB7329.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 May 2025 00:31:26.1414 (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: 9ebWO7wFwq0TrAd5rYScm9AAiFojmhLm/tvEvUwoL2FFawRJjoOLjQ9T4s3Z6C9yn9PgXU+u8bkW76WJqn1bMg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN4PR10MB5544 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-05-06_09,2025-05-06_01,2025-02-21_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 adultscore=0 phishscore=0 malwarescore=0 spamscore=0 mlxlogscore=905 bulkscore=0 mlxscore=0 suspectscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2504070000 definitions=main-2505070003 X-Authority-Analysis: v=2.4 cv=f+dIBPyM c=1 sm=1 tr=0 ts=681aa9f3 b=1 cx=c_pps a=WeWmnZmh0fydH62SvGsd2A==:117 a=WeWmnZmh0fydH62SvGsd2A==:17 a=lCpzRmAYbLLaTzLvsPZ7Mbvzbb8=:19 a=wKuvFiaSGQ0qltdbU6+NXLB8nM8=:19 a=Ol13hO9ccFRV9qXi2t6ftBPywas=:19 a=xqWC_Br6kY4A:10 a=kj9zAlcOel0A:10 a=dt9VzEwgFbYA:10 a=GoEa3M9JfhUA:10 a=VwQbUJbxAAAA:8 a=Q5MygImJ9EEM9c2vatsA:9 a=CjuIK1q_8ugA:10 X-Proofpoint-ORIG-GUID: wFozsx9q8A-6O86ZkfNxzFuPndBKbWJH X-Proofpoint-GUID: wFozsx9q8A-6O86ZkfNxzFuPndBKbWJH X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwNTA3MDAwMiBTYWx0ZWRfX4OTSQC3+zMPz bDWBRRH+C+jgt8y1DHNMz4qT/ppnLa7MRrB3IxzZvnxukuP+0P2BLzV3g96z9NAqeLHfctbtVBK ygkGCEduhxJFPZoZcoRQ9MdfvxRrUa3V/JBYRCwJ0deyeliVlC/C9EbCmMg22VdVJVTnipCvJPD Kl9FIOqjYw1HNplH+EQKyOafsQmdw+czt5PRXvW3KFQjsc9yEjQWlEq2PjMWfBMx6evtr/uZJOj FGCEUXBJSYHYvIhRVdhHAJlQP2dMKqI19pOMcebASR5xaAFryYvSxW/U5hfDzVCeYdSpJ2rGOnA DnAsG4qwyRWFSu+oZZGc08UGMDc/qTuoegTOi8PBPnBtUBj3gtMJXmIdKJ+3iffgQpED0pgCQRd kx6zrUOXGRTwUMrm3NM3b8HmKuKJiJf/x1h44C9wbmyU8L+R8altKzU2g6YG5V6O7yym3nws X-Rspamd-Queue-Id: E241D18000B X-Rspam-User: X-Rspamd-Server: rspam07 X-Stat-Signature: i49xj98p5dopzp4wgmj6utf7pdfiaqbb X-HE-Tag: 1746577932-771074 X-HE-Meta: U2FsdGVkX19JGwrSrjLsG/Clc/u/kuvzYbH0owrlBMpQWhVL21gI/XWlp8MgwksA59zIPSy2FVls26uolD3qgJD2agBRGYtjbLw7RSQ9BU1TGNRlbbE2qelCOy4bDEs6zRYj9Ab9yi60VjybdntxyGAFf0H6btThoOPqpXelfMok1QptRjuqfZ7aBOqQLpdUM8tOFgKsYQGkdX0+Vy49rAyn2jQaKr2PbmYF4vT/G3qPG9agvMqTNvlroGoQWanyqqqbm630JTwygt5Tl3Hh9mKm4nFc9kv/loxfgVnGQUfX5IBTt2GxINjjQTdnQcHMKGiVlJcZvzpKHCQJmvI/gG8rXk2x54dhW63ndrO0zi18W+ys7Lwkf9k+5J4v2YpDDDJXU+emBfej7+WSqHAiR0B/AV+LWrs6e4e9KRbgmMUBDGlTa5nQUmq+ao+7aYDo9f2cH4Rloga3MkpVDRve3ZdV8bZTNORW+pXu43Eh6criMqDlv/NUgiOU1qGqhLCdqnUvxsE/lMDQ7Srh0AI5KaBU4sc/bjldkiLpQrDx3d4BHzVwr8nwbYCgvvvsi6N+jNLyBQc7aJ10xf8/6qEtpH15g1+2TOANotkuqXXTqAJT/y8tUPGCqsBJekK2eKvgN5XiiaI6c6aplQUzmzDHJj/nbV59tJ8Kx55U5iFYQXcgQws1MdIPwzFMjlfwb5TqgEe+oOqeRMZVwjqh4H9OWsz8OfdMJlWUPn8j/VZX8MM6dcmv90rxV9wjYzo0kNpYhWqCq/gCptkmVXCuD8KAzHn6kFwqmweVPgszzIs4CETMMXzGJw/kHHqXeTP8USivmrvQ6Hwif4vwny+DK6+tgYbM9DVMlmvpfJgZbabOEJT6rL3Un+63ayvaKax9ggoJtPVg+f5FtbCcXHoLbLy9E5FUmM9GJMXR0TRx4L1+oktS8DiIFybYI/6RvvKFQX2npW7VHZgLVVJuJqzFqED /lZqct78 LyKXp9IZu4wzxVXnABOiqoRNVoa82dOXRc9XRUHcPf9fPsLtlGhmVOVauw37fGwynwKsoMv2Ac3LEVDawZak85oWWq6Iash1YtPHVRUxSzhifS32Is2vuqBKggrG00pGkyKvED3Q/Qxxpo9bfhLWEztP+5taC8YJxYVisS6VNEUNBvkI97Mgc9PMXIOO1PA4B/1e/6J7+wP7GtiKe7m+Z17gfZVAXZ7L5Fcbzd90OU5UM/RvezCGqbY0r0FLYY+JpsPYMS4LRWRO4qrVII8ihzUqI0hHTgi/eMtjsQWGljEkInmwwpqPUf/GUJYCgx7Nts7dBg8ABYB2KdwKF8HIwJ2q05b49yCGUod84NB+3pUMEWtEGsG4EWkEYZSu/qEKJKn5dObzdwZlG4ubpcTskLHXEzH0alwgRpycQYkoifbNhmuYYp+rVaHc6266HqTFCuRnxnKkU16FxJM/buxYI84yQsS5mBKoCsb4g4OeMrX6+A1udAF9cmdRtUoru8QPJhHA1J7h92JPJubl0lEKDZY9/U5eX3T8pct+aPP40Yr3r3s1Ihe4DV02sQtg3wdT/W8Y8pTPyDBijLHpdM8xLUDdKhkkcwhFFYrLFOk/y9vLk+i3AXwf1U5Y2gFczj6mFlScSKdVs7RL/A8Mdu65KtEVrvnTvllGvyV4pFMn8uOi119nYwcGHnBLrhQruXaWe6jyK+flYbBTSYRMe7NqWU8+jPxx0Yd5xH4eAh7+r8CPlqFzJL822e+DT0p00YoA1bwh32IxxS5Mv17m1TwsGS+4avA== 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 Tue, May 06, 2025 at 02:01:48PM +0200, Vlastimil Babka wrote: > On 5/1/25 05:27, Alexei Starovoitov wrote: > > From: Alexei Starovoitov > > > > kmalloc_nolock() relies on ability of local_lock to detect the situation > > when it's locked. > > In !PREEMPT_RT local_lock_is_locked() is true only when NMI happened in > > irq saved region that protects _that specific_ per-cpu kmem_cache_cpu. > > In that case retry the operation in a different kmalloc bucket. > > The second attempt will likely succeed, since this cpu locked > > different kmem_cache_cpu. > > When lock_local_is_locked() sees locked memcg_stock.stock_lock > > fallback to atomic operations. > > > > Similarly, in PREEMPT_RT local_lock_is_locked() returns true when > > per-cpu rt_spin_lock is locked by current task. In this case re-entrance > > into the same kmalloc bucket is unsafe, and kmalloc_nolock() tries > > a different bucket that is most likely is not locked by current > > task. Though it may be locked by a different task it's safe to > > rt_spin_lock() on it. > > > > Similar to alloc_pages_nolock() the kmalloc_nolock() returns NULL > > immediately if called from hard irq or NMI in PREEMPT_RT. > > > > Signed-off-by: Alexei Starovoitov > ... snip ... > > @@ -4354,6 +4406,88 @@ void *__kmalloc_noprof(size_t size, gfp_t flags) > > } > > EXPORT_SYMBOL(__kmalloc_noprof); > > > > +/** > > + * kmalloc_nolock - Allocate an object of given size from any context. > > + * @size: size to allocate > > + * @gfp_flags: GFP flags. Only __GFP_ACCOUNT, __GFP_ZERO allowed. > > + * @node: node number of the target node. > > + * > > + * Return: pointer to the new object or NULL in case of error. > > + * NULL does not mean EBUSY or EAGAIN. It means ENOMEM. > > + * There is no reason to call it again and expect !NULL. > > + */ > > +void *kmalloc_nolock_noprof(size_t size, gfp_t gfp_flags, int node) > > +{ > > + gfp_t alloc_gfp = __GFP_NOWARN | __GFP_NOMEMALLOC | gfp_flags; > > + struct kmem_cache *s; > > + bool can_retry = true; > > + void *ret = ERR_PTR(-EBUSY); > > + > > + VM_WARN_ON_ONCE(gfp_flags & ~(__GFP_ACCOUNT | __GFP_ZERO)); > > + > > + if (unlikely(size > KMALLOC_MAX_CACHE_SIZE)) > > + return NULL; > > + if (unlikely(!size)) > > + return ZERO_SIZE_PTR; > > + > > + if (!USE_LOCKLESS_FAST_PATH() && (in_nmi() || in_hardirq())) > > + /* kmalloc_nolock() in PREEMPT_RT is not supported from irq */ > > + return NULL; > > +retry: > > + s = kmalloc_slab(size, NULL, alloc_gfp, _RET_IP_); > > The idea of retrying on different bucket is based on wrong assumptions and > thus won't work as you expect. kmalloc_slab() doesn't select buckets truly > randomly, but deterministically via hashing from a random per-boot seed and > the _RET_IP_, as the security hardening goal is to make different kmalloc() > callsites get different caches with high probability. It's not retrying with the same size, so I don't think it's relying on any assumption about random kmalloc caches. (yeah, it wastes some memory if allocated from the next size bucket) if (PTR_ERR(ret) == -EBUSY) { if (can_retry) { /* pick the next kmalloc bucket */ size = s->object_size + 1; /* * Another alternative is to * if (memcg) alloc_gfp &= ~__GFP_ACCOUNT; * else if (!memcg) alloc_gfp |= __GFP_ACCOUNT; * to retry from bucket of the same size. */ can_retry = false; goto retry; } ret = NULL; } By the way, it doesn't check if a kmalloc cache that can serve (s->object_size + 1) allocations actually exists, which is not true for the largest kmalloc cache? -- Cheers, Harry / Hyeonggon