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 AB356CD5BC0 for ; Thu, 5 Sep 2024 12:45:52 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 271BC6B049E; Thu, 5 Sep 2024 08:45:52 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 1FAD06B049F; Thu, 5 Sep 2024 08:45:52 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 09B636B04A0; Thu, 5 Sep 2024 08:45:52 -0400 (EDT) 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 DE5B26B049E for ; Thu, 5 Sep 2024 08:45:51 -0400 (EDT) Received: from smtpin14.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay02.hostedemail.com (Postfix) with ESMTP id 5863A121BFA for ; Thu, 5 Sep 2024 12:45:51 +0000 (UTC) X-FDA: 82530656502.14.504C2AE Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.223.130]) by imf23.hostedemail.com (Postfix) with ESMTP id 06E3C14000A for ; Thu, 5 Sep 2024 12:45:47 +0000 (UTC) Authentication-Results: imf23.hostedemail.com; dkim=pass header.d=suse.cz header.s=susede2_rsa header.b=hQ6nKlAN; dkim=pass header.d=suse.cz header.s=susede2_ed25519 header.b=FmsFxgOu; dkim=pass header.d=suse.cz header.s=susede2_rsa header.b=dddorioK; dkim=pass header.d=suse.cz header.s=susede2_ed25519 header.b=I0m1GDz3; dmarc=none; spf=pass (imf23.hostedemail.com: domain of vbabka@suse.cz designates 195.135.223.130 as permitted sender) smtp.mailfrom=vbabka@suse.cz ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1725540240; 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=rRhc8o319Ph1eMZHwHQe73JokXWCLinHStXSk/wYilU=; b=vDw4ry0EYKch6LtW1LI9bw1ZYsGPZ6JYwjj/PcIbf1sCEgoVXzAJ1G/xP5ykJ0CEfrbZmD NgIeDSiDnkMGRrx7EAhkZXBWvfxs5mdIiV78wtT3L6cSXFvXneWzzOrISgncGmXmpEgc7x xikRaceZWUXLAlKvrNkBt9cWEhotQT0= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1725540240; a=rsa-sha256; cv=none; b=NsgH3PkjeSeEXEyoIc+xyxOn4XMXJo/7q5QG97OOpCMljs+W12Pqhkrel42Ojig2I1ZYDQ LnvTDPwNRmCah1iHzHrkyvYlH++1RLjyGd+07uxlak1jze+m7WAX1/HfJS+4y+V9iz5V3+ VU1GTFOoQ5ZdYFDh9nOiNOt73WpDQ5I= ARC-Authentication-Results: i=1; imf23.hostedemail.com; dkim=pass header.d=suse.cz header.s=susede2_rsa header.b=hQ6nKlAN; dkim=pass header.d=suse.cz header.s=susede2_ed25519 header.b=FmsFxgOu; dkim=pass header.d=suse.cz header.s=susede2_rsa header.b=dddorioK; dkim=pass header.d=suse.cz header.s=susede2_ed25519 header.b=I0m1GDz3; dmarc=none; spf=pass (imf23.hostedemail.com: domain of vbabka@suse.cz designates 195.135.223.130 as permitted sender) smtp.mailfrom=vbabka@suse.cz Received: from imap1.dmz-prg2.suse.org (unknown [10.150.64.97]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by smtp-out1.suse.de (Postfix) with ESMTPS id 911A22191F; Thu, 5 Sep 2024 12:45:45 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.cz; s=susede2_rsa; t=1725540346; h=from:from:reply-to: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=rRhc8o319Ph1eMZHwHQe73JokXWCLinHStXSk/wYilU=; b=hQ6nKlANCeSDV+pGXzsUg1y7PsC2LHYrpISheasjcJ/bu4ue5+T+r+W/chOdzE7KN09xsh 86De0w5zZvPtEwIBv5RrPZ6hTbuEzB1aUXoWp8rLz07Hhh8FR1+Gkxpg7cHR8RK5wbCWdP 9ZdZwZD+1WkySOByR8rJ+T+hcpMj9Do= DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.cz; s=susede2_ed25519; t=1725540346; h=from:from:reply-to: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=rRhc8o319Ph1eMZHwHQe73JokXWCLinHStXSk/wYilU=; b=FmsFxgOugT0w+0c6T6v12y4CtFYM1JtQuK/THJZfrMEJvuQ0vbaavCbHtTYbmB6xoGd/F7 2d6fRF6/E8fiE7Aw== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.cz; s=susede2_rsa; t=1725540345; h=from:from:reply-to: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=rRhc8o319Ph1eMZHwHQe73JokXWCLinHStXSk/wYilU=; b=dddorioKnUOp9KjCSPBzyPbR4sC5213qdCi4JTOe7BffiXml4PHBuJalOS5hF+MLOh9hZX nw1ZTIliAuU0UFAX1ZQ0Q4sU2QMKTlvG6plHWupOCDNM/6L7H5XLMMDzowI2uD4qqJFptR TTcG69Ba13KxtNoV+XdDPf154YIrEWQ= DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.cz; s=susede2_ed25519; t=1725540345; h=from:from:reply-to: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=rRhc8o319Ph1eMZHwHQe73JokXWCLinHStXSk/wYilU=; b=I0m1GDz3U3mpBd31JBmIQQZXjNNwWpGkwPROZbwGn1vodUjjW4EJEfaYtqqXUSvN8eBkYA 1dzUg3KjvAJGChDg== Received: from imap1.dmz-prg2.suse.org (localhost [127.0.0.1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by imap1.dmz-prg2.suse.org (Postfix) with ESMTPS id 03F141395F; Thu, 5 Sep 2024 12:45:44 +0000 (UTC) Received: from dovecot-director2.suse.de ([2a07:de40:b281:106:10:150:64:167]) by imap1.dmz-prg2.suse.org with ESMTPSA id z+I5Ovin2WZhdwAAD6G6ig (envelope-from ); Thu, 05 Sep 2024 12:45:44 +0000 Message-ID: Date: Thu, 5 Sep 2024 14:47:58 +0200 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH v1] mm/slab: Optimize the code logic in find_mergeable() To: Xavier , cl@linux.com, penberg@kernel.org, rientjes@google.com, iamjoonsoo.kim@lge.com, akpm@linux-foundation.org, roman.gushchin@linux.dev, 42.hyeyoo@gmail.com Cc: linux-mm@kvack.org, linux-kernel@vger.kernel.org References: <20240904074037.710692-1-xavier_qy@163.com> From: Vlastimil Babka Content-Language: en-US In-Reply-To: <20240904074037.710692-1-xavier_qy@163.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Rspamd-Server: rspam07 X-Rspamd-Queue-Id: 06E3C14000A X-Stat-Signature: khwero1ttwrf5rukpyss76n41dgkxu7h X-Rspam-User: X-HE-Tag: 1725540347-796563 X-HE-Meta: U2FsdGVkX19r2ORK5ScbOwOTgNRdxPMMusdxUI/54vOdRXCwggBd+dy/1uJuNVWx8xel4k43NWYpz5qejbdLaWJREeW/+g+El/ghGApj8gMdDA/+lhz2mWKm9HK/3K839AxiEup7a/gt582unkp9fJWpf0z22GuYW5bFgpaumgdnkJLTJyz1KsSGrX+jtE7bvUv7OSJK3QbaGZSm0+rhQxe2SdTD4H2wbrojmhYhM/yFIAH/2iTTvQ7j0DewAB0qBiFuelfI9OBe2pwJKzVxcgN3Xjp7cDorLjny+QwpI103UMMybwagPlpRLdGBlIo1QMq8T/JEa2ls6dkJW3yMZLxUgkg7GdvtyJq4rmPxJFVGuEtfduIjMIUQ96akEyZsaTUz47GkoqHkFSX8ieXwXl7NL0PapFgeznZ4a50o08456EfAP7OgehRRrvfxtbV26WS9APuyS5UyMj0FWIedLyYOc+TQQkAsjQ+3/YFK7D2PGxuo3wQrOQBEXbkXOlOoXFwNP0LeIAIeppkOcjluMqnTgAK1TPuDC1GKc6mG5C17CIJx0HfSh7Z2vTeuf+wwVXuh+hMGsDEj3EY6mU6JxQc/93wcCmLAjGyeSLGQ45fqtmk+y2N+agIAaBiDAWP7spfUN6+82u0QgCMRjT7R+MX8rLON/rWUEkNRcZ0lcIFhd8mFVjk8GoiClayF8LRvAMkTcZ8vOf1hV3kR+8fupF9RhcWk6tamxVNkz43g++edIpp7o/HCmkGiFmUSRwqSeqwYNJVEeh2K5Np9GNNpIOu1dgoYkqq/A6qeN5oLxwTnpSnMBsjc2mxFCqJHzK3l2tbt7U7gvlHlu1FRSTlM/DUsrDTv+wC9tO2oGapRkb4jCxEePicPupG0de/vChdpg3kneAqRKZkpgKHbjiGUsdr9Bv2IUZjADVe29niRuWtx3I3OAuMftzaRuH2YRDO3cPS0ABvyOqwUS79oM5J giK3a+A2 OqsETvGHhjNOcdBytEzv5ddG3a5M46AibKGCLgTZTBknV6yQbMcrLASIRMR/Jc0CMIt7qLfXHyheHSVWQzmLO0R3F/FL2uaItgvUUixRwbx+OZIXzyaVg9xflt1oEOqI4s8sgWzBbO02j3PnknRdy0qVsmIERBUFyEjdEgpwLlh7CkPwiN/Jb/toe6cWyv//TW8f6BXrRLGSlWuWNx4mobtzPeikSu5srPID+20uO4MTh/7SAk7Wh2D4ia3IQyKiQv1z6J9YqeiGj/OIWLJN2I0WgMMi+W+1iXagAKGH+P3QQvYQOtpbBJ7CZ4SnTYcN3D10tWunL9H7jRWA2ZTkuruhlJQTsdYZsC+4sPwvvc1Mk16inGeMBfauqourbv5WATAcbnhKfBobIWkG5MEM+vludD/ZFuhUerBFbNeeJm8t33i9V7L6iBbERRhO0uEbQNVXMCtxHZf0WsuUfq9cHRMZvbEkBC0aelEuH1+V7rRhn3nE= 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 9/4/24 9:40 AM, Xavier wrote: > We can first assess the flags, if it's unmergeable, there's no need > to calculate the size and align. > > Signed-off-by: Xavier OK, applied to slab/for-next. Thanks. Note this is not a hotpath so no need to micro-optimize, but it makes the code cleaner - no more calculate_alignment() using flags before we adjust them by kmem_cache_flags(). This currently doesn't matter as it cares only about SLAB_HWCACHE_ALIGN which is not affected, but will be more robust in case of future changes. > --- > mm/slab_common.c | 7 ++++--- > 1 file changed, 4 insertions(+), 3 deletions(-) > > diff --git a/mm/slab_common.c b/mm/slab_common.c > index 40b582a014b8..aaf5989f7ffe 100644 > --- a/mm/slab_common.c > +++ b/mm/slab_common.c > @@ -169,14 +169,15 @@ struct kmem_cache *find_mergeable(unsigned int size, unsigned int align, > if (ctor) > return NULL; > > - size = ALIGN(size, sizeof(void *)); > - align = calculate_alignment(flags, align, size); > - size = ALIGN(size, align); > flags = kmem_cache_flags(flags, name); > > if (flags & SLAB_NEVER_MERGE) > return NULL; > > + size = ALIGN(size, sizeof(void *)); > + align = calculate_alignment(flags, align, size); > + size = ALIGN(size, align); > + > list_for_each_entry_reverse(s, &slab_caches, list) { > if (slab_unmergeable(s)) > continue;