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 6AC5DC48BC4 for ; Fri, 23 Feb 2024 05:00:51 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id F35576B0080; Fri, 23 Feb 2024 00:00:50 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id EE53B6B0081; Fri, 23 Feb 2024 00:00:50 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id DD4A96B0085; Fri, 23 Feb 2024 00:00:50 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0011.hostedemail.com [216.40.44.11]) by kanga.kvack.org (Postfix) with ESMTP id CCA9F6B0080 for ; Fri, 23 Feb 2024 00:00:50 -0500 (EST) Received: from smtpin29.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id 9905C140E24 for ; Fri, 23 Feb 2024 05:00:50 +0000 (UTC) X-FDA: 81821868660.29.E78EDA4 Received: from out-185.mta0.migadu.com (out-185.mta0.migadu.com [91.218.175.185]) by imf01.hostedemail.com (Postfix) with ESMTP id A0F5240014 for ; Fri, 23 Feb 2024 05:00:48 +0000 (UTC) Authentication-Results: imf01.hostedemail.com; dkim=pass header.d=linux.dev header.s=key1 header.b=mHqP772C; spf=pass (imf01.hostedemail.com: domain of chengming.zhou@linux.dev designates 91.218.175.185 as permitted sender) smtp.mailfrom=chengming.zhou@linux.dev; dmarc=pass (policy=none) header.from=linux.dev ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1708664448; a=rsa-sha256; cv=none; b=nO2nuIUf+AnL8jJYAy92PJGH454cPyMUislSkWVnlSXmjFkxE7cQhYhrTn07CctV++EuUa DQCg8KgDP9Agc1gxsp1Fb5W1KmOEMWZH3nKvicrgFRKzCDTa5yMTCyMfKVGM7sXSDaZgoE MsGjd8jwDJkS/893+2TvlRkrI5Ph0Ko= ARC-Authentication-Results: i=1; imf01.hostedemail.com; dkim=pass header.d=linux.dev header.s=key1 header.b=mHqP772C; spf=pass (imf01.hostedemail.com: domain of chengming.zhou@linux.dev designates 91.218.175.185 as permitted sender) smtp.mailfrom=chengming.zhou@linux.dev; dmarc=pass (policy=none) header.from=linux.dev ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1708664448; 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=44xWYjkvEitvr2LpqKYpVHLl/pWnfYZs1Xfy0OuFJbw=; b=v5vbYJGJ01Y1dTpJ/nA7W2oJ0FSSouGEz7g4RPzjUr9fkydfpRwFP1klo4w6FoBV0xWV0U ABmpyAT0WnrYk0k7InmlD7pVLNt6j2teis3je5ZqbK+nItuz8qAe8jsPpRXiAtrhCFzQya mgo9dx8g9YZo2mWWZxo+N6PKJlQ9hTw= Message-ID: <347b870e-a7d5-45df-84ba-4eee37b74ff6@linux.dev> DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.dev; s=key1; t=1708664446; h=from:from: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; bh=44xWYjkvEitvr2LpqKYpVHLl/pWnfYZs1Xfy0OuFJbw=; b=mHqP772ChKDinSnQ925Tx/lQvvV6L4V4Qy8/FIogSIb1hkSpr01P6b5cfW5cz+tA26Hr/q sy5sDLAP7wNNgiZi/Fe386kHg36Tw22uAd006IjT6voIAtvlecUhl7xYLDtviEgqlJmA+7 QhEucaJDD+nkDy3EExHa4388hqCHfNs= Date: Fri, 23 Feb 2024 13:00:13 +0800 MIME-Version: 1.0 Subject: Re: [PATCH] slub: avoid scanning all partial slabs in get_slabinfo() Content-Language: en-US To: "Christoph Lameter (Ampere)" Cc: Vlastimil Babka , David Rientjes , Jianfeng Wang , penberg@kernel.org, iamjoonsoo.kim@lge.com, akpm@linux-foundation.org, roman.gushchin@linux.dev, 42.hyeyoo@gmail.com, linux-mm@kvack.org, linux-kernel@vger.kernel.org, Chengming Zhou References: <20240215211457.32172-1-jianfeng.w.wang@oracle.com> <6b58d81f-8e8f-3732-a5d4-40eece75013b@google.com> <55ccc92a-79fa-42d2-97d8-b514cf00823b@linux.dev> <6daf88a2-84c2-5ba4-853c-c38cca4a03cb@linux.com> X-Report-Abuse: Please report any abuse attempt to abuse@migadu.com and include these headers. From: Chengming Zhou In-Reply-To: Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Migadu-Flow: FLOW_OUT X-Rspamd-Server: rspam08 X-Rspamd-Queue-Id: A0F5240014 X-Stat-Signature: gkju7tgxuee64osnojsrdar5qmqkn146 X-Rspam-User: X-HE-Tag: 1708664448-849432 X-HE-Meta: U2FsdGVkX1/flb/JG3MDRTPA5NNkNgYPHNBTN7C/2nA60Zu85NonHDnskPYOZOJ/IaCx0Ad0AkrskqlEJfa8n2MOKyifQmgSBTpcoEl3R5mbUWj0e4wifMdMII1DrdjcnYikQyOfNeGTKwyi4SgBkMVe94uckCwq4B+jAuqoMaZgBb05pAKGCYgA1bdsUx3ku0ji2fVq4vYmpamLgvVBdqmI9cneCSwZyn8cBBGX0xCbbEfydtrkWtPISlfJhzfxHMa5Wo9yrlHTRJNzJm5l4RnSaOh9CmLI3EObwW9raUEar7E4mUWpHiTYoikJfY8orzswf+dBovG2r6FPpuNsV2MQ/BeuqVPwW7Dkg4h+AERwwafO1olgUl+Qm2KAyDlhDxT4b8JLD7RCQKyGf1xXEJkl+giUwH3n59CVzhVdhCiKksVg9ckzm0Z6eyIq/Y7BGhfJv7kqLSM2JQdv/DkHrH3uij/TJyGFK1jfP57R4BbphX5cOlYZEZcCBqYyXsmo4AjPqglyrNgEa3sBzgTCbMPu2wN/IrcTh8UZwjYKXJHvJQLAnVdH92ks5W9Uu6PMgeVO8CEjrgnewK8/C2nbm6/ElbVsHrZZc/SxL52v1orkBurKj5Q7ohUrNpl5586l48zk3Fd9pYE/sJzxHmXFdq7N1h4OI3KGkSOjGIpFFqR8g9xQrhn4ODGFo6Ojq6l8VRdyVivlpml937JlsZXulDdWKa5yRZzF1eP9sCdXoL5uSA/OAib58hz9VwWTgdgrjpTeIz74oghLFihET6nVXdcvazjnOz+fMlCe9wZGVvdtJELZrYswPLWXaXuikDVXbWr6mMFp0x2rzuamwZWqXdrSeetH4iK1E3GmBtpcQRUNtEUwwVYLvxddfv7dSNVcjATZfdt2347K4HOYpcAF+ajBbTZe6u7YpLpsCb83A1Z4NUPEWozRW8k8Zls3sij+i+mGtt2BGns4Awkjvex AdfUmdWW 7PRAgwUh2m2HE5nUrMMdyUYLOF1PEQ1/NRtetFp7cXEZb7hvRB4WUjc7U2btq66D5l1yRuWmDGw17hoM/ODMe52T9zehgN1EAXnOpKEEcXwJGYKbWN00VserQQwUO+5X3ZDl8e7OKIp3GMZEp1fdnJkkjaedSL7qgPuyZLW3MEORfmU3D2cuwVxVeDevvnyqnwrKWniAq5+XX1gw= 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 2024/2/23 11:50, Christoph Lameter (Ampere) wrote: > On Fri, 23 Feb 2024, Chengming Zhou wrote: > >>> Can we guestimate the free objects based on the number of partial slabs. That number is available. >> >> Yeah, the number of partial slabs is easy to know, but I can't think of a way to >> estimate the free objects, since __slab_free() is just double cmpxchg in most cases. > > Well a starting point may be half the objects possible in a slab page? Yeah, also a choice. > > >>> How accurate need the accounting be? We also have fuzzy accounting in the VM counters. >> >> Maybe not need to be very accurate, some delay/fuzzy should be acceptable. >> >> Another direction I think is that we don't distinguish slabs on cpu partial list or >> slabs on node partial list anymore (different with current behavior). >> >> Now we have three scopes: >> 1. SL_ALL: include all slabs >> 2. SL_PARTIAL: only include partial slabs on node >> 3. SL_CPU: only include partail slabs on cpu and the using cpu slab >> >> If we change SL_PARTIAL to mean all partial slabs, it maybe simpler. > > Thats not going to work since you would have to scan multiple lists instead of a single list. We have to use percpu counters if we go this way. > > Another approach may be to come up with some way to scan the partial lists without taking locks. That actually would improve the performance of the allocator. It may work with a single linked lists and RCU. > I think this is a better direction! We can use RCU list if slab can be freed by RCU.