From patchwork Tue Jul 11 03:54:43 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Peng Zhang X-Patchwork-Id: 13308098 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 E5F29EB64DC for ; Tue, 11 Jul 2023 03:55:22 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 813978E0009; Mon, 10 Jul 2023 23:55:22 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 7C32B8E0002; Mon, 10 Jul 2023 23:55:22 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 6B32A8E0009; Mon, 10 Jul 2023 23:55:22 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0010.hostedemail.com [216.40.44.10]) by kanga.kvack.org (Postfix) with ESMTP id 5ED8A8E0002 for ; Mon, 10 Jul 2023 23:55:22 -0400 (EDT) Received: from smtpin04.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay05.hostedemail.com (Postfix) with ESMTP id 27755402E7 for ; Tue, 11 Jul 2023 03:55:22 +0000 (UTC) X-FDA: 80997966084.04.E7422F8 Received: from mail-oi1-f179.google.com (mail-oi1-f179.google.com [209.85.167.179]) by imf08.hostedemail.com (Postfix) with ESMTP id 53B18160008 for ; Tue, 11 Jul 2023 03:55:20 +0000 (UTC) Authentication-Results: imf08.hostedemail.com; dkim=pass header.d=bytedance.com header.s=google header.b=iULxRDLC; dmarc=pass (policy=quarantine) header.from=bytedance.com; spf=pass (imf08.hostedemail.com: domain of zhangpeng.00@bytedance.com designates 209.85.167.179 as permitted sender) smtp.mailfrom=zhangpeng.00@bytedance.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1689047720; 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=DbarY+W3CHTFGsKxfdT0v+U7T4eLSEDHZXXVmyxXdNU=; b=8GG5h+pdJvw0YSJY4HY3Ks2jHxyU2rFnm53Mon299g4M7kGuIgyKhrIvVmLtsoy+gIXIOz cakeon+DkbJfafpaDpshLJ1M8FEJWI169GjtFdBq+CNn7a3Fb/1L7k2T+zeZmV5NOWKig0 AahAmPhG23gz0xDoOdiETf+cogPzT1M= ARC-Authentication-Results: i=1; imf08.hostedemail.com; dkim=pass header.d=bytedance.com header.s=google header.b=iULxRDLC; dmarc=pass (policy=quarantine) header.from=bytedance.com; spf=pass (imf08.hostedemail.com: domain of zhangpeng.00@bytedance.com designates 209.85.167.179 as permitted sender) smtp.mailfrom=zhangpeng.00@bytedance.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1689047720; a=rsa-sha256; cv=none; b=ZiKozaGCvTVlNAKRPA9mkL4wc33jczTRA+gIG44YOQXUqsWWjU5b1V8vLCZfQM3DWu/Pk2 ePybBLufUcnvh8u2LYYyBY9BumwYVFVXU6EcCTA3EufFneNXx7V9iICNdaeqE7OUDcYbVf PH5/6gGSoJcQCF1b4r1O/+k76Z46mZM= Received: by mail-oi1-f179.google.com with SMTP id 5614622812f47-3a3373211a1so3475407b6e.0 for ; Mon, 10 Jul 2023 20:55:20 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bytedance.com; s=google; t=1689047719; x=1691639719; 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=DbarY+W3CHTFGsKxfdT0v+U7T4eLSEDHZXXVmyxXdNU=; b=iULxRDLCYTw8LCbKROb4TXPoBYnA1v18DTCUhinG5JOrzgwyPzolG/GbPjP0Ghw877 ZeFhZ6pfEHNACpMhdSEdi8M0CIttf3djc5hRG285cAP0/TdP5VIo1CJhiMnrYxLq2Br4 TEqxemWUZJVJquPT6NkviWia/MOosyK5GroVKnwfWkNPWYGHKqQef5iwhDlsHOTZiv5s zvAcmE2osWi2vEjvqYWeu+/GQVnyI/4GTgGh5h0cTmgsCE+9IIyvbxoaE62+oKyUht+O n1EFaO4uQsZ5zcdikocUiGLossOZB6cy46l+rMKDTASMmpejL7ZdcoSghLjWjYdkEzQq WZTA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1689047719; x=1691639719; 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=DbarY+W3CHTFGsKxfdT0v+U7T4eLSEDHZXXVmyxXdNU=; b=kl5KORBQfFxm34SNhE95L2JziiwV9FswT3Dmsz9w1JjZSzPdJLJFeyr8a+O/+GCESj U6Ok33/rTLFoi34JOs3DrzKVVBwKoBKljEMpQA49zG3IFRCDxD+3AIm+fbMfIfLh1tlf 5jtLHGp8EL/YaVBOfUAAbJP6CsWy4d8WZtJWaBVbUL9t41omrNtTi8MdwggPcUa+WIm1 yq36zvJvvqlUyr/s2CQ3V53ONzAYLv36xxOqgYvSok9S9oRTcXmXbScYTXDqPnzwnwat 4ayx8pb/8tAAv9Lqo6e9hkK/5ykjCSUa7J/NFi+kj/hEz0WWehHX6UNvdF3RM+d7FQik kczQ== X-Gm-Message-State: ABy/qLYbfuRbwrpLzwvBWLYVjkwwjkF7t88KyOxWYzDeGZLvqRXXsk4/ ZY2nM2t5aKA/Cr7EdeaSMKpC4gOP9IHc+Z1A1rE= X-Google-Smtp-Source: APBJJlGxjfe+8f0dueDM8FJVBeqmo8FaV87lH6hxyhw26brAOEDJLkiIqQISGZnXhuRl933BiJpaSQ== X-Received: by 2002:a05:6358:5923:b0:135:43da:b16d with SMTP id g35-20020a056358592300b0013543dab16dmr13986782rwf.11.1689047719453; Mon, 10 Jul 2023 20:55:19 -0700 (PDT) Received: from GL4FX4PXWL.bytedance.net ([139.177.225.243]) by smtp.gmail.com with ESMTPSA id b15-20020a170903228f00b001b872c17535sm688329plh.13.2023.07.10.20.55.17 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Mon, 10 Jul 2023 20:55:19 -0700 (PDT) From: Peng Zhang To: Liam.Howlett@oracle.com Cc: akpm@linux-foundation.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org, maple-tree@lists.infradead.org, Peng Zhang Subject: [PATCH v2 7/8] maple_tree: replace mas_logical_pivot() with mas_safe_pivot() Date: Tue, 11 Jul 2023 11:54:43 +0800 Message-Id: <20230711035444.526-8-zhangpeng.00@bytedance.com> X-Mailer: git-send-email 2.37.0 (Apple Git-136) In-Reply-To: <20230711035444.526-1-zhangpeng.00@bytedance.com> References: <20230711035444.526-1-zhangpeng.00@bytedance.com> MIME-Version: 1.0 X-Rspam-User: X-Rspamd-Server: rspam12 X-Rspamd-Queue-Id: 53B18160008 X-Stat-Signature: zbkayiu9xr7jcfftk6h3jx3h9hy77q1j X-HE-Tag: 1689047720-297527 X-HE-Meta: U2FsdGVkX191Yw7d7dxI+HI2MkTwDMP3rmBg6sBzrBr2wNuEtGfyefitwCEDBe91NBVWJjn6CF84fCHUCbnA2hJpQik9p2nSF3DIsRX0KiTf+Xsqtzv7SgS1vlJ0k5e9QzeJWv2xYFUHqU6xm6Ag4uFQ5rikLC4xmrjOeRDHcAPItfW4ZwN9eLA2+IJ0Uqb9ynUt+fQNh8b9OecEgzb7a2eZmbADti8e9I0iDxEW7JRo2IeYDd3B7ThFn60N8/8rVqmmvixvh/3Nal2iwyhsAxbckgN2DAzg5+XeUCqtkj7ZCo0zRnCBzGB2RpktMvDBZHm1IS5EMm3aLcygu+bHcb9lDYiufPd0zpdkyolq2a++Z4kbw12kSmY2oP4CPEDN61vEWeC48aT9j7tLi0bk5x0xqjyHmfLy3/JLlQ1pUAYrtyDOCrWH9bgONnvhdxlqt87lCuj+PgGucsuUQk/grnEV5R747AYVC7BTyLYaeIioGdAlWenFUcovEgKka15ZUtFyoeuQo3cUtdjb12cezG9NX39ZYhGeuLEmm0x2B2ZEJ3KFN3c3uVk0BcIvuveiwMrbdZCAGnjNIUBqgivzkicHIsDKVurPYtaJRzpZ6u3ovkxVsUAiQBwQU99z+egDB83A/gEBrA9HY5qimCEERBF+9TJ/PjSx7E6ZEQvZw+KIS54LSBf0hWvmnKE4kgSAdbYMcmsTs/yofusXRteqymbzy5CnG5RuTbNje5XqcaTUdByQTNxmic71enN5Y/LYF/dv2Jj8/6NKIlUtEHR4Clqb8aF/qBpu+l4O8fDLZEVJDOWDDbjY7pBALYOdAQopKT94bIu9ZeJuJgQLCQiDupzIuSXC1BRkOgInswhcmqtKWvORlmu7bEOu3d0E0PS20JTQuV6MJZ64xtuuTRyST2bav91LX+DBiS1jRsfLCjOLvvnzC6y+EMKjJHdX67NTMMw0AOkwrATZ+G69Lpi bKMDElPl FJTFr9tj8Zp/Bwv3m2aHTwgAyfbNj7KgFnBO/8Cvrfr8a6+7Uq3EZeyJEkVjU/x6oD1XZKdiQIVZL7ETCcbjum6fIZq7Ngmlf3tj3eVwUHZpT3hhU/ZFxgpQbFjpidUw3uAVOjxE3Es+WyR/6eOo1nhbM/G7uchTvCly5MIjchlZJM6TurfMlWLq0d5Yaf7uqZCSziX6YbWLmik4Us9bPq/xVG8DquEdTi6Xp9pWIJOeX2w1yMjiUMuxNi+l7JEpSJwlUwhPeBNYTEwZdNtamcYcJCIQ8/2g2bpkqlvb4BGlxTBJwqYXKtg6xCl0FWMpUbFmTAm5m+HYeIScl5te8EJD6r2iXdrq7wDfwxYkQQrMIGWWoX9dawPRQXvP/yEwxlFO1DcumRwEJSsvemNtA0luJVb78N/A4BdxXXm20UlOeLxInoDlg5FY1iITJd1HJP4/zKcPMr5BUbCZWBnpnnFLt7e2JIPU+sAtQRh4pBBc9AGw= 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: Replace mas_logical_pivot() with mas_safe_pivot() and drop mas_logical_pivot() since it won't be used anymore. We can do this since now all nodes will have node limit pivot (if it is not full node). Signed-off-by: Peng Zhang Reviewed-by: Liam R. Howlett --- lib/maple_tree.c | 33 +++------------------------------ 1 file changed, 3 insertions(+), 30 deletions(-) diff --git a/lib/maple_tree.c b/lib/maple_tree.c index 1ad11799e197..5eb5eede2727 100644 --- a/lib/maple_tree.c +++ b/lib/maple_tree.c @@ -728,33 +728,6 @@ mas_safe_min(struct ma_state *mas, unsigned long *pivots, unsigned char offset) return mas->min; } -/* - * mas_logical_pivot() - Get the logical pivot of a given offset. - * @mas: The maple state - * @pivots: The pointer to the maple node pivots - * @offset: The offset into the pivot array - * @type: The maple node type - * - * When there is no value at a pivot (beyond the end of the data), then the - * pivot is actually @mas->max. - * - * Return: the logical pivot of a given @offset. - */ -static inline unsigned long -mas_logical_pivot(struct ma_state *mas, unsigned long *pivots, - unsigned char offset, enum maple_type type) -{ - unsigned long lpiv = mas_safe_pivot(mas, pivots, offset, type); - - if (likely(lpiv)) - return lpiv; - - if (likely(offset)) - return mas->max; - - return lpiv; -} - /* * mte_set_pivot() - Set a pivot to a value in an encoded maple node. * @mn: The encoded maple node @@ -2202,7 +2175,7 @@ static noinline_for_kasan void mas_store_b_node(struct ma_wr_state *wr_mas, goto b_end; /* Handle new range ending before old range ends */ - piv = mas_logical_pivot(mas, wr_mas->pivots, offset_end, wr_mas->type); + piv = mas_safe_pivot(mas, wr_mas->pivots, offset_end, wr_mas->type); if (piv > mas->last) { if (piv == ULONG_MAX) mas_bulk_rebalance(mas, b_node->b_end, wr_mas->type); @@ -4934,7 +4907,7 @@ static inline bool mas_anode_descend(struct ma_state *mas, unsigned long size) min = mas_safe_min(mas, pivots, offset); data_end = ma_data_end(node, type, pivots, mas->max); for (; offset <= data_end; offset++) { - pivot = mas_logical_pivot(mas, pivots, offset, type); + pivot = mas_safe_pivot(mas, pivots, offset, type); /* Not within lower bounds */ if (mas->index > pivot) @@ -7007,7 +6980,7 @@ static void mas_validate_gaps(struct ma_state *mas) gaps = ma_gaps(node, mt); for (i = 0; i < mt_slot_count(mte); i++) { - p_end = mas_logical_pivot(mas, pivots, i, mt); + p_end = mas_safe_pivot(mas, pivots, i, mt); if (!gaps) { if (!mas_get_slot(mas, i))