From patchwork Wed Aug 30 12:56:49 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Peng Zhang X-Patchwork-Id: 13370228 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 73A6BC6FA8F for ; Wed, 30 Aug 2023 12:57:29 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id F241E44014C; Wed, 30 Aug 2023 08:57:28 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id ED4B2440009; Wed, 30 Aug 2023 08:57:28 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id D754744014C; Wed, 30 Aug 2023 08:57:28 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0016.hostedemail.com [216.40.44.16]) by kanga.kvack.org (Postfix) with ESMTP id C73CD440009 for ; Wed, 30 Aug 2023 08:57:28 -0400 (EDT) Received: from smtpin13.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay05.hostedemail.com (Postfix) with ESMTP id 900CE40172 for ; Wed, 30 Aug 2023 12:57:28 +0000 (UTC) X-FDA: 81180772176.13.A636ECB Received: from mail-pl1-f171.google.com (mail-pl1-f171.google.com [209.85.214.171]) by imf15.hostedemail.com (Postfix) with ESMTP id AFF17A0020 for ; Wed, 30 Aug 2023 12:57:26 +0000 (UTC) Authentication-Results: imf15.hostedemail.com; dkim=pass header.d=bytedance.com header.s=google header.b=UYKHqVgE; spf=pass (imf15.hostedemail.com: domain of zhangpeng.00@bytedance.com designates 209.85.214.171 as permitted sender) smtp.mailfrom=zhangpeng.00@bytedance.com; dmarc=pass (policy=quarantine) header.from=bytedance.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1693400246; 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=MP6g95MTpMxGO+X1eOP4Lih7hj+Gz/gWGNfVacVPrOc=; b=HAT1d1yNMjSXqkeikmceGbxWUtakt+sW9z83+0Yy9k96Xhdt+VQgRiPgD9wIqQkwR4ei4o I4hEQUoryspYaeCQM50PsA/cFkNbZBQaxzXYFkJjfnASkSjnKmqI5ZmWeFm3GiyV6Vh3Cs 8s56h/KS+L2k7CFugSVeOtERIe7VsxQ= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1693400246; a=rsa-sha256; cv=none; b=x/CfJ8//O1bpBE0oGnV47wKVL4F4w4nYfihdebEUkQRsZt3/3zI+cWPaxO23qHW9rgx2GW ChVq5g1Tf8dXwMWkv87oMcQyLVsG39BVZatsBvM2x1imPz/Gl+FGkEfYSTLNJ2qTaiZcqk IsTxvXInpsm8kPP2LFSP9wRTp+W8aJw= ARC-Authentication-Results: i=1; imf15.hostedemail.com; dkim=pass header.d=bytedance.com header.s=google header.b=UYKHqVgE; spf=pass (imf15.hostedemail.com: domain of zhangpeng.00@bytedance.com designates 209.85.214.171 as permitted sender) smtp.mailfrom=zhangpeng.00@bytedance.com; dmarc=pass (policy=quarantine) header.from=bytedance.com Received: by mail-pl1-f171.google.com with SMTP id d9443c01a7336-1c0d5b16aacso33504165ad.1 for ; Wed, 30 Aug 2023 05:57:26 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bytedance.com; s=google; t=1693400245; x=1694005045; darn=kvack.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=MP6g95MTpMxGO+X1eOP4Lih7hj+Gz/gWGNfVacVPrOc=; b=UYKHqVgEKV4sBpHSk2Vpf8sz3jfOaLPtBIotgvn/0Sdcz+jjeH8f+JXlrgS6uM/PLq FArwOEpYbk4tIhywHKP/2LERC+NldlY25gdoUdhY3VS1aGcoZrDybwJGOhq/pTiqRG5F 8DiR+ItFk5xqTTNzxMMTYf1A2UziPn5YtmSqvJ/MN9ry7cIIiKHK3JhjQT58FnBxiC3x 9XBhe1m14oxw7/gtpdGI6ZeXQYrnFu4a9EG2Mu646OnNm+srDaIaDcdy4UB8Sgw2AYz9 cjik5yasieUqw3WJtUOCd4Nra6m4uOCRsrcGvqOEEyXtrr1GcpOkMn6K1bYDmNp2UM6L MVkw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1693400245; x=1694005045; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=MP6g95MTpMxGO+X1eOP4Lih7hj+Gz/gWGNfVacVPrOc=; b=POfdqI54jIkF93vfJEXjtSmwlMuzPkEe1cl+KBOWfrOGPt7v1pupTyti9Ot1MhuFfq GsgwKDMkShfATcP9N2b5ir9RoE4s+eKJfoRvC4dfPG2yYll0PSy3o/6cdEqYIuiArfEx NsZem//mCFAuI4c4Ku6oZjQ6Tb0hfMB2XAeRHRDiuDzF6o/nxJqO7fNFZ+tl8XCRs6Xw RVgwRldQ71/Xlw37pN//GgjySQABkZnJPWMBpCXKNn5DCTciv2tPCZ01jAuDaHBn3sOq IEIvyjZPokVazgOipEFTpN+aeKZ/JOZagWQI6V5LTBqT1qKE/2DqB75FK54ykxpv6bma nOzA== X-Gm-Message-State: AOJu0YwkOYzsk0EgJJQ4SuZhS/NKdL8yT6dqrEMFGJYmAQdBlt7P7/nU q3S4N6PHCYwUwFg5t90SgT+tCQ== X-Google-Smtp-Source: AGHT+IE0rSvilLu9O36gttI/TkP4I00cCFIGMgIKwGw6O7fql+LFdULSrt81PWAZjYw7XwKOPHgFQA== X-Received: by 2002:a17:903:487:b0:1bd:ccee:8f26 with SMTP id jj7-20020a170903048700b001bdccee8f26mr1802973plb.15.1693400245360; Wed, 30 Aug 2023 05:57:25 -0700 (PDT) Received: from GL4FX4PXWL.bytedance.net ([139.177.225.247]) by smtp.gmail.com with ESMTPSA id iw1-20020a170903044100b001bbd8cf6b57sm11023265plb.230.2023.08.30.05.57.19 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Wed, 30 Aug 2023 05:57:25 -0700 (PDT) From: Peng Zhang To: Liam.Howlett@oracle.com, corbet@lwn.net, akpm@linux-foundation.org, willy@infradead.org, brauner@kernel.org, surenb@google.com, michael.christie@oracle.com, peterz@infradead.org, mathieu.desnoyers@efficios.com, npiggin@gmail.com, avagin@gmail.com Cc: linux-mm@kvack.org, linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org, linux-fsdevel@vger.kernel.org, Peng Zhang Subject: [PATCH v2 1/6] maple_tree: Add two helpers Date: Wed, 30 Aug 2023 20:56:49 +0800 Message-Id: <20230830125654.21257-2-zhangpeng.00@bytedance.com> X-Mailer: git-send-email 2.37.0 (Apple Git-136) In-Reply-To: <20230830125654.21257-1-zhangpeng.00@bytedance.com> References: <20230830125654.21257-1-zhangpeng.00@bytedance.com> MIME-Version: 1.0 X-Rspamd-Queue-Id: AFF17A0020 X-Rspam-User: X-Rspamd-Server: rspam11 X-Stat-Signature: xc6p1sq85mbgrtpgh84yu1f9xd6d75ye X-HE-Tag: 1693400246-159847 X-HE-Meta: U2FsdGVkX18Ysy0v8BJrqaXHi1/vJeRA7IEPa5U9qh1JRYEJzTsbPZNsPAMokwdcY1t0fycxSWd8cqbMsw88jag7wEwHbNYQR4aevxxgeraY701RyMw0sEiOlEChYb9sJ7ORC0BrA3pOB4CcadPxT0Vd7bqpSrIc2zcxva6MU7DOMA8mqIOTwQkWQEwNU09o05Il0vmpkTzXQivya+KZ9QjxyAWW2Sb5Kf8mg7/OQUJ6jy90bL6axXZLq8W+pqdSVhhHUdrGdxGdKctCFxVYUyU5q8ucLjyyYuKQXM9Nn9/wxHm8joruzsD9cSZ5oudtR4uHdwSZh0W6oLYsFdVZNR8L1CejjlHkCUS7PWGfaIsfwr9SswJMdBg4UzeBtQfzyIty6lqFvDYJ65Bm03VSZNa8fEa7k+A2ZWqWbJy0UWfErZ9X/GmU3MLcqK1cHbmo7IkvJb/x6ZhpxNQ1TtKOVt2qnOzA41/7RFp4wq0xHqzfOnfHHMahvF86yansdRbKGgxMLYDpjAAqYGzNNeUMdQQDuPpQnwXLhbTGfvrvqhKA+VvtGSHQ9dELqObzXn2AxeUPvkKfZwcH9ASpbSBcTt9ms9SqoDT9D1m2Fqvab3jISrYiNpw/dswpaIT+06P5lc5D7ok4akQe1MdCzZCQS9UaNaf1bJDMHiz3AfUpbV2UR/vOHa8r84JyAzBr9iDupR1w9b4uS3LQOtI9ecQfMVAksyRABofnOUL8jiSjwQy/NdzHy0q109Y1JT0MzSvoq9mcMCd7nNyu+Dn9KPfdBC+jAZmMkICYVy+MD1dyJ+JQ4c7c2+FLgowrEFJ9TqPnatjlqRWwGULdIfkT3snwCUXEXKaR7B2GGxZ6oN+u+cOXHC+gVvJA4i2ub/j0ykdFQGUEb42S0VGdmTxq/xP3RwB9y5JGxaNlL9edmA6y0z3veAK6ShwuZWV+iy1siW5ZK3b037WU/p1Nq1SCd+1 o9tQS2H/ IijiOOdpsPvkQXiVsMp5klxbSBTAAYRZEYwjiOjLTRHsGpQx8RqVRL38xtGyQLKSNnWfGZdzhNu4BRUNMsSj2NmPhMzOC88TgF2dGbvBmTIqCGF5B3vGM/a05MRa4FONQ6C2+Q3x3CZll7LCqNkZVbWY1sjX+n7pxOfJk25DlGXpqdB6Xgk521aK3zQbYj4icV9jDqjveKmlPgC9u2LKcRwevOr2eygf4Gw8MqQoW/TwLwh+PzenyH281bqRZToCKVifLXnLLk/SwJfhrrkn0bAZ4I0waW1j0O7wHql6TZSfgtcm0ecml1imYZC5xrh4HsywY8JmMs1NyUijN2RRuxc7MEgcKN055lWAJeHSuzJ2QabdqfuI7Ni+CC85sZwVdefUBIuupd4Z191Rc1uyIot3UX5zYU9aohKE+ZZ/MYz72GvoTFNsoCJ1S9syOOtKMPmhmZ1F3d52fhIAyvBeH22MODw== 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: Add two helpers, which will be used later. Signed-off-by: Peng Zhang --- lib/maple_tree.c | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/lib/maple_tree.c b/lib/maple_tree.c index ee1ff0c59fd7..ef234cf02e3e 100644 --- a/lib/maple_tree.c +++ b/lib/maple_tree.c @@ -165,6 +165,11 @@ 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); } +static inline void mt_free_one(struct maple_node *node) +{ + kmem_cache_free(maple_node_cache, node); +} + static inline void mt_free_bulk(size_t size, void __rcu **nodes) { kmem_cache_free_bulk(maple_node_cache, size, (void **)nodes); @@ -205,6 +210,11 @@ static unsigned int mas_mt_height(struct ma_state *mas) return mt_height(mas->tree); } +static inline unsigned int mt_attr(struct maple_tree *mt) +{ + return mt->ma_flags & ~MT_FLAGS_HEIGHT_MASK; +} + static inline enum maple_type mte_node_type(const struct maple_enode *entry) { return ((unsigned long)entry >> MAPLE_NODE_TYPE_SHIFT) & @@ -5520,7 +5530,7 @@ void mas_destroy(struct ma_state *mas) mt_free_bulk(count, (void __rcu **)&node->slot[1]); total -= count; } - kmem_cache_free(maple_node_cache, node); + mt_free_one(ma_mnode_ptr(node)); total--; }