From patchwork Fri Mar 10 14:08:47 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Peng Zhang X-Patchwork-Id: 13169301 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 BB9D0C6FA99 for ; Fri, 10 Mar 2023 14:09:49 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 3ED408E0006; Fri, 10 Mar 2023 09:09:49 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 359F38E0001; Fri, 10 Mar 2023 09:09:49 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 2180A8E0006; Fri, 10 Mar 2023 09:09:49 -0500 (EST) 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 1269C8E0001 for ; Fri, 10 Mar 2023 09:09:49 -0500 (EST) Received: from smtpin13.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id C00F014124F for ; Fri, 10 Mar 2023 14:09:48 +0000 (UTC) X-FDA: 80553172056.13.6ABB75C Received: from mail-pj1-f50.google.com (mail-pj1-f50.google.com [209.85.216.50]) by imf13.hostedemail.com (Postfix) with ESMTP id A907B20026 for ; Fri, 10 Mar 2023 14:09:46 +0000 (UTC) Authentication-Results: imf13.hostedemail.com; dkim=pass header.d=bytedance.com header.s=google header.b=asKUtiJY; spf=pass (imf13.hostedemail.com: domain of zhangpeng.00@bytedance.com designates 209.85.216.50 as permitted sender) smtp.mailfrom=zhangpeng.00@bytedance.com; dmarc=pass (policy=none) header.from=bytedance.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1678457386; 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=u6SczCfFTY/KJFxBt0YFVietITxxXbodBIi134Qsi0M=; b=LE1kNFfkZhUf3/B5v3UBr7oJbDGM+eqtFw5T9yrv/x1H5vjlfz3WRnSMcuMiOc4awt3gnd V0pHR+93GyZR00JrbF+yi+DrMtaQASAhDHNFiee56VLqP+53sAXBSF8Jg6eKcor9nhw35X +mxA6CRntX3gxM9Lr2DjQpSDnJCR3hg= ARC-Authentication-Results: i=1; imf13.hostedemail.com; dkim=pass header.d=bytedance.com header.s=google header.b=asKUtiJY; spf=pass (imf13.hostedemail.com: domain of zhangpeng.00@bytedance.com designates 209.85.216.50 as permitted sender) smtp.mailfrom=zhangpeng.00@bytedance.com; dmarc=pass (policy=none) header.from=bytedance.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1678457386; a=rsa-sha256; cv=none; b=Y18+k9cN88HyYlSwLvsOLKeShNtKm1zSy0M/0qbqTQgTwAwSMBDwKMfgpQjEye5C8Zd4T6 6KJtRhjMEbnmTMGyyCxdcSqc39IrAL9wIwSMapacdjof1CFiMi9D7vUNJeqo1LP++8p23c OmCbNngtKft8+qALQXPnPToC4LsuidY= Received: by mail-pj1-f50.google.com with SMTP id u3-20020a17090a450300b00239db6d7d47so5259542pjg.4 for ; Fri, 10 Mar 2023 06:09:46 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bytedance.com; s=google; t=1678457385; 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=u6SczCfFTY/KJFxBt0YFVietITxxXbodBIi134Qsi0M=; b=asKUtiJYwQqgvMbN60l/bVTcYy2W5TZi9AcVU4FhwMRejoM8MKEoTejGDXrB4L5qRb apETIhrKGJqUxZte8/van/OhvRDQPA6LTjZdPQYxQy56FIXwSfYtblPmPlJaMseRJfCk /yfIf/MqQYjQt0TQom3v4HX7d9OQO9QM0TLMhqyOmcyJNEW9vYdHhWIAHfGXKlMTIJG8 33aFH4rBUKRtz1XBQmXjUCY1FGm6mtprh9lqOS/mAuq0AE1VUTJcJYRCp14hiDaJ4m1/ bHLS+N/9p6xMEGCJSRATQivnN79niKr7Z/zt+6bOH/T7hEOAme9agNB41jtnTSqcXhxy msag== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1678457385; 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=u6SczCfFTY/KJFxBt0YFVietITxxXbodBIi134Qsi0M=; b=bN14XCP7hA0LGCDya9aoL+rALuPetQopk/nOXHvKxFlUdjASbybgm7pmERJQVuZRbd xdf8g7QwGELwEk9Qy3uWR4j6PCJWxV1P+12+kqg3ni6VlCxrONl5O+BU4hIXnBcizhkL 629R++nfbjHOX7mgAYdQ0FxdHOlts+Wa9Yja0vVG6Ans57jgCmWq5q5sRoVud3GkxuEf /HxkMBU6hEOwgoeD8qwKPXBbJzeKNUL8HJRx3kzO53fv36scnp1QjWl9ieMMIwOoQNVl 4jt/XXUciyfpWZOS999ES84twMDq3uMHyGGZnz+rw0KECRlojdJY2AOSRG17+sq1IV7U YXtA== X-Gm-Message-State: AO0yUKW1qOqso3fryQxDTQ1pBI0W5aQ2DFqrYNTDLqiiyoj7knbZAwTw gYGERQor+pWFePj2nh09+MJgiA== X-Google-Smtp-Source: AK7set9+KnLDpZhKt5A/OsgVVC228AHdamUX5+ieIAuoF72IdXUgpKu58Km7GNjqb3S3CgyDiWDx5g== X-Received: by 2002:a17:90b:2353:b0:233:cea2:dac6 with SMTP id ms19-20020a17090b235300b00233cea2dac6mr26150338pjb.47.1678457385677; Fri, 10 Mar 2023 06:09:45 -0800 (PST) Received: from GL4FX4PXWL.bytedance.net ([139.177.225.234]) by smtp.gmail.com with ESMTPSA id fu11-20020a17090ad18b00b002375c356b0csm6753pjb.19.2023.03.10.06.09.43 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Fri, 10 Mar 2023 06:09:45 -0800 (PST) From: Peng Zhang To: Liam.Howlett@oracle.com Cc: linux-mm@kvack.org, linux-kernel@vger.kernel.org, maple-tree@lists.infradead.org, Peng Zhang Subject: [PATCH 4/4] maple_tree: Simplify the code of mas_mab_cp() Date: Fri, 10 Mar 2023 22:08:47 +0800 Message-Id: <20230310140848.94485-5-zhangpeng.00@bytedance.com> X-Mailer: git-send-email 2.37.0 (Apple Git-136) In-Reply-To: <20230310140848.94485-1-zhangpeng.00@bytedance.com> References: <20230310140848.94485-1-zhangpeng.00@bytedance.com> MIME-Version: 1.0 X-Rspam-User: X-Rspamd-Server: rspam03 X-Stat-Signature: mocr8fipibmpdjs5nxkqiyw3pptdsaz4 X-Rspamd-Queue-Id: A907B20026 X-HE-Tag: 1678457386-811763 X-HE-Meta: U2FsdGVkX180xmvrLWx5Zukh8Wxm90Fb9R5EMgq3RqZzK5pGznOMbKvf1CMDDIrwn/szz1xINR2AA/n8F17I7DDadPfkRZIDoc12PUo1gPYDIFvb6j63+zIh3E1FdCHeNVQTA54rxnppV4TDDrkhMs2KkwhI7rh+8FpevcrNQcrCl2wjza1fnoaXt6QAas+6Fc5GvflawioMRsXaS+3qbUnvHVVqtfUcJIk75Q6HKI3SX+j/t/+9TKzmfMyQDgs1t/+ZDoGBevzJcckisDN7M0SUB3gwdj9gOv+cxtvRW5yaZTIVx+EJtUpv/sgvpg61GDmbRhlo1qXbTsoqbFTAEgjPYsVvbTr8Ycj+q3oa22bHJrMOepMx0/SSMIKrRwBJQxD4biBSmPvX1ZzhcRS5prcRFi35xTfYKns9M+xLNSZwRSuK8/8WnCl7xkG7Iyn28RTSZ20c1mM8QX5cVIBkXMhStT35ksawcBv+R72b7YNxNZxZQi0NkkbeuupElhSPRJuPEnJUURijcJXMqs8QSyRda33Wj36s2nUJAxbMa6f7OS4WQ7VjJtkselrUJw0KDrXCu9gpCDUvrPm0mNhAv8mdrlm36L6ZJCII+lb+A//DSbSX4tITA26LJTPkPFOUWYC6tjO2yVzSQeNQS3sZIydQJaEchNChBCNI3A0OiUqrAK3Pz8DfhtBf/jT2uOLRyEssNEovXnrCaxil5hAPHz3U8h/gofdAbNhM9daSGvWUNCOi9mFoIAQGwssz52UOG/49KsFjbCcyczNCr6D9xjhpdEcEBR023tpbJvEw2iygu4HWRwg+OEi2FgTXiPvnvqjICqYZfGco5OYzqH/81cYj0XKIaJkK1MVaq7FPUCOrafLPvfTTH/hRmAc6dgyipIjQ6GEq79l/Wn0kbT9vBtQAtz5HwQlT/ehFATYcwx9Xh/BPxxN/rfyU9MUAuOUfpToPl7pdgbUd0jFz0oQ /abIOEsP 6kTSS3/lxKLzC7WeT230LWG69Dfp84k2NYIex8Dmn2Pqvrl7zeHnxRpAKIHPhRGa0kX3xyeLfFvMa+ZL1VBkbSJoEqj8liLXZjN32aYHyBVheBZYFSG13jIZf707bqEBQjWn0hfl87jyD8BtlDLrHizQqITnI2Cm3va2Bs38wrzRix3C3JZvoj2l0rnenGF1d8YNYioz4QZRbZw9xX00uSNCCX00xvp6ZkzZB+swebU47HXcJTI0qYY+tgZk8L2Kpk5KvlTi/4Ly+LuHFZ4Hy/3Cj4IDduOx0eaTPLSP/kp6zGDDlff1GUxGNl+YbT2c+ZMuVYzbe2boUSsbJCRPvb7Pui1kWex/JECEXIqhGocgTvjOECe7ulnHKsD1GaD6xPlkxwU/KC+gL05i1F4wZSIzQnVQga2FsPhtDMlackqzvCncIPyIHsLGT6kSbrMVM4/7xjwA5JvvEcDPaC+zddZwz1cznkd/TM/IcYMzzfobBpCfWA1A6Ek1wjQ== X-Bogosity: Ham, tests=bogofilter, spamicity=0.000020, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: Simplify the code of mas_mab_cp(), and improve readability. No change in functionality. Signed-off-by: Peng Zhang --- lib/maple_tree.c | 24 +++++------------------- 1 file changed, 5 insertions(+), 19 deletions(-) diff --git a/lib/maple_tree.c b/lib/maple_tree.c index de43ff19da72..688b062728a2 100644 --- a/lib/maple_tree.c +++ b/lib/maple_tree.c @@ -1914,32 +1914,18 @@ static inline void mas_mab_cp(struct ma_state *mas, unsigned char mas_start, void __rcu **slots; unsigned long *pivots, *gaps; int i = mas_start, j = mab_start; - unsigned char piv_end; node = mas_mn(mas); mt = mte_node_type(mas->node); pivots = ma_pivots(node, mt); - if (!i) { - b_node->pivot[j] = pivots[i++]; - if (unlikely(i > mas_end)) - goto complete; - j++; - } - piv_end = min(mas_end, mt_pivots[mt]); - for (; i < piv_end; i++, j++) { - b_node->pivot[j] = pivots[i]; - if (unlikely(!b_node->pivot[j])) + for (; i < min(mas_end, mt_pivots[mt]); i++, j++) { + if (unlikely(!pivots[i] && i) || + unlikely(mas->max == pivots[i])) break; - - if (unlikely(mas->max == b_node->pivot[j])) - goto complete; + b_node->pivot[j] = pivots[i]; } - - if (likely(i <= mas_end)) - b_node->pivot[j] = mas_safe_pivot(mas, pivots, i, mt); - -complete: + b_node->pivot[j] = mas_safe_pivot(mas, pivots, i, mt); b_node->b_end = ++j; j -= mab_start; slots = ma_slots(node, mt);