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 B463CC54E49 for ; Tue, 12 Mar 2024 06:21:25 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 441788D0016; Tue, 12 Mar 2024 02:21:25 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 3C91C8D0015; Tue, 12 Mar 2024 02:21:25 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 290A78D0016; Tue, 12 Mar 2024 02:21:25 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0015.hostedemail.com [216.40.44.15]) by kanga.kvack.org (Postfix) with ESMTP id 16CDD8D0015 for ; Tue, 12 Mar 2024 02:21:25 -0400 (EDT) Received: from smtpin04.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id BDAE6A1369 for ; Tue, 12 Mar 2024 06:21:24 +0000 (UTC) X-FDA: 81887390088.04.13DF4DD Received: from out-172.mta0.migadu.com (out-172.mta0.migadu.com [91.218.175.172]) by imf29.hostedemail.com (Postfix) with ESMTP id 3C2AD12000B for ; Tue, 12 Mar 2024 06:21:20 +0000 (UTC) Authentication-Results: imf29.hostedemail.com; dkim=pass header.d=linux.dev header.s=key1 header.b=f9CDIArp; spf=pass (imf29.hostedemail.com: domain of chengming.zhou@linux.dev designates 91.218.175.172 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=1710224483; 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=kq/kPt1JxT4dVExlnhMNYe5OTKfRBTQE/YRVss6FppQ=; b=0OnKOe6J3x+Vi3GTeH7ZYjnb2ep9CHt3nKbCuPJB4njd1dVGl37Pr4QH42LJrkaVwirWBM O78psqsOnPcDNlsq/mWOblmxMCl+BOEz7c8K5XpUrF0e8KF0vgiuK2y/LeHJNyh9j7uDc+ kLJXkpH+T08za0KlTmSVl8cpghFeRmA= ARC-Authentication-Results: i=1; imf29.hostedemail.com; dkim=pass header.d=linux.dev header.s=key1 header.b=f9CDIArp; spf=pass (imf29.hostedemail.com: domain of chengming.zhou@linux.dev designates 91.218.175.172 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=1710224483; a=rsa-sha256; cv=none; b=jcmS6iRKF+BqTQocozpOuSkfnENLrzWpX3bGV/GGpZ+vaQqpeYTJL9WigstWMbAlF6Yhqc Yzs/LicjS2QZCIMG4hAOtmAn96b02Xa9kmu+nhMB0CDp4bw7oW/VDqDQ+AdN32QGpxTjmy m99czUUu3yh1uS9lkGo7APUFjsW57X0= Message-ID: DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.dev; s=key1; t=1710224477; 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=kq/kPt1JxT4dVExlnhMNYe5OTKfRBTQE/YRVss6FppQ=; b=f9CDIArpzDnDB5LXsCrK+Z8ZI/iwYX/JKwvhmOJb5NOo+JW/dnxsMBSLo3y5qBraTpNZ14 awrKJs4WXqJk0meccldW2nkDG76G/iUzbfXAKONDPIBo7e8GlxTHQxq7wevJ8niJHvm12+ wsBxfNbPdZbECLcMa3E1ZD1bxglGXYI= Date: Tue, 12 Mar 2024 14:21:06 +0800 MIME-Version: 1.0 Subject: Re: [PATCH] mm/slub: Simplify get_partial_node() Content-Language: en-US To: sxwjean@me.com, Christoph Lameter , Pekka Enberg , David Rientjes , Joonsoo Kim , Andrew Morton , Vlastimil Babka , Roman Gushchin , Hyeonggon Yoo <42.hyeyoo@gmail.com> Cc: linux-mm@kvack.org, linux-kernel@vger.kernel.org, Xiongwei Song References: <20240311132720.37741-1-sxwjean@me.com> X-Report-Abuse: Please report any abuse attempt to abuse@migadu.com and include these headers. From: Chengming Zhou In-Reply-To: <20240311132720.37741-1-sxwjean@me.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Migadu-Flow: FLOW_OUT X-Rspamd-Queue-Id: 3C2AD12000B X-Rspam-User: X-Stat-Signature: ba56pnz3rxinb8cib8dqdqmpy5x64t85 X-Rspamd-Server: rspam01 X-HE-Tag: 1710224480-648656 X-HE-Meta: U2FsdGVkX1+jQ7ch3qaBsTNfc4t7RbnVzIx8vUMchawl2Fyn90c2E+dro/usehNH9lft3DWnkWB/Qf/pcIdA8WMoEd1We2wN5LysjD3ur36vJnYEubeksdaQvB3X3/F8svd98tEAnJxhTkTpda70QRswwyiPFfhWyi0/SUpzm9V/ucONfdSviQh+EFLyt5ePrG0lArwUIG4I6BDjK9glvrizhqXnAWJYN9f7TUL08NJsj2REDFjAIm0Td67mN+M5rPjcchGPpjAYXk8ux49p0N4NyQgL2MGBpy8qWaZOhsaOWqJxnEXeI1qsfhtjYgpnJ54YxQWLU1BdBZ0Fss2BmsfqkuI3UPpoAs8yKOr7lLAPPIk9QnBx+R5X4K58M5xb+XT3qDWssjp1/2CvDkiZcafTi8ztkTxJ7NGC8D1UW9xkv7ExLwE0TmJsvvvhmUFcbppEoinj8C7FAFlztMeryvRgys4OMpNEoJmBrp/noDvDn+iK1hL49DF/2LdSh4JO69gO5tGTsR++cG4eUU6IxAioq7qjnUQQwuRBePbCC8MKZsSdTS5V5wROG3x/6ffg2868ZGE+gRvp/P4/7PWZ0ByiZWebW4Y3ZM2k51CB8sgFhjjbbuv5OntoF9ZQ2Ky5dsys+y1VD9o67PN7PEbhV08yecG+pk3bUXIhU0Arocuj4GsplGp1fZyDSh5swbMSlnIEIgDaE/5m4LGL7Qby6tfuP/rkdDPRUI7UuXHyL+Y5f5BbtKRlLcRDdP2PpaCiN8HQTnRMujvrBF5bNaaYAjUjwWLCJfyqR+lAR7DUAoaQ3ji2kveryROvxk+LabTlhLPL9Ym7qu0BLHjBnGFmnbu7DI+s7N3SP0qufVqn8y26jMgIHwzb6k+MTW/DwtEfNRtTHWwj2E5Hyxqe7OvUNtoyQUIXeJWbGA8pYGj8yU3DV+CTSRzrxhe08cQhKZAAJNd5dBQV5e5G2R+j8sc SzXc+d0r O4QgUIr8MpL7gOJzX8WxqHRSeDLg74tCL11jIL+NaPoN5IGn8m7WA3itQYMkWgyY2a8rqHv4YYiVIFPcjs2viR/BRPUcLNj87QEHJE8hCTXTFZodC2JbxCYqDB5W92xNdyYcKYnLftnb192RrZG3KqaYyww3FrCv0wt9P+p6w8+6y8Pzujutzzrmqxg5hwmjZ67AoutquDJ5XS4NS299zfilmPCLaGGDdUx0ovVtgTW7D/D2DZMLSOX1pyDlPnl3SwWwCaVzf9IaIrmsmHePA7USsTAOEcg2O784s 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/3/11 21:27, sxwjean@me.com wrote: > From: Xiongwei Song > > Remove the check of !kmem_cache_has_cpu_partial() because it is always > false, we've known this by calling kmem_cache_debug() before calling > remove_partial(), so we can remove the check. This is correct. > > Meanwhile, redo filling cpu partial and add comment to improve the > readability. > > Signed-off-by: Xiongwei Song > --- > mm/slub.c | 22 ++++++++++++---------- > 1 file changed, 12 insertions(+), 10 deletions(-) > > diff --git a/mm/slub.c b/mm/slub.c > index a3ab096c38c0..62388f2a0ac7 100644 > --- a/mm/slub.c > +++ b/mm/slub.c > @@ -2620,19 +2620,21 @@ static struct slab *get_partial_node(struct kmem_cache *s, > if (!partial) { > partial = slab; > stat(s, ALLOC_FROM_PARTIAL); > - } else { > + > + /* Fill cpu partial if needed from next iteration, or break */ > + if (IS_ENABLED(CONFIG_SLUB_CPU_PARTIAL)) > + continue; > + else > + break; > + } > + > + if (IS_ENABLED(CONFIG_SLUB_CPU_PARTIAL)) { But this won't work since "s->cpu_partial_slabs" is defined under CONFIG_SLUB_CPU_PARTIAL, you would get compiler error if building without CONFIG_SLUB_CPU_PARTIAL. Thanks. > put_cpu_partial(s, slab, 0); > stat(s, CPU_PARTIAL_NODE); > - partial_slabs++; > - } > -#ifdef CONFIG_SLUB_CPU_PARTIAL > - if (!kmem_cache_has_cpu_partial(s) > - || partial_slabs > s->cpu_partial_slabs / 2) > - break; > -#else > - break; > -#endif > > + if (++partial_slabs > s->cpu_partial_slabs/2) > + break; > + } > } > spin_unlock_irqrestore(&n->list_lock, flags); > return partial;