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 0838CC54FB9 for ; Mon, 20 Nov 2023 07:10:13 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 4B6506B03E8; Mon, 20 Nov 2023 02:10:12 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 468F36B03EC; Mon, 20 Nov 2023 02:10:12 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 2E2B36B03EF; Mon, 20 Nov 2023 02:10:12 -0500 (EST) 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 1AEC96B03E8 for ; Mon, 20 Nov 2023 02:10:12 -0500 (EST) Received: from smtpin19.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay07.hostedemail.com (Postfix) with ESMTP id AA3B5160312 for ; Mon, 20 Nov 2023 07:10:11 +0000 (UTC) X-FDA: 81477458622.19.6DFA031 Received: from mail-pj1-f49.google.com (mail-pj1-f49.google.com [209.85.216.49]) by imf19.hostedemail.com (Postfix) with ESMTP id D76FB1A000C for ; Mon, 20 Nov 2023 07:10:09 +0000 (UTC) Authentication-Results: imf19.hostedemail.com; dkim=pass header.d=bytedance.com header.s=google header.b=MadCgkWu; spf=pass (imf19.hostedemail.com: domain of zhangpeng.00@bytedance.com designates 209.85.216.49 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=1700464209; 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=G+DYEnQ+jfZcUuq4nlzb+NkHPQ+JKHORa1x2uG9sVgs=; b=IrbRFkS36hr+w0PAUPkQ5owa8gz609SLPPRQdfM9vSyf7FmxNRooYV4bT3R4Wwt+v8+Usx rhqKECKV+psba5WanoxA2dUDvQWsMwlDxc3Hp4OXV3x6fFjO4ISU3Kmqg3bFtBn7q1m+YE Cq7BrvnsLUl8wjz8o79Tz8zCO5rlFrA= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1700464209; a=rsa-sha256; cv=none; b=G0vwg4iedOvU2cptbDjOq0BnZK33/mtZs9zpCzJumL4Vty8bPCs6n543oZfsf5FlLwMIdq 4cJXalZ1DRwVrezHFQ5ozc8pyv/NNQSk2HuYptOngYPA+OoIAbuECfC5y4lToHjOhSb9NI cPkgarGlufiJ41jFo7AyWCkxSnV2vTA= ARC-Authentication-Results: i=1; imf19.hostedemail.com; dkim=pass header.d=bytedance.com header.s=google header.b=MadCgkWu; spf=pass (imf19.hostedemail.com: domain of zhangpeng.00@bytedance.com designates 209.85.216.49 as permitted sender) smtp.mailfrom=zhangpeng.00@bytedance.com; dmarc=pass (policy=quarantine) header.from=bytedance.com Received: by mail-pj1-f49.google.com with SMTP id 98e67ed59e1d1-2851c0569acso839377a91.1 for ; Sun, 19 Nov 2023 23:10:09 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bytedance.com; s=google; t=1700464209; x=1701069009; 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=G+DYEnQ+jfZcUuq4nlzb+NkHPQ+JKHORa1x2uG9sVgs=; b=MadCgkWuXPjWIlwzD+3clrMmswKVATDgRI8ixdwqnYAOvl8N9+LhwnBUTbkxi1v1f5 3o7h1QhLgNoL/T/EcUGm1sePHDShz9h+brUOjGP2t0WHrnNVOht12fu5DQMTyOdU0avw MZ1C1fJF2Qg8L9Mgkw0HUxHys/wiKdCyqTTUcVwDTAezqNQ+8HUs9ufZ8G5aYyBztIUe 68ihI7YyiEMrS5zHE7FxLo1v+IKrFidBRWRO4chJY0ELoJOLPeU++11SJXZDfdyXKI5T v0NnseU0cEzKDtNVgmGmByHSw0vGjlLRiSq2YkJMhm32CzVyvQfkIYojwIG73kxrK1SJ G19Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1700464209; x=1701069009; 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=G+DYEnQ+jfZcUuq4nlzb+NkHPQ+JKHORa1x2uG9sVgs=; b=DWHbOQb9AWG+CEnUPFn0Mzz2q0lhhyNsnKbIjv8xsZvWEGgpifPRKQ6EE4x7AecWMR HLlg5wyLv3HzNkVDYCaQY55SQ2nxvFOycnqtYv6pBhSmegNpERInSmRWRdqFGdEnl8uG dwNa9MCgwVrTiDThVAB3lIRS/GGRnUvJJN/oNVlV/gl0V6Xb3FAYEO4S3p+HM8a4uME/ Uos+LeBNzUzYGZRTkmkOi8VmG5j29AVYd8zli4Q8cIQGzJbX6ED3FdqVxINT1am1u7+s QjLlQONuUmZsuXAZLHdDbzZLqPioBhl4q39xGA994meyzIXpAl6KHR4oDxOtdp2dr9Jc 68ow== X-Gm-Message-State: AOJu0Yy6f3kAaEZAOk3mL3KLu6j/S1BXUkK463/cpmUS9ooZNpjiTiB6 GAkszIdnwR+XCfiQetBWrbwapg== X-Google-Smtp-Source: AGHT+IF83+lkbrauzNf5VU39sKkm3EJmrNtdZZs24FDn4zfpE+cr9/s7OrmNO9P9Edg8qWo55ZF4Bg== X-Received: by 2002:a17:90b:224a:b0:280:4829:52d6 with SMTP id hk10-20020a17090b224a00b00280482952d6mr6485131pjb.29.1700464208748; Sun, 19 Nov 2023 23:10:08 -0800 (PST) Received: from GL4FX4PXWL.bytedance.net ([203.208.167.146]) by smtp.gmail.com with ESMTPSA id d4-20020a170902cec400b001ce67fab3a2sm3698143plg.261.2023.11.19.23.10.06 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Sun, 19 Nov 2023 23:10:08 -0800 (PST) From: Peng Zhang To: Liam.Howlett@oracle.com, dan.carpenter@linaro.org, akpm@linux-foundation.org Cc: linux-kernel@vger.kernel.org, linux-mm@kvack.org, maple-tree@lists.infradead.org, Peng Zhang Subject: [PATCH v2 5/5] maple_tree: Simplify mas_leaf_set_meta() Date: Mon, 20 Nov 2023 15:09:37 +0800 Message-Id: <20231120070937.35481-6-zhangpeng.00@bytedance.com> X-Mailer: git-send-email 2.39.3 (Apple Git-145) In-Reply-To: <20231120070937.35481-1-zhangpeng.00@bytedance.com> References: <20231120070937.35481-1-zhangpeng.00@bytedance.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Rspamd-Queue-Id: D76FB1A000C X-Rspam-User: X-Stat-Signature: 48ku55yns9ftm1to9dq8cmod9kqu31gt X-Rspamd-Server: rspam03 X-HE-Tag: 1700464209-86059 X-HE-Meta: U2FsdGVkX1/hPymUJDv4HBJpLHgcHzVf9CTW5nWebI064bcfNeq/0wLHni5X4jhRYkxDJE5F1Iya4NrrG8NMYWQQ/yMOwL8hcpM+oQXiLEWv/E0bMEkckFXXlCndRNQ4RUGmDrGX3cTo2AeR/Pk84eB3NR6qmzjReOc4lbbBDlaovPXOp+tfhfCgpxG4YRB8pKoobekrWqmPXbenPPWyDKbKO/6EHLE0guifzNALZ3bVGfWJ9dXo4+7aFJ5acL4f7ij+Q68K2G6JddlkvZHDVeQNELIjRHuzMticfYb1Of7wBAcGFdKpcn4YqpwSybghcGsDM+OVJz0jteM3PGWOz6uuXbLf+KCWX7Ux67uuA+qv4qqj/NnQ4R1KDVwlhxUASCJXWHHxUehesjcGKaLLQljR4H30Wc5Q0rtXWVOL4dbJEYxS3DPe4LxxLrZNKQAOunKQJxEGsRDNfFFcB8a1awhhSUklSeT2hrBfYulmOpnr1ebueIBWidVDY1t1Khzg7JSyYd/h0gGszCWTSqDytXiYNFm/A0dmUMGdmopfoT0emTmo/brp4gpQcIWeoNFuvsboMjHHBD9DvawvHO4xBDWcyN6eYkwAODBIDTDpu+BlTIQuyZgYcEp41Idw8V6KAAQZo52gMTdi7n+kUmF1y+RnDriK04wTw6wFsh9MsbqnN6m6UQn3RU5bYtjU4onayhgbo4Ym6KowU0zLwPW5Xo6qgoYFEnbnrR4j3+l9COJ0Zpg96KQGNUsI7d9amT8b1gLzPNhK9q5ZAwWyuS+x4S2WyuXL/8zUvefoAHO803LfVPUT/kl9vhRe8lBEo9SRb4UaiFpKGarzpiSeKQrGwIHB1cYMgzAU+gkdyu6gxcaQDwcjA3qETred1izxVoFulRKYtZ+Gf3cS8ttuLvDyZrpPwskr5jPT3nGJ9ANlFSGXKKKa4Qsr1hYQXhV8c/t6nnWDc7V4uoqF+Q+5Xas oYCI5URn Slvs8TREoyqRoIa4b2ZD3482v9lJoE8DP/DKLBChXQKhHGVosHEpgiDtdq0dw/ojN47J7gi/wYKC2BRDCcuqw0hgwgOjxF2zwXdkzV/B7Q8tTp5MnU6t9Gz4FOLl/wqZGCp4AmeUCqTqrpJ9cuHKcTA3IKAz353lByFG87lexc2DhPHNltXexGdhDCKYQY1SoYK8QS5R5qzjIgWDyB0B8yuT3JadS7uxUsnZOL/L5z8BL7N4BUAPQrdriTsg8caKiWQnyutm2I/QO1E6JK4m3zwgs3TgpOtf4vdApyntdKF3rsjHMrwl5M/jISbREuigN5cmnXcRTx6Y0TZlTvMCoSL4Fj5vRX1ofJxP+7/q9TYH5pXvkoyWy4IZKjXnjC0yAT2Ub+VjC5yVnVhwNpONaf70cLoC8meEAFyG+fXSekQi6gAvqVKl+J65LFnN7pvv9eSM2n+rVGg7XMzXg++kndq2q7X4CMQGuGHXXrmekERLYLEE= 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: Now it seems that the incoming 'end' is already pointing to the last item, so we can simplify this function, considering only whether the last slot is being used. This has passed the maple tree test suite. Signed-off-by: Peng Zhang Reviewed-by: Liam R. Howlett --- lib/maple_tree.c | 22 ++++------------------ 1 file changed, 4 insertions(+), 18 deletions(-) diff --git a/lib/maple_tree.c b/lib/maple_tree.c index bf64d080b376..89f8d2160277 100644 --- a/lib/maple_tree.c +++ b/lib/maple_tree.c @@ -1964,27 +1964,13 @@ static inline void mas_mab_cp(struct ma_state *mas, unsigned char mas_start, /* * mas_leaf_set_meta() - Set the metadata of a leaf if possible. - * @mas: The maple state * @node: The maple node - * @pivots: pointer to the maple node pivots * @mt: The maple type - * @end: The assumed end - * - * Note, end may be incremented within this function but not modified at the - * source. This is fine since the metadata is the last thing to be stored in a - * node during a write. + * @end: The node end */ -static inline void mas_leaf_set_meta(struct ma_state *mas, - struct maple_node *node, unsigned long *pivots, +static inline void mas_leaf_set_meta(struct maple_node *node, enum maple_type mt, unsigned char end) { - /* There is no room for metadata already */ - if (mt_pivots[mt] <= end) - return; - - if (pivots[end] && pivots[end] < mas->max) - end++; - if (end < mt_slots[mt] - 1) ma_set_meta(node, mt, 0, end); } @@ -2041,7 +2027,7 @@ static inline void mab_mas_cp(struct maple_big_node *b_node, ma_set_meta(node, mt, offset, end); } else { - mas_leaf_set_meta(mas, node, pivots, mt, end); + mas_leaf_set_meta(node, mt, end); } } @@ -3962,7 +3948,7 @@ static inline bool mas_wr_node_store(struct ma_wr_state *wr_mas, dst_pivots[new_end] = mas->max; done: - mas_leaf_set_meta(mas, newnode, dst_pivots, maple_leaf_64, new_end); + mas_leaf_set_meta(newnode, maple_leaf_64, new_end); if (in_rcu) { struct maple_enode *old_enode = mas->node; -- 2.20.1