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 EE8A5C369AB for ; Mon, 21 Apr 2025 13:48:09 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id A980B6B0005; Mon, 21 Apr 2025 09:48:07 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id A482E6B0007; Mon, 21 Apr 2025 09:48:07 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 898EF6B0008; Mon, 21 Apr 2025 09:48:07 -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 6460E6B0005 for ; Mon, 21 Apr 2025 09:48:07 -0400 (EDT) Received: from smtpin20.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay01.hostedemail.com (Postfix) with ESMTP id 72DF21C906F for ; Mon, 21 Apr 2025 13:48:08 +0000 (UTC) X-FDA: 83358179856.20.0F8E7DD Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) by imf18.hostedemail.com (Postfix) with ESMTP id 4F6511C0006 for ; Mon, 21 Apr 2025 13:48:05 +0000 (UTC) Authentication-Results: imf18.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-11-20 header.b=e9EcTRs8; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=YszBCzRR; dmarc=pass (policy=reject) header.from=oracle.com; spf=pass (imf18.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-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1745243285; a=rsa-sha256; cv=pass; b=Ht1Zi4pe08wxQkb4G+DeJaoAfZs5GYIR8PW8ygkhSdS2M9e5zYf07v/5qQ/eJ5VedNQ3cZ DGBTXddNGYGQk7zQ4eSG2szcrPt80pZfcnDRh1Q3jQ1AaTHyn2S4qG96jhSHR1vJq+76mo NMAEPGyrmU43mPegWoDkeg9BuWl+A+A= ARC-Authentication-Results: i=2; imf18.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-11-20 header.b=e9EcTRs8; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=YszBCzRR; dmarc=pass (policy=reject) header.from=oracle.com; spf=pass (imf18.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=1745243285; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:mime-version:mime-version: content-type:content-type:content-transfer-encoding:in-reply-to: references:dkim-signature; bh=Lv6+vEDaLh36WfRl0CMPi7PUecjvlG21ROxNWcKJzRY=; b=a+zT3jzgWzHW1xvnhr63AfdAU9z+so2FMbDaLFdHOFV2TL6r2SmCt4xdM9pl1vTxQFExRA SMxtCIp6BAiiL87sjUNS3WB86DQXRphKl4nQnSXiHhhg/5sRvAyTptcL7nwFOEQFqxwK5P 7AUKURnZ3jQZiMwW0dQn9mQjHLaAL2k= Received: from pps.filterd (m0333520.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 53LCAlCb016607; Mon, 21 Apr 2025 13:47:55 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h= content-type:date:from:message-id:mime-version:subject:to; s= corp-2023-11-20; bh=Lv6+vEDaLh36WfRl0CMPi7PUecjvlG21ROxNWcKJzRY=; b= e9EcTRs8QAv7w/m3Kd4T8GCgCNIJ/ta+dW0lrDxdy0E+/HIIdrwI+ZdnjG6lGxJg Vj7cxDMneaVfM0BFmdybsgLoJy/Ef1amBGugg3JaygYMltaO9RoUBPpOL0rkE5dm YfrP57NF2e88z2hz8U1NNSbiA56nvaoHIKwjB9OgbDgyPvomh6vOPiGL169CwntH 3BYIrTd0uvXiVndoSyrGoVUipNz4LzPr5TInvPwS4XXDPs5XeJblYZde+wLfAU2v sc4DUyeW7A8k0u3plArvypqcH51DtZAaAh6c6n6auv0ed3fT804tO0VH2aVu5JG7 rR+W6gAsMG3+QNLdwvHEUA== Received: from phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta02.appoci.oracle.com [147.154.114.232]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 4643vc2h9q-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 21 Apr 2025 13:47:54 +0000 (GMT) Received: from pps.filterd (phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (8.18.1.2/8.18.1.2) with ESMTP id 53LD25jq002943; Mon, 21 Apr 2025 13:47:54 GMT Received: from dm5pr21cu001.outbound.protection.outlook.com (mail-centralusazlp17011027.outbound.protection.outlook.com [40.93.13.27]) by phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 4642981y3s-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 21 Apr 2025 13:47:53 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=aR8AwYTzvyyBmjVFpFkzBdC4RpQwaYW9fnIR3f0ZeSR6NdPCt2dime8dTeXXbILnLjIv8I8NIFAd8I1nFkin6BY/Z1He0QNdjMQxJDNhB7d/ghRFijoTLm0pJ6eqbdDjl+YIIDV562vTWUhXGi/r0hZJUh/o/d2kfcU0zn2ClsxFprRepbvJ6jHsdmKreCl38r0W3iSfoKsso9hMnVI6Dz4U+l7Rjdf+5TWwI6MI6OPpPB3T1IA6WgiPcS5pMSmBJQb4FzW4ifAv48cT7swpSo0PY6/AQn+6E7L4KbbxPf0/D7Cae3g9DhxbK1EXCgK2z/zA58fw+SSQ+Wh5Vq8p6A== 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=Lv6+vEDaLh36WfRl0CMPi7PUecjvlG21ROxNWcKJzRY=; b=RuOsjfMRWZIygYRACFNPPpTLIE3zyIN/Wpqx0DaXTTWLH+zB1UEVXA7w45PFx5P6wN/gs/xdLT0k2NB6gGM3pHtgIEH0qWE04z8s/t5ltOu8J9H1GxOEpdbSgD2y696VHWg09egde2aaRFeJNJsIPBofvy0sfaFZtJnRwvatfU+kDgpddtvtE5qbtTC0uTwgb2j99RQm3V5JhD/CLstXVSnJ8kh5CuMBvnKEFLsEZ3cKJvJlAySQxKirukQVpE6vQylgsyrSaqRMgRwV3QSCoHPoZ7d49DjWrS3TA1NPjuRlvAZVKp1mf+nTEYYfSMEF9iC3+GyZsk4lM29ZlnX8MQ== 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=Lv6+vEDaLh36WfRl0CMPi7PUecjvlG21ROxNWcKJzRY=; b=YszBCzRRMDN863g97OfdmNedYZorS56j2QB3uipt4qeZwCGiZD33TT2bphfyRv5pSe4nsLELkCcEXZltLfrWKtt6X8qivlkbWvq2zF0CKcPyQE4dUoeGXYadAem7Lv6XAT4CwsIhdsEkKhCcb3U8rePRkyZAXXooolKEIX/PC+8= Received: from CH3PR10MB7329.namprd10.prod.outlook.com (2603:10b6:610:12c::16) by CH3PR10MB6883.namprd10.prod.outlook.com (2603:10b6:610:151::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8655.27; Mon, 21 Apr 2025 13:47:50 +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.8655.033; Mon, 21 Apr 2025 13:47:49 +0000 Date: Mon, 21 Apr 2025 22:47:39 +0900 From: Harry Yoo To: Christoph Lameter , David Rientjes , Andrew Morton , Roman Gushchin , "Tobin C. Harding" , Alexander Viro , Matthew Wilcox , Vlastimil Babka , Dave Chinner , Rik van Riel , Andrea Arcangeli , "Liam R. Howlett" , Lorenzo Stoakes , Jann Horn , Pedro Falcato , David Hildenbrand , Oscar Salvador , Michal Hocko , Byungchul Park , linux-mm@kvack.org Subject: [DISCUSSION] Revisiting Slab Movable Objects Message-ID: Content-Type: text/plain; charset=us-ascii Content-Disposition: inline X-ClientProxiedBy: SEWP216CA0085.KORP216.PROD.OUTLOOK.COM (2603:1096:101:2bf::9) To CH3PR10MB7329.namprd10.prod.outlook.com (2603:10b6:610:12c::16) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CH3PR10MB7329:EE_|CH3PR10MB6883:EE_ X-MS-Office365-Filtering-Correlation-Id: 71256492-27f3-44c5-71f4-08dd80db1ac8 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|376014|7416014|1800799024|921020; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?xkeRyBLa9+cLacwgvw9iw4hIGygh/O3jbqjEHmSC6OzEm4XZr2HyD0qpS+1K?= =?us-ascii?Q?oxMyMA7Gd6UtHSe/rUltrx2+BQmlcBpylBOXgx8WrG1NbP3sgJBvblbLHQzU?= =?us-ascii?Q?3htuRNUC8G7Mg26BshM9ZxoJuy1i5EwM4cL4Qa0+9lkKZpXYpulzK3Ssrxo1?= =?us-ascii?Q?mhLU10f0Xqq3nkEiXd8Z5OQC8XzxQ1flcHPcB6eZ4yD6mnxrBynEM/z3/J8o?= =?us-ascii?Q?JHEbrtv8h0PdFdcDIdGxQIDG3C5b17aQkb+WBC/8Sc3I9Y0blbBGjGcoVWmO?= =?us-ascii?Q?0rn4S6V4WgTTAQG5ZCtboeZgqCqgR59DgBKP34Qnui31igeAde5Wqi4VxOUF?= =?us-ascii?Q?HP5Dsi2NhfmvU9/iJnUsN6wA6Uw67KEfU3nD2QjnDpdPTjfqsew/mqFidhxc?= =?us-ascii?Q?uUurusbLncPzCNODRJ46sBiztptrxG7xYncPpnRnod5MLkFolUKBicLZJm78?= =?us-ascii?Q?1yJdW/GGdNfgC1F6bfKWcDm8IxlPxuSC0n/bjiioO7nICMRTbpxEY1faO30R?= =?us-ascii?Q?sCwU+E5IkQReeg1x6wfpoobhYUjf4iaCB2J+9eHjEukjjBmmBfdE954pPXKF?= =?us-ascii?Q?Scsou6sJpzDERAgAqbFT9aN4hjnaMZUa9A5bKmUgFBBbE9JbQ4R1DEY1Wfdt?= =?us-ascii?Q?pEq9TG1L5mlgIhpsAAryjJEuoa6hbASS0DDDuTh6MFJS5YWM8CdcBD+xozsD?= =?us-ascii?Q?e+ZauzBXX8Un7Z2ZqXMwsa/cPPz6T1y1lKMgL9IXqpdlx090R+6JAarcDvWW?= =?us-ascii?Q?n8zL1A6tTLThYt+d0szdI3olQ2XYmtDboVsaR9U2c4d/fXSoFNuqzipV8WpJ?= =?us-ascii?Q?/9HXGzwGn0PHDAQHgP3W1F13nC0BgzHNDAKCYn37BzPT70vhymwKdHbqd2b5?= =?us-ascii?Q?LhwY948gYk0QACO/zu3oRtI2VGiMKgAw2whI+f/zjafjLAZfBaTvZ8TeQ3JP?= =?us-ascii?Q?6UAS2qEohIuitZxFVueYemJYg05b0fO89KHjSbIDx6Jyx3/riuq9iGPtLk3N?= =?us-ascii?Q?WJkV/FWLBfJe/ZvadTrLHGGAaFQjZxJwvUGivfBFYVn0VXumMN0bi/TpRB4L?= =?us-ascii?Q?YCMcZCJo9LmocfygHRabR+pnh3kbg4ZHNIIt2fXu25+M6FPusGPYTnRs1idr?= =?us-ascii?Q?tgtMT281kHzKmrgpQnVeO2PPH1j7JZt5X52ziOGH99dX6+CDzkCYZWRSrIVB?= =?us-ascii?Q?ChTsZ9eZ6lr6DOAkfpqLgr8lI0LeuGMfb4CJb6CFGjI/IMzeT+EgB0/EQluB?= =?us-ascii?Q?134XnrnigBAjS+8SWVYzNG9jOwMaGzTCTJqw2ODaCTfXrvvNha+j/VQD/KNU?= =?us-ascii?Q?NLw4GCJE9S/eaY6Jj0VluVUCRWRz/HCXRX0YO7HMtTF2WbW0Zcl87bVzksIL?= =?us-ascii?Q?tkgsqnkyOLZf+T3Q0gsU+CZOwJC41IwXUmGeI+1F12ckoOsSvqqDgNIN17xl?= =?us-ascii?Q?yjsha/vbaTg=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)(366016)(376014)(7416014)(1800799024)(921020);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?46/s/9wyRT0gGsPnDM5Fa+DmD6Zw07RafzBbbf2FfwVfB/zcnIHBUInBhdHC?= =?us-ascii?Q?QI4cipNR8rmNuotMZSZV+revRIlzkxMxQVGpOSN6eztDrG7OdP/QMAuyJn5S?= =?us-ascii?Q?ClrokJZ0V2V1d7MvFdoiqL7lO/Vkmh4o6cNj71Lb0hqsHHn4zuuV0M8hm4wE?= =?us-ascii?Q?pZn6B2JffMjNA+awaqCf4gN1kLoBizHB5dR2yoxySh7WvJ5P+vikUSG5nkmZ?= =?us-ascii?Q?HJ8HcG6JzxrfaA69DMH8gs61U68J1DaF8vuW9xrQxk55VNkQ+iChPncD0nP5?= =?us-ascii?Q?nRf8TtEYoV3/LuQV3RaLD/7doFcqDLuIiNRT3EbLkZLGpUZk0/W8alX9X1oP?= =?us-ascii?Q?OPrnPZklGeKnNXs7KK54U2ZDSHHKnrHUaXTz2ntqvBedoxNTrq5svmygShOC?= =?us-ascii?Q?wFsP/1yEikhHWDwhh4LXtd2YeUH4FnuZCb5rHGchrY3dYSqrzcmBCCuJ4TTr?= =?us-ascii?Q?c2qsXkgQMpEwx2m0WyOhJSTM1H+fpwAOZsN+MHSwoae0DDVW82rndjl8BCoJ?= =?us-ascii?Q?LXWcy+s6cBuREsfOqYa2Errc+llMY5aasyCbwYy2fCjyuzhduBpLXNm2a/wc?= =?us-ascii?Q?oSXg2vAyLIhXOd19IVBrrEF4hGJVbc0rq2pH+CIXMn++zcpHRci4lLH4Ynom?= =?us-ascii?Q?gawZa7gzsUJP366bHlq3OdrYx4TG2dpPjzRxJoulpmabgxaMyZSvePXBkCQy?= =?us-ascii?Q?/eni6P3pUtQKE/Dl367uOY0Avag4rvQ6HGRxRI8ToDesjg1CYpruZVaMbWin?= =?us-ascii?Q?hz8KqQjV2N9DY+lG3PNEsJUKrI2W20Mcd814Siqip27ruCHbRClHMnmul0cR?= =?us-ascii?Q?j5iF4Y9pn86kIdoHPmte1albygK/hf2jz/ZtJeGcaD89OwB/ZIL2gOcO/bUF?= =?us-ascii?Q?7pslMZxaBKXsCjl+sEK/0FxUmPn36cBORWxht3AK/yXtOuIQBpWMkCGKQKr8?= =?us-ascii?Q?byPrvTScEVM5UUDFqa5qB+zRdk2K46CM7FRTElOIKpyw8jPu0EvmINRhlpXs?= =?us-ascii?Q?RS3xZlzN1OQtmRNsUjfX0q7OX8MoJ61nb0gi2PQYd2aHS4ZqhJSagG8t/oGI?= =?us-ascii?Q?q7llWpMeK5gm7ohcUcTGywVRaSqTe2kiP37V1VwR89MbsMlqEKI4JN2YyYf4?= =?us-ascii?Q?an58PisCteMU6hbTfLiBUr8294kPd0oFeRA2Z25lGuukTK24pwL6jwvlnuGs?= =?us-ascii?Q?gnbO9CN/GLYlJBexa9z11avfdwRpmJn64ro8vvkc6qdOAppSbP5ffWLrF1P2?= =?us-ascii?Q?l0VvgdEScFaYo/tB2Pyj9gYJDOxYjW4OwpE9F9eOvi1gYs/UBl3KbKEcdwkj?= =?us-ascii?Q?yGcsfYZULu9NMRhDeLzJLHSbsDrFq4oyGAQobBx3/oi+27/PG1F/jSfuYfwx?= =?us-ascii?Q?cABf5LvbHSXuD4p5XlDPxjWXTmSl6eaIWLNlXNDxFs5ATL54iNjdo3pMo9l4?= =?us-ascii?Q?2yWGRCENMtcQ36avUTjczswuIkessMOpvg76fyqrs8KTaH1HNiQip/1m8d+2?= =?us-ascii?Q?Dp43Jgy1NGSvj6A1bsjODjWf/FkJYo9/ugw+oqjuXNFDWAViqCd4dsFUaK37?= =?us-ascii?Q?KoKooshbPwopby2RyzWstw2kv1hgQ4CqQK55nh+I?= X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: sGSmDLa1KeG96PIssjWBZkhPUzuxhatbbMct0Ol7lDKf8mKKp0DrIl8QUgcR4877uzr/7V4ZLBY/U1YFuxuk6k0SKQgJ4B9FHGwAu/fb8bywKIJwdG//z08AoQaDljqpczWmrvzJ831KUPiz8TrciyNYzns49762+k0TOrWEEA0RvbODuvnFyL7ummKymJrzHNmrjLLWtN58s9zdoGJTzTfoNP3VAMJlzHn6b3v7Qon0YUqfqUOHOvI0S2oyBzyBH268RsBndaGMSYZ6htNcTW7/n8AFQMUITgP7wlQniqn6Gr2z72igWPHatVAertGLTkDuTkTIJCD4iqc3ow3hOcn09o/gRwki4fjBfob4zQofIZhVe7sEPq+9+kiy2Sri9gHQhdiSakG35AaAmaRX0MKswtE5lQaiL627OlRNsbVBSxFDvgBRah7U21Rwq7o2Wci0xLpJNof4xbwj8FWUFQ0ru4cbUg9mRC1X+OSaxzJFI33POKiDHIYGZ3DSizyVHAGol1V+7FcZ+rM2ULA7QcrP8lGBTYLRQoPCu+yL7w9uXbR5jxD1OJ07P9Hv2HTYYOgECbkwxGepKsHVLX0/vzN0mDyyXPl9NeuhG+Ljx6Q= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 71256492-27f3-44c5-71f4-08dd80db1ac8 X-MS-Exchange-CrossTenant-AuthSource: CH3PR10MB7329.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Apr 2025 13:47:49.7113 (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: CaBdLLDpqWh/3vTyY5G6plAMdYP17ycLz10VGr4R8ZxFKqPBn73s3OZqpwbMRgvVDKXpqj04BPOI4fhjID98PQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH3PR10MB6883 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1095,Hydra:6.0.680,FMLib:17.12.68.34 definitions=2025-04-21_06,2025-04-21_02,2024-11-22_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 adultscore=0 bulkscore=0 phishscore=0 malwarescore=0 suspectscore=0 spamscore=0 mlxscore=0 mlxlogscore=999 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2502280000 definitions=main-2504210107 X-Proofpoint-GUID: 6os3DL8ftHzF3k7ITqerSleWKp53WB36 X-Proofpoint-ORIG-GUID: 6os3DL8ftHzF3k7ITqerSleWKp53WB36 X-Rspam-User: X-Rspamd-Queue-Id: 4F6511C0006 X-Rspamd-Server: rspam04 X-Stat-Signature: yruieyqtjit3os7hz9fu68xyj7uz5cxh X-HE-Tag: 1745243285-892221 X-HE-Meta: U2FsdGVkX19xd24DpDIiXbjKLcAPFQXyljK5XTYaQGD0hryzC9z0miwv5Ev+0Y4x6f4MFXWaYLKRZ2GGOUt/EjbpYb96E8dXNIVt+jSbeJUxDDH2v4B5xx2cWJCpZMXQnlKT6RO/arMMeIgr7CSSHymdSqERm72zTDnkySNVwM+dVRDNp8xZlraKuXsTr38U2DeNbeOXfI6Xjxy6ND8LTaxCo1m8R17d7Cck8E7jAbGVDmsbEF2g+snVjPGxInkoIlf3/De6+fOVbSi+JCER+xDxyQHRnsrgi9fwRtJ+psVWjsroZ7c2pEJI3nVtSJSUVMeMlHPkhyzF7acS94dYCMoVZgsy27TvXUoFXGrQLJWHWqRmTJyrr8y3+f7FsCyPsLU5OBdAqyZ4w8vLsKTS636BQ+sI24dqwUMax5+ehStsCujQBEHwItmZRu6pjO4yApCFBCU8xizBO249Ds7Gro1ZpHRAIRAwUsFRbDoYNyzNGZOfO+0hDGG5RjIwsCs8QPm684gyHOR1TX8VjeKKU0GX2lPnVedcxItm6I3ZTSTCo/uaupsx4AVSLQ73452JqkSwrghujGTp1Zc+xWMsPTglnWy1VlXy4SYFXV0sJsuLsrE5TANWP6UnqRzojc4xgBwAmzyM9Vmu/cCHE4bDohJASIfvoZWPCphU+gNG3s/nDxn02wVgPbgdb2BATOnCPfCJoVQB8sLbuLsmPKTRsQHjdEZ6MDMHZe4jCHLV85hqT6Ro1w1t4rtW8oc3fU7Xo+w/XAjPrxQ83YmZX4B8cWQKuqGd02OvSx/EBKopYS5aqreMt5/nit+rs51SIjN93VKX/vdR7bXdO51RA7nD9ZQi5AvnDMDmQzi7pd2YqEP4nY7k8ceYN3Z8w6qBlBsW0UxkPjcjymixbDMix36OXw7FYEsSotdTPlyQCu5EUvL7HjIBtQYAUqA3I1PSV6dj6CmAVKdaC8p8Iplnw/r VAIPFRr0 OuRUuOAWRs4daPTsNoNEmEgHtz1jcXWuSxWUfX938B/swlTJbMDgawkEVaSmPp70/kE4M4b5xCoPiQFU5wflSpw2kX6AbNK8hEC9hoah8UQ9CBEFh9OEpOhnkaWM3s31eATP4Wtgbc+bqD9T1UN5QaOgFkUa/n+TqttJYnQqjKaFGozTE5+pgwTIvXmrz9/Mw2Mtdxsu9ubZfbbAL/G/vFjwM6Nw2m4SVYaUeLkYWpOeoowU9/GHD/Ak+UyKasjrDQR0cdpAApIO68DM6Z92x/dhLMMzbLUsNfjYYt7x4ROQJB4FOpFstxNR8h3Id8p+vF1pMDO3z6IM3e95cY2ALr1UVm6uIIVsYqaZ8Fe9N2QlyZU+SKuEnpe69PI1fo8eNNmfiQJ8v8dvmA7uis3ivuoTQG+HGpKsA14DynEazu3fmJvtmgIlEg1YOb+RavqEh4BdMBMfaTyx4wiQr9IH3D/a9+ghIElJWqmaNVA18x6hZv5M7PjXYRVHkVlYZ0e6RSgWeK0pm0doz+E+RxrdldebOXzfrFwe6v61cAxvxvjtrWC+FNYlnJqmvfj3nyqP2k2A9/GFHDC4lv59ZbF5cWpWcIA/Q1HUpw3Mubv1jSNCIv/NYfkzECdbdCS54OcndQjw1H9gTM8ZJP7NqYshAwLyE8o/UFG5KMlSM+9VqqhV/LbV/A+FvPsB9LBBjs+o5x9lf9USKgE6SWa39L1AdwwVKd5Fa+y+2Ey6dsBYjuHb5UGbFcpaOIljv7PYH94VUr5nY9o8xVGMsXbpUIIishlhK3e1oYNG+yuvPVx78fEDeMWFyTyZxSvcUqgpib8lPMZ6sYQs//J0+c62mU3MRSro3Um4iURxdS0iD4nwGaf8pd4VrbKd6nRxqVAR9zGE5Pf8L3JeU1ci/ZrbHt9nDIX4vCSyK3MejeHEh 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: Hi folks, As a long term project, I'm starting to look into resurrecting Slab Movable Objects. The goal is to make certain types of slab memory movable and thus enable targeted reclamation, migration, and defragmentation. The main purpose of this posting is to briefly review what's been tried in the past, ask people why prior efforts have stalled (due to lack of time or insufficient justification for additional complexity?), and discuss what's feasible today. Please add anyone I may have missed to Cc. :) Previous Work on Slab Movable Objects ===================================== Christoph Lameter, Slab Defragmentation Reduction, 2007-2017 (V16: [2]): Christoph Lameter, Slab object migration for xarray, 2017-2018 (V2: [3]): Christoph's long-standing effort (since 2007) aiming to defragment slab memory in cases where sparsely populated slabs occupy excessive amount of memory. Early versions of the work focused on defragmenting slab caches for filesystem data structures such as inode, dentry, and buffer head. updatedb was suggested as the standard way to trigger for generating sparsely populated slabs on file servers. However, defragmenting slabs for filesystem data structures has proven to be very difficult to fully solve, because inodes and dentries are neither reclaimable nor migratable, limiting the effectiveness of defragmentation. In late 2018, the effort was revived with a new focus on migrating XArray nodes. However, it appears the work was discontinued after V2 [3]? Tobin C. Harding, Slab Movable Objects, 2019 (First Non-RFC: [5]) - Tobin C. Harding revived Christoph's earlier work and introduced a few enhancements, including partial shrinking of dentries, moving objects to and from a specific NUMA node, and balancing objects across all NUMA nodes. Also appears to be discontinued after the first non-RFC version [5]? At LSFMM 2017, Andrea Arcangeli suggested [6] virtually mapped slabs, which might be useful since migrating them does not require changing the address of objects. But as Rik van Riel pointed out at that time, it isn't really useful for defragmentation. Andrea Arcangeli responded that it can be beneficial for memory hotplug, compaction and out-of-memory avoidance. The exact mechanism wasn't described in [6], but I assume it'll involve 1) unmap a slab (and page faults after unmap need to wait for migration to complete), 2) copy objects to a new slab, and 3) map the new slab? But the idea hasn't gained enough attention for anyone to actually implement it. Potential Candidates of SMO =========================== Basic Rules ----------- - Slab memory can only be reclaimed or migrated if the user of the slab provides a way to isolate / migrate objects. - If objects can be reclaimed, it makes sense to simply reclaim them instead of migrating them (unless we know it's better to keep that object in memory). - Some objects can't be reclaimed, but migrating them is (if possible) still useful for defragmentation and compaction. - However it is not always feasible Potential candidates include (but not limited to): -------------------------------------------------- - XArray nodes can be migrated (can't be reclaimed as they're being used) - Can be reclaimed if it only includes shadow entries. - Maple tree nodes (if without external locking) and VMAs can be migrated and obviously can't be reclaimed. - Negative dentry should be reclaimed, instead of being migrated. - Only unused dentries can be reclaimed without high cost. - Dentries with nonzero refcount are not really relocatable? (per [1]) - Even unused inodes can't be reclaimed nor relocated due to external references? (per [4]) Al Viro made it clear [1] that inodes / dentries are not really relocatable. He also mentioned: > So from the correctness POV > * you can kick out everything with zero refcount not > on shrink lists. > * you _might_ try shrink_dcache_parent() on directory > dentries, in hope to drive their refcount to zero. However, > that's almost certainly going to hit too hard and be too costly. > * d_invalidate() is no-go; if anything, you want something > weaker than shrink_dcache_parent(), not stronger. > > For anything beyond "just kick out everything in that page that > happens to have zero refcount" I would really like to see the > stats - how much does it help, how costly it is _and_ how much > of the cache does it throw away (see above re running into a root > dentry of some filesystem and essentially trimming dcache for > that fs down to the unevictable stuff). Dave Chinner mentioned [4] why it is hard to reclaim or migrate (in a targeted manner) even inodes with no active references: > On Wed, Dec 27, 2017 at 04:06:36PM -0600, Christoph Lameter wrote: > > This is a patchset on top of Matthew Wilcox Xarray code and implements > > object migration of xarray nodes. The migration is integrated into > > the defragmetation and shrinking logic of the slab allocator. > ..... > > This is only possible for xarray for now but it would be worthwhile > > to extend this to dentries and inodes. > > Christoph, you keep saying this is the goal, but I'm yet to see a > solution proposed for the atomic replacement of all the pointers to > an inode from external objects. An inode that has no active > references still has an awful lot of passive and internal references > that need to be dealt with. > > e.g. racing page operations accessing mapping->host, the inode in > various lists (e.g. superblock inode list, writeback lists, etc), > the inode lookup cache(s), backpointers from LSMs, fsnotify marks, > crypto information, internal filesystem pointers (e.g. log items, > journal handles, buffer references, etc) and so on. And each > filesystem has a different set of passive references, too. > > Oh, and I haven't even mentioned deadlocks yet, either. :P > > IOWs, just saying "it would be worthwhile to extend this to dentries > and inodes" completely misrepresents the sheer complexity of doing > so. We've known that atomic replacement is the big problem for > defragging inodes and dentries since this work was started, what, > more than 10 years? And while there's been many revisions of the > core defrag code since then, there has been no credible solution > presented for atomic replacement of objects with complex external > references. This is a show-stopper for inode/dentry slab defrag, and > I don't see that this new patchset is any different... [1] https://lore.kernel.org/linux-mm/20190403190520.GW2217@ZenIV.linux.org.uk [2] https://lore.kernel.org/linux-mm/20170307212429.044249411@linux.com [3] https://marc.info/?l=linux-mm&m=154533371911133 [4] https://lore.kernel.org/linux-mm/20171228222419.GQ1871@rh [5] https://lore.kernel.org/linux-mm/20190603042637.2018-1-tobin@kernel.org [6] https://lwn.net/Articles/717650 -- Cheers, Harry / Hyeonggon