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 EAEB7C001DF for ; Tue, 8 Aug 2023 09:54:02 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 652886B007B; Tue, 8 Aug 2023 05:53:57 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 5BE298D0002; Tue, 8 Aug 2023 05:53:57 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 393A48D0007; Tue, 8 Aug 2023 05:53:57 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0013.hostedemail.com [216.40.44.13]) by kanga.kvack.org (Postfix) with ESMTP id 16D958D0006 for ; Tue, 8 Aug 2023 05:53:57 -0400 (EDT) Received: from smtpin05.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay01.hostedemail.com (Postfix) with ESMTP id D69741C9369 for ; Tue, 8 Aug 2023 09:53:56 +0000 (UTC) X-FDA: 81100476072.05.C03DABB Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28]) by imf03.hostedemail.com (Postfix) with ESMTP id C87D420013 for ; Tue, 8 Aug 2023 09:53:54 +0000 (UTC) Authentication-Results: imf03.hostedemail.com; dkim=pass header.d=suse.cz header.s=susede2_rsa header.b=sMK735vG; dkim=pass header.d=suse.cz header.s=susede2_ed25519 header.b=qySqY3LE; dmarc=none; spf=pass (imf03.hostedemail.com: domain of vbabka@suse.cz designates 195.135.220.28 as permitted sender) smtp.mailfrom=vbabka@suse.cz ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1691488435; a=rsa-sha256; cv=none; b=ovidPJy1pwsU0AqNk/BYxrsl7NxUYz319BF5h3aij1yZxuW9zhQ5ztGOIXKSh1r6j7pGEJ miwQ0rqsG2kKwnqMeG+FYrkdxZb7COLLh5EQo8jHkpEZ5lObgiB57ZR+unE5uz2/DtW0U7 HlawAPQDCNxcci6UVYQiFsFzj39t/AY= ARC-Authentication-Results: i=1; imf03.hostedemail.com; dkim=pass header.d=suse.cz header.s=susede2_rsa header.b=sMK735vG; dkim=pass header.d=suse.cz header.s=susede2_ed25519 header.b=qySqY3LE; dmarc=none; spf=pass (imf03.hostedemail.com: domain of vbabka@suse.cz designates 195.135.220.28 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=1691488435; 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:in-reply-to:references:references:dkim-signature; bh=i6TQwXZ4v9nk5j9z/G1P0QjfrlA/rpwYdzHk2PVBTRo=; b=8d8fDXBfNWHhy+hTA3npDzXBHZJk7hAlVsn8jrkZnM+4S+GnUxNQn8W6m2pM4vqq7GL00d OR5JFa8mHae9P230I5yGXkflYEqQsOaUjkbGbV6lsRTkYUI+HD/iAOmLUDVaf1FznMb4l0 RlNeI7+DHxWi23uCF/xMZ6uBfOMNjsQ= Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512) (No client certificate requested) by smtp-out1.suse.de (Postfix) with ESMTPS id 5CA9E2248A; Tue, 8 Aug 2023 09:53:53 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.cz; s=susede2_rsa; t=1691488433; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=i6TQwXZ4v9nk5j9z/G1P0QjfrlA/rpwYdzHk2PVBTRo=; b=sMK735vGrxWU1VYbx6RUmceJoQbzNocoGXJWDnHnQMuYYl5OwU3eFj+3qgZ8Ba0mFBaNLq Oq7pXw3+pm/6X820956mlj1IpRt+1zQo128JYQOLdIXM+09UMZwOMLvmaDtJEvC7VeLAxw oWjOyz1mC/TZfMdOelpD4y7kBG9k37Q= DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.cz; s=susede2_ed25519; t=1691488433; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=i6TQwXZ4v9nk5j9z/G1P0QjfrlA/rpwYdzHk2PVBTRo=; b=qySqY3LEh48iTLSTZF1kLGV3kFsl/U5DLBfmwlVvoTvtGqeP3Z4gT7neP5svnR3Q21mOnH hlN2F/r3TLQ+AODw== Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512) (No client certificate requested) by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 2649513451; Tue, 8 Aug 2023 09:53:53 +0000 (UTC) Received: from dovecot-director2.suse.de ([192.168.254.65]) by imap2.suse-dmz.suse.de with ESMTPSA id AFq7CLEQ0mSBJQAAMHmgww (envelope-from ); Tue, 08 Aug 2023 09:53:53 +0000 From: Vlastimil Babka To: "Liam R. Howlett" , Matthew Wilcox , Christoph Lameter , David Rientjes , Pekka Enberg , Joonsoo Kim Cc: Hyeonggon Yoo <42.hyeyoo@gmail.com>, Roman Gushchin , linux-mm@kvack.org, linux-kernel@vger.kernel.org, patches@lists.linux.dev, Vlastimil Babka Subject: [RFC v1 4/5] maple_tree: avoid bulk alloc/free to use percpu array more Date: Tue, 8 Aug 2023 11:53:47 +0200 Message-ID: <20230808095342.12637-11-vbabka@suse.cz> X-Mailer: git-send-email 2.41.0 In-Reply-To: <20230808095342.12637-7-vbabka@suse.cz> References: <20230808095342.12637-7-vbabka@suse.cz> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Rspam-User: X-Rspamd-Server: rspam06 X-Rspamd-Queue-Id: C87D420013 X-Stat-Signature: zaiwt1pfss6dtsrdcosmbjt4nqpdwsm9 X-HE-Tag: 1691488434-818392 X-HE-Meta: U2FsdGVkX1+30L5qL8PTAF5TNYzbft2uni6+pNxVYjI8NqBQJv5Uf98XDrUN5A68pfXkLXlZB46q8sTNKTOcb31AYjQlgJOOkB/Rvx7OIzHKyfcePYQmNKd4op5vi+3pKCXMAeTg10RqWs46WZnB1RynL7Zhn7afPVBdrxOr2/N+Pys2QeC7z8t43J86t7nFhFjFhB+/ayjwQ72NBTPBAFU5MgOY2/UllSXXoXr1NcanfAt5zfSALIEtFeQTZZPDkYHKGA+pMfrLKnwg4dbFVPzao0cQrS1kXcC/7X1eHFweSoqtHo9F/tGkmOclUyW0ewUX3KG+M6Ps+4akBPU57BXoGEEwB77ghfwopuKeSuEmnl1XNs7e/cTaZ4o7gT18si+OPXm3z+og550da8KGYaxqfRjfL+Ii4Ls3Nez0P6kD2n4BI64QUviN+RpF9v+6EZfb8v7sDXTVqsKG+2JqYgIEf/vCHV3xBhIS4ONFK+aHoFbz7ruBkpVnH5bIyDC1gsvXmuPCZ8z+UGMun1/pyxRRSevuIj/IyOh7cm1Eg80pGY1rZGeNMk+GgXpnP8kW7eIQhtpariP8axivgfHNLj06wQICSu8CoP7PKRyMmVzM7VCNToLitLuKfQlOZYJ8zk8dkNbpfDYSNgyw+Fq1sH2TK6Y+e0u9QYxTIyhRpChjJ1XtPLGOb7PPbScO/cqknGA8FynMsiMdHRQfTTKasCxnWxN5t3ntBaQkt4m9dG2NtVx+v8cYcmWUJFa9CgSKNdG1VSMELGPzxEnOVEgqw0c3jERMqN4+5K2ZbB9w2zyz+kTiCn5uxhPQSmPFJYb+LVoQZjsBcL0Cmyp0+MEp/OB1Z1ABG6Ruu2UgpW4cd2eZ5RZQ7ezu0EDmpABuOE7hLz/yMsDZaRmsXdJYtbwUkUz2Msok8PXkpXvfrpX3xxLgnPhLX6runuuXYwj4fa8ra7/OoIiC4+WxHzZw9w5 eAfEem2N xbAILIvFO2cmsuKcnIX6Pa1Dxl4GirsD3+DNZxa1KjS4/UqLWLfg1yTT9Cys3H+v9PURTeyuYheRJBBdqHy6Coik+c28WsHByf+pAbmOBx0B0P2oXG1FYS8qH7dleZteoiF9OSssoIub/JsNR3tNEVIf25TUREorvUL1GxpyArBu2B3P1aXQ8q0XqKEiFnl8iNjrjdOf5ZsTj530GYoBgcVk0Ns1bmP/hjNt2cJpU8jpo6io+RJt6rj9LOK849S6ERwdJadRYHfaTxv54Y4rNZhWXXL/v8wFM1eFuA6yUjO1JYul3ni2ATDHOqQ== 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: Using bulk alloc/free on a cache with percpu array should not be necessary and the bulk alloc actually bypasses the array (the prefill functionality currently relies on this). The simplest change is just to convert the respective maple tree wrappers to do a loop of normal alloc/free. --- lib/maple_tree.c | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/lib/maple_tree.c b/lib/maple_tree.c index 1196d0a17f03..7a8e7c467d7c 100644 --- a/lib/maple_tree.c +++ b/lib/maple_tree.c @@ -161,12 +161,19 @@ static inline struct maple_node *mt_alloc_one(gfp_t gfp) static inline int mt_alloc_bulk(gfp_t gfp, size_t size, void **nodes) { - return kmem_cache_alloc_bulk(maple_node_cache, gfp, size, nodes); + int allocated = 0; + for (size_t i = 0; i < size; i++) { + nodes[i] = kmem_cache_alloc(maple_node_cache, gfp); + if (nodes[i]) + allocated++; + } + return allocated; } static inline void mt_free_bulk(size_t size, void __rcu **nodes) { - kmem_cache_free_bulk(maple_node_cache, size, (void **)nodes); + for (size_t i = 0; i < size; i++) + kmem_cache_free(maple_node_cache, nodes[i]); } static void mt_free_rcu(struct rcu_head *head) -- 2.41.0