From patchwork Fri Mar 10 14:08:45 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Peng Zhang X-Patchwork-Id: 13169299 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 6296AC64EC4 for ; Fri, 10 Mar 2023 14:09:43 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id C035B8E0003; Fri, 10 Mar 2023 09:09:42 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id BDB678E0001; Fri, 10 Mar 2023 09:09:42 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id A08228E0003; Fri, 10 Mar 2023 09:09:42 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0012.hostedemail.com [216.40.44.12]) by kanga.kvack.org (Postfix) with ESMTP id 8FBDC8E0001 for ; Fri, 10 Mar 2023 09:09:42 -0500 (EST) Received: from smtpin29.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay01.hostedemail.com (Postfix) with ESMTP id 5AC4A1C5B4D for ; Fri, 10 Mar 2023 14:09:42 +0000 (UTC) X-FDA: 80553171804.29.CD15B2C Received: from mail-pj1-f48.google.com (mail-pj1-f48.google.com [209.85.216.48]) by imf08.hostedemail.com (Postfix) with ESMTP id 6ED1516002B for ; Fri, 10 Mar 2023 14:09:40 +0000 (UTC) Authentication-Results: imf08.hostedemail.com; dkim=pass header.d=bytedance.com header.s=google header.b=Vt7HmeQi; dmarc=pass (policy=none) header.from=bytedance.com; spf=pass (imf08.hostedemail.com: domain of zhangpeng.00@bytedance.com designates 209.85.216.48 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=1678457380; 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=f7DPt8nqxS2DR8+B+9WtRvCdWF3m9pKFBEKjw2IVbrY=; b=rTZd64gf0PGtsfvJJR7OhRT3mAarNr7nfXlprjzihy2cLiySInIRr0RpyRea87C9gxs3Bm 7cPiQI7pVJUFTt83K79PuQFzMzRU3kN/r4gU0MM+vJIsXOd18ZUcpxCDELQh85NYSelcls cT5thmoQwbP+3TRgSmzeJR/MDawTrHI= ARC-Authentication-Results: i=1; imf08.hostedemail.com; dkim=pass header.d=bytedance.com header.s=google header.b=Vt7HmeQi; dmarc=pass (policy=none) header.from=bytedance.com; spf=pass (imf08.hostedemail.com: domain of zhangpeng.00@bytedance.com designates 209.85.216.48 as permitted sender) smtp.mailfrom=zhangpeng.00@bytedance.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1678457380; a=rsa-sha256; cv=none; b=t3TRTVdCBwcP4WCFJf7E1wpaYU/VIYVl5iYkSE/P4ppr0ExRxFxC/siXyCQug9CB2C44JD nezf8yUHvmwwTNQDeXGmPeGIPBn3dx/TFQUgNUO2W+OhA11Jqep7iXQ1Uv8VQmGeSux0wV K1UdqceGpechJ6rzyne116VWhFBWnbo= Received: by mail-pj1-f48.google.com with SMTP id m8-20020a17090a4d8800b002377bced051so9936625pjh.0 for ; Fri, 10 Mar 2023 06:09:39 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bytedance.com; s=google; t=1678457379; 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=f7DPt8nqxS2DR8+B+9WtRvCdWF3m9pKFBEKjw2IVbrY=; b=Vt7HmeQi/0l9PcitJbwAwTNB69hO/ue7yLU7cQTTmP4tGVuY+aE3gFyEMp8I6M+gd9 0vRhsPgpGy9FkvxG682ngJXJVQ8h7Q+tFj6pxUci1n4a90DrWTeC+BFdbqiLiR1QES06 8Zh5WuLrsn2iRx4YmU07ySYLIt08ka0rV7cMvePtiLF2pelRlbmHOFUpl1w4eow+HBzM 1NSEFkEOZT3RNO0m7kXJqqJiUWLffAlSDZDnSXEMmqRGz4ZspmHHeTzNUzH/X/BrtwDi vCxlaVIW0PhyKotrrKPuxWcz0ee1nfXSCt0hEtD0rmaCWbI22gsK/jKBS2RXZ0mSAr6Y Ikqw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1678457379; 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=f7DPt8nqxS2DR8+B+9WtRvCdWF3m9pKFBEKjw2IVbrY=; b=EN9KTt1gxhBJVm0D3yPAK1jfKyVEdORkxBS0Rrvj7C2O4zSycLK19Tl5xzFychPpuO KSZpMXF9vgTRggZhRr9EbaWVKBI03vaAxqRShXnO59QS12hOqB5AUVtIiIsXbnnVqIn+ jBYFXaLhiYLIoBiOCunoSsOdQW1U6fUKrM03di7rV41qej7pER4rDUCuimbx85Zx170v xsZG5BFNRe9vmVRaF8tRxGXeEhN5gQEhCmGnI3OjAabB9XTk0IermSw/yEeTCPzofW36 BJf9wZ+J1Jd6sfF2+hYC0RF7euRBIclSjXMeOAStKbjR5nvXOn5rdeWWyyPVBivyRvDX G8dw== X-Gm-Message-State: AO0yUKXLAISRBAGlPw4uXbCh4DeJSBJ78PK/+bkZlO/GpVoEVayLKUIw VWAy3hgkmWR4zF6paVfTVtW/yje9DPcn/SaChi4= X-Google-Smtp-Source: AK7set9df5/U3LQZqScgLIUjh/W7HucX2b8VJSDwe4PpGG5DxpP24J4aztf92cED6W3fDEZYoI0TUA== X-Received: by 2002:a17:90b:4f42:b0:236:76cb:99d2 with SMTP id pj2-20020a17090b4f4200b0023676cb99d2mr27006601pjb.8.1678457379677; Fri, 10 Mar 2023 06:09:39 -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.37 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Fri, 10 Mar 2023 06:09:39 -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 2/4] maple_tree: Simplify mas_wr_node_walk() Date: Fri, 10 Mar 2023 22:08:45 +0800 Message-Id: <20230310140848.94485-3-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-Rspamd-Queue-Id: 6ED1516002B X-Rspamd-Server: rspam09 X-Rspam-User: X-Stat-Signature: 4ng9ijttuhz4uh144iwanm6fg91cesft X-HE-Tag: 1678457380-915746 X-HE-Meta: U2FsdGVkX18zTWvcOL25wB7PhThYweni6gs/coZxpteXYjyWfBd2YB9OZzixCeyQohWPCLdYcZWHUHnIvZVDydDCD+ul/yueSQCpAfp1ufplRkwJBJ+5QNn0M5TxtCz+tkGh11nAYtSXa9OuY5vxAm/P4zEVrs6l+BkcjATGVtkG0T7aOI8sl0BQBJLtOEhZ796t5N/MbdUXapvdTqD3HMrFgik3/i5a0wkVkZVd7F8Owh0glm4Th4POZfDXnHtP25lFflJiEHcIcq4A89Hw/vydoIDCDYeuF0+lIqfb6kNFsPqozA2NBiBUUh25BMumEVyXzfthdqvvrwBMDVzdtuzaLOcidzYKUrMSc6cWCNOnnLkb2avDdnW4tnLrS+wgW6pI/P4t9+eFZ5gIiN3ie3af4WoiYqMYezPvCzSZacE/0tYKMGCDpcoOWb1bWFQpXcNqQlk9i5/J4wRBrR3MZSvR1QGgGZekcSUzAB2wU/ZPgXdtSxpUMhwoDNPFdxifO57zS70mOdwdZWW4AGfVKf64TDgTrnLnAF0xKciFzu+BVPYvc/caLN+eq6fQTqsK3Rk80nDNEqKdF++dlstb3jR99z4z4rtJW8W5IXNeRhwem4FmaEFKd7hQCeF74uVuD1oNUq2qOkYWSfygA8p+hbKWDB/HBounntj2DmOvOULx14ojsxygmNGI3zJNIxJRX4qpfPEnm9nomdF0vMoQomgXGWczglXoI+JvbbAYSrbw121PdMpecGos0lzN1YOUOFkfbC39VTf2Tn10Pjpe7PKByGfGYr2JOe6M0I6lA9O9oGImxDHCQg7QWNPpB1Q7BL4uNSwygI8ORVm+Ey6WGfqpBTdzLLJ3l0PZZaBc52yRc8MsUbhP09b8IdWvHsrcJ8YQF0HznqsAQ+gRXzXjfeJfMTCzR+73PI3wBDkn+iHqE503ujVegEjij35wOZwbmTNXO9LxOt7Qb2TnjgO G6PiQ27b kZs2ExPvSm5fPxNMwCKprT3oL/jzZvAlJJb4AdE3s5/Ssv82n75PbcLWaT7r9mB11rylhjIvT51HQPrRiV8Za0biJGnBS+R87DspTJQZLp8vR0kDFqq5pUn0OzFnJPY5GF2ucBI6eIvlXkw2G78G6gTOiZNks31QQeqf3b5xLsDyyMNYvuschgjKL/+NOpqUGuli76FDxtp0qd13k1E7j/2ljqev8KZ3hK9OxK26hbW7qRrUQU+ZruoS1JLcGqoAHtKjkoPUxQxpnaSCLbL6pMYOArKCdqYBqf+C5e5Lm+FI8uMsFDX113IhYyr2YHqfsHY1cX3HPfKQhchaODQBEU7w7rPwr7CsnGCzIlnX47mNu5o36WFGJvEs4P16V+A29cFRmnmAjqqz+4wCoXBmfLJf/t9Fog3zGXhW0qXHbL5io4dZx3vKduqPco9hfgW0gIyt/aPiL+IQvBngkR3z7tDNsVA== 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: Simplify code of mas_wr_node_walk() without changing functionality, and improve readability. Signed-off-by: Peng Zhang Reviewed-by: Liam R. Howlett --- lib/maple_tree.c | 34 +++++----------------------------- 1 file changed, 5 insertions(+), 29 deletions(-) diff --git a/lib/maple_tree.c b/lib/maple_tree.c index b3164266cfde..4d15202a0692 100644 --- a/lib/maple_tree.c +++ b/lib/maple_tree.c @@ -2251,9 +2251,7 @@ static inline struct maple_enode *mte_node_or_none(struct maple_enode *enode) static inline void mas_wr_node_walk(struct ma_wr_state *wr_mas) { struct ma_state *mas = wr_mas->mas; - unsigned char count; - unsigned char offset; - unsigned long index, min, max; + unsigned char count, offset; if (unlikely(ma_is_dense(wr_mas->type))) { wr_mas->r_max = wr_mas->r_min = mas->index; @@ -2266,34 +2264,12 @@ static inline void mas_wr_node_walk(struct ma_wr_state *wr_mas) count = wr_mas->node_end = ma_data_end(wr_mas->node, wr_mas->type, wr_mas->pivots, mas->max); offset = mas->offset; - min = mas_safe_min(mas, wr_mas->pivots, offset); - if (unlikely(offset == count)) - goto max; - - max = wr_mas->pivots[offset]; - index = mas->index; - if (unlikely(index <= max)) - goto done; - - if (unlikely(!max && offset)) - goto max; - min = max + 1; - while (++offset < count) { - max = wr_mas->pivots[offset]; - if (index <= max) - goto done; - else if (unlikely(!max)) - break; - - min = max + 1; - } + while (offset < count && mas->index > wr_mas->pivots[offset]) + offset++; -max: - max = mas->max; -done: - wr_mas->r_max = max; - wr_mas->r_min = min; + wr_mas->r_max = offset < count ? wr_mas->pivots[offset] : mas->max; + wr_mas->r_min = mas_safe_min(mas, wr_mas->pivots, offset); wr_mas->offset_end = mas->offset = offset; }