From patchwork Mon Mar 11 13:27:20 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Xiongwei Song X-Patchwork-Id: 13588758 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 947F1C5475B for ; Mon, 11 Mar 2024 13:27:44 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id C94EC6B009E; Mon, 11 Mar 2024 09:27:43 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id C44F66B009F; Mon, 11 Mar 2024 09:27:43 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id B0CDF6B00A0; Mon, 11 Mar 2024 09:27:43 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0012.hostedemail.com [216.40.44.12]) by kanga.kvack.org (Postfix) with ESMTP id 9EC9D6B009E for ; Mon, 11 Mar 2024 09:27:43 -0400 (EDT) Received: from smtpin11.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay02.hostedemail.com (Postfix) with ESMTP id 3CF3D1204C5 for ; Mon, 11 Mar 2024 13:27:43 +0000 (UTC) X-FDA: 81884835606.11.6DF2C69 Received: from pv50p00im-hyfv10011601.me.com (pv50p00im-hyfv10011601.me.com [17.58.6.43]) by imf06.hostedemail.com (Postfix) with ESMTP id 7EE3B18001E for ; Mon, 11 Mar 2024 13:27:41 +0000 (UTC) Authentication-Results: imf06.hostedemail.com; dkim=pass header.d=me.com header.s=1a1hai header.b=T61uHLmG; spf=pass (imf06.hostedemail.com: domain of sxwjean@me.com designates 17.58.6.43 as permitted sender) smtp.mailfrom=sxwjean@me.com; dmarc=pass (policy=quarantine) header.from=me.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1710163661; 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-transfer-encoding:content-transfer-encoding: in-reply-to:references:dkim-signature; bh=2iRYH/AKaj8JjQAjivvq81LSzcAuZlufT7ff0QJCa4c=; b=kRCe9fSAz20uoVEdTsS8jPHevqhTozuS+l7xk/GCKc6wfm45uq0vQRTik+5QKBIWTBnH4m n3xGw0CM+0gJwXYlyPLcm/zi0hMottapMJ1Snxv8ddPC7AaVQR3zdP6EPyTqz64pjqqTsQ cyeYvK3cDzdt2NAd1dW8laA/asERzHc= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1710163661; a=rsa-sha256; cv=none; b=yaUxhigfWC6IVdRJ+2Ym1jGc0N1vzqtlZRUg2Ax8gxu0BBHFOsfNebT/PaGVwmLk+BmAwF iGoLKN5rgz7qyvnPe0CP0xfqjxhAqIO7ikG9g3kxbtrjvtig/PVSS3YwExQwe3Cjf0bN7x ufzauVD16iiTZNnQlqFsIgQwtG6plf8= ARC-Authentication-Results: i=1; imf06.hostedemail.com; dkim=pass header.d=me.com header.s=1a1hai header.b=T61uHLmG; spf=pass (imf06.hostedemail.com: domain of sxwjean@me.com designates 17.58.6.43 as permitted sender) smtp.mailfrom=sxwjean@me.com; dmarc=pass (policy=quarantine) header.from=me.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=me.com; s=1a1hai; t=1710163660; bh=2iRYH/AKaj8JjQAjivvq81LSzcAuZlufT7ff0QJCa4c=; h=From:To:Subject:Date:Message-Id:MIME-Version; b=T61uHLmGgPHqKgAJsJsp9UC3ffblicjLh4NQwQKi/kmntOt0x0misyEq//LpJbwS1 5TAVo8xUNFBykgteRTRNCaaRI3CiXglOZFPU+gl5vCfk9g8lU1MDYXcpLA1oRnaXhS LyxpZfDEE1cdzPSzb64gIG693N3ZcBx88VbYHL30W4nmwxqBHa8QDsij+32brIKbuC Ckm2uxH6ozneQpfm2HHfjNehayswQ0KAb9bksSETvovIlmMS6uKyQKHW4viI0EtsLZ o0wz2LnzZaTUktB5niOLBTBJwqQ1mhz2ZpOt+HplxUv0PMIMXFAwVjMZrSSCJAaB08 DKhsDywCLz/Yg== Received: from xiongwei.. (pv50p00im-dlb-asmtp-mailmevip.me.com [17.56.9.10]) by pv50p00im-hyfv10011601.me.com (Postfix) with ESMTPSA id 35577C8011C; Mon, 11 Mar 2024 13:27:33 +0000 (UTC) From: sxwjean@me.com To: 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 Subject: [PATCH] mm/slub: Simplify get_partial_node() Date: Mon, 11 Mar 2024 21:27:20 +0800 Message-Id: <20240311132720.37741-1-sxwjean@me.com> X-Mailer: git-send-email 2.34.1 MIME-Version: 1.0 X-Proofpoint-GUID: NuU_XrVOMrf5qTyHgVrOyaY9XMuGi4Zf X-Proofpoint-ORIG-GUID: NuU_XrVOMrf5qTyHgVrOyaY9XMuGi4Zf X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.272,Aquarius:18.0.1011,Hydra:6.0.619,FMLib:17.11.176.26 definitions=2024-03-11_01,2024-03-06_01,2023-05-22_02 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 adultscore=0 spamscore=0 suspectscore=0 clxscore=1015 malwarescore=0 mlxscore=0 phishscore=0 mlxlogscore=999 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.19.0-2308100000 definitions=main-2403110034 X-Rspamd-Queue-Id: 7EE3B18001E X-Rspam-User: X-Stat-Signature: gsaqhuuoo6ed9frbxeutktzohgbguhz6 X-Rspamd-Server: rspam03 X-HE-Tag: 1710163661-738941 X-HE-Meta: U2FsdGVkX18IkHEah5tSzKx9is3fKTHuJUdji+SMIxL0JBSptDqbrxjcBcFroH77lX/siDJkwzmcph5GH/oC/34RbI3XD8nqhrAPuXl5I0OsHulilt1KAaTrVfPEHRecIhFGCZs5jwMF2datp1w/TpIcsdTVNe8IhVLRhxgTJ1rtwHhbZ4NnuHrsmnTGThwqA/A2ctcF4Sh4VNNeeZnAKXuWiJKswVrhqLse/CQj4vEXDXwCPDRc6Uc1FbWr/jsMfa+hH0RipVEkeRX7zzB+TtY1Iyr+7OEvxBL1if6ieCCt+EddFLpwAFWXKkSSDtQIqG8PxFVCpF8TFlAira05TspWmvPldIZj6aefOujr90Tu2LmUV9Luf6gPwN7lT9yAKK8jUeupfiN6GWRqh9v2rgIVxK40CgOqxAx71VXLK2yEuDJMlI5DBOdHbTCk/QeJ+Z+u8vplNe0kNQYgvSzu7XgnghCScUQBLql3gWt/wQnA4QRc2ywvN+UrhHxbj/i9A5YSEO5fbS99eRugxDchmzmkfJQDt7lasJcOU3irQkKks+4kb5M91wcs1sZB8gTPFKIeRsy2bqxY4oBnFTO/gs+Z6trP8PI79Kk0JYs7jMQXUUZEO08cqKhWH3A07TGDQ7Zx18+0NviDfnku24eKW/KowtsPxiOM2TD5/Zx6c6dFlO7+EWU2vvBkxXbqXFD2EGAzkOdUU3yL3Tcpl5L2OX+V94bnwyRiJWQ0fmcS6qXFw6s6Qcp82QzK7A0nYwuXeRhPzuZ/OAvrqXh4Ql/dN3cpaiQ0KijfIzrHgC9KcpzxIo9FGLJYqG6fZzHbql3RWkLgWXkMH+/LriSIDab/pEvtkux8bbcfnZMsnTrnhqQ2cb65y+95fVZeM4hNqWTHjAb50VhjZS7rlgzwd7L9JqvjA3VJ5HKbGqnQMi1I6mtJbLFyvS0kZtDOcOvQYHxVeT3HFPnu011hL1Wjw2m 9W7xQIe5 r6qd8DfzJnAzVnPBWxRM7g09JvZjoN3V5SrHaB+F3trP8wJTsXRWcQeszNg== 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: 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. 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)) { 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;