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 DE243C369CB for ; Wed, 23 Apr 2025 07:40:54 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 260366B0008; Wed, 23 Apr 2025 03:40:53 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 20E346B000A; Wed, 23 Apr 2025 03:40:53 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 0FDE56B000C; Wed, 23 Apr 2025 03:40:53 -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 E6C8D6B0008 for ; Wed, 23 Apr 2025 03:40:52 -0400 (EDT) Received: from smtpin19.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id 7E53CC14E4 for ; Wed, 23 Apr 2025 07:40:53 +0000 (UTC) X-FDA: 83364511986.19.E6D0948 Received: from zeniv.linux.org.uk (zeniv.linux.org.uk [62.89.141.173]) by imf28.hostedemail.com (Postfix) with ESMTP id 98047C0003 for ; Wed, 23 Apr 2025 07:40:51 +0000 (UTC) Authentication-Results: imf28.hostedemail.com; dkim=pass header.d=linux.org.uk header.s=zeniv-20220401 header.b=rWPYlumt; dmarc=pass (policy=none) header.from=zeniv.linux.org.uk; spf=none (imf28.hostedemail.com: domain of viro@ftp.linux.org.uk has no SPF policy when checking 62.89.141.173) smtp.mailfrom=viro@ftp.linux.org.uk ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1745394051; a=rsa-sha256; cv=none; b=RvwEEQCs4OU/tqiKzlCnKKpQIxOku9OhVorUci7MNMHZqRCwFGFabNg79GhuU2AZo1htHr x2Kc+3c4FuFm3nwIsUsvnm2XGY5TtXBeguvxTAYvNcCyzIrd64+SZ+Qv2bSFW5Obxtz0v6 prJgUwHYVeTCv5+Rw5KuG+1QSBJhHOw= ARC-Authentication-Results: i=1; imf28.hostedemail.com; dkim=pass header.d=linux.org.uk header.s=zeniv-20220401 header.b=rWPYlumt; dmarc=pass (policy=none) header.from=zeniv.linux.org.uk; spf=none (imf28.hostedemail.com: domain of viro@ftp.linux.org.uk has no SPF policy when checking 62.89.141.173) smtp.mailfrom=viro@ftp.linux.org.uk ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1745394051; h=from:from:sender: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=tZ9GDyJ+omWmtLR6nVAZpdYReReTCnKrzNWIFZor5Fo=; b=VjmAk3ryhoEPDZ/jiDBvAcOUeUrMd1qs//iu4J0nCHnGtldTMOoOM2Z7h9ium4vBvXmeuH 2tkE2g0b2mfWwtxn/MJ/4Si+g4DWiKi6L2OAe0IBaKGutDgDzC4HntoqetUclcWCd2dZTc /COXrBOMZGVGHVZVBPNRTMMKoHfshEs= DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=linux.org.uk; s=zeniv-20220401; h=Sender:In-Reply-To:Content-Type: MIME-Version:References:Message-ID:Subject:Cc:To:From:Date:Reply-To: Content-Transfer-Encoding:Content-ID:Content-Description; bh=tZ9GDyJ+omWmtLR6nVAZpdYReReTCnKrzNWIFZor5Fo=; b=rWPYlumtzGwCZ8eW4KoUSDVgvK FQVjzgZWyJrN3XyFbcaeN9vqvTj7Gj5Uy+zpdOSc532fC6hJVF8m0BA2Zh4sef8Q5+qc2+fjOKRzy htIV+5KewjwKvXVjACET/UQ8742y7lEz3zJes1kZwSt2DWV0EmHWWDf5DSyTJUgUEdRfCp2h1FoG6 YvYx8UgCaGRv3tcSZ/gU/ojhxP/D0iALVqH3B9rMsC5QY/OEgXoQc+21lt2xeWL/tYVFGLEdl97HF fMOeqhRoRckr5y+UUdTi6iEU8yRKJl9uaZENmdAX8qNZIy1Yq+a9yvhKFChxgjRHPl7BUoM4T8GKu XC6fC6Qg==; Received: from viro by zeniv.linux.org.uk with local (Exim 4.98.2 #2 (Red Hat Linux)) id 1u7Uil-00000009Dg0-2pCZ; Wed, 23 Apr 2025 07:40:39 +0000 Date: Wed, 23 Apr 2025 08:40:39 +0100 From: Al Viro To: Harry Yoo Cc: Dave Chinner , Christoph Lameter , David Rientjes , Andrew Morton , Roman Gushchin , "Tobin C. Harding" , Matthew Wilcox , Vlastimil Babka , 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, linux-fsdevel@vger.kernel.org Subject: Re: [DISCUSSION] Revisiting Slab Movable Objects Message-ID: <20250423074039.GE2023217@ZenIV> References: <20250423014732.GC2023217@ZenIV> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: X-Rspamd-Queue-Id: 98047C0003 X-Stat-Signature: nszxdtifwdnpjpgp1ywq3nuxbywzbu7q X-Rspam-User: X-Rspamd-Server: rspam08 X-HE-Tag: 1745394051-468415 X-HE-Meta: U2FsdGVkX1/c7kDI5+/n1w6PI2p6YcgdD5lpZdxfMuS5YNVk89CgnE6Opjnr/okiq9+j2uP4ZDZjg6JcOJAeb3xv2wdvz1KEv7tGmVKZaB9QqbqrLm3HnAXk6ifYnEpdyk95FXkzbSrsKiGwklmYl66c4JF+KI/kHW+uulqA50/8n+Rw4+wg2X5PFoobb1oC1puJNNO1u52M+11RpbBX4OiD3Sh7N7kGVmoHSBOS7PoT8bOez3nZr55FQjFA18XF9Ue1X+pmmb6QMDJz7xS/NTJhquTROWCU44T8/U7PzcXUs/VyvrSKre053oI+8qtfnnSeSf+YMXPb8BciAI1sVNXVFu+1t/v9BlO5qwuv/B3H1Tala098AQ/zP1d0Lf1FJuXwgY2V+kYq8vxEXX3Fd4113dwAvJxKYmievaktwt3V4e4zimDRtGfrOdofnDOGCl0UaaNDBDZdQqavR2wT38I8GUaQmqJha+Ad5EKb9XwvtTZ3pu6xjEsK3oTPgAiFJvYexpvRGV6TH0dZNYUTKVDir4G2tO9g7u9qqCtW20H4cGKxZa9/TPGPobt6MGRrnsUwW/W1fX6HEwkTH0eZjyJQO0JPJrZM5EbdFom7Nq1axePR4k2E8qFtLixNQSGc8gom8gPKAaPBgrKYFx2MQkCm/SK6OajlxBsflYcax+ITPFpFPWKwJoDLyQ4NLhEak38Ftjj+6thOl1LcVzJaWeNoBdBPA71EV2ZvxoaAcaGLzodosWH1UCOc9sIRY3wHP6BhTRM7l3wbfmxGVC8Ide2jYD8gRP8mPV0OIMCEd8mrrwEuw+fE3IRw+HBapP2yyZe/O3Ll9eJs8mO7y/TbMcT+/lOYk+cNfYmlwPsM+7bW+6KksDeBLT13aYugMpJP/U19hDNM8lYV7XneSV1J8L2QOcvg9n1+Q+bechNfOO7XPyTyN2yhzTFUsYmpzOjJVa4Az6X3PQy8M2bl+DG ybYfDj0b x7oLfHQKwrpIKBGE88zFUyneUSVbdhyvSEaZbNewOdxvQUMGK9mJ1te4R8/R6GrBopv1lCq8mmxwh4h+uVh/mj2zgiMeahPgwtUVsM7OHVtnqEuDFen/rL6qKulTktjIgclIHEr4+UzD1qq1kAwDqJFtKFqQcXuOi9vLjSVIT7wbxQkhsykiYG9lCnkkVirY/TEKbjgc+amxRr9/7dZKzYroPc/mnVd/7hYPKtRG8PP2PK56Ah/XDwjBs8YarxKi5CkYCnNKXHi9RxGEZKzisvKMgPAAaNy1zjiZ34b+v86c2mvtl+Vo+DyrGIF3WRaYZBeye6z3ul52aoXxGvYHGNdjFjYe39Mub0YsGBq1DCNDVVk1JlyfVqfmbUIKpXxFbXIxzMioRkM53tn9XYPKmtnZmPvNWTBX2oI48QmvezozKshbYuL6SAOQnK7lNN5MC317X 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 Wed, Apr 23, 2025 at 04:20:20PM +0900, Harry Yoo wrote: > If we can't migrate or reclaim dentries with a nonzero refcount, > can we at least prevent slab pages from containing a mix of dentries > with zero and nonzero refcounts? > > An idea: "Migrate a dentry (and inode?) _before_ it becomes unrelocatable" > This is somewhat similar to "Migrate a page out of the movable area before > pinning it" in MM. > > For example, suppose we have two slab caches for dentry: > dentry_cache_unref and dentry_cache_ref. > > When a dentry with a zero refcount is about to have its refcount > incremented, the VFS allocates a new object from dentry_cache_ref, copies > the dentry into it, frees the original dentry back to > dentry_cache_unref, and returns the newly allocated object. > > Similarly when a dentry with a nonzero refcount drops to zero, > it is migrated to dentry_cache_unref. This should be handled on the VFS > side rather than by the slab allocator. > > This approach could, at least, help reduce fragmentation. No. This is utterly insane - you'd need to insert RCU delay on each of those transitions and that is not to mention the frequency with which those will happen on a lot of loads (any kind of builds included). Not a chance.