From patchwork Tue Jul 11 03:54:37 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Peng Zhang X-Patchwork-Id: 13308092 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 BFFA5EB64DD for ; Tue, 11 Jul 2023 03:55:06 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 2205F8D0001; Mon, 10 Jul 2023 23:55:06 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 1D1FD8E0002; Mon, 10 Jul 2023 23:55:06 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 072C98D0002; Mon, 10 Jul 2023 23:55:05 -0400 (EDT) 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 EA0808D0001 for ; Mon, 10 Jul 2023 23:55:05 -0400 (EDT) Received: from smtpin09.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id AFBE51402F4 for ; Tue, 11 Jul 2023 03:55:05 +0000 (UTC) X-FDA: 80997965370.09.0A25A81 Received: from mail-oo1-f45.google.com (mail-oo1-f45.google.com [209.85.161.45]) by imf30.hostedemail.com (Postfix) with ESMTP id DACB880003 for ; Tue, 11 Jul 2023 03:55:02 +0000 (UTC) Authentication-Results: imf30.hostedemail.com; dkim=pass header.d=bytedance.com header.s=google header.b=Z4IrWlz1; dmarc=pass (policy=quarantine) header.from=bytedance.com; spf=pass (imf30.hostedemail.com: domain of zhangpeng.00@bytedance.com designates 209.85.161.45 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=1689047702; 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=vnneOZGmz+RJtivDvKZ74LFhvf3KlKhvaFlPPXT7kZI=; b=YOsMQyvql2k1rjhJWp+Noj2RrMg/uEzMgHqBPNki4GEq/Rab+DMOjQaRaWZCL0qRYAkBEl kBb3nmU4/lhHbVk6G73nr0kxt4dGCkMFX2LBvJSLOhnnrm34l+iCo8xf1q7wyxudrO6rLu AcUgyipuoC8QGQ6JjdJjwgz9N1Vf/0s= ARC-Authentication-Results: i=1; imf30.hostedemail.com; dkim=pass header.d=bytedance.com header.s=google header.b=Z4IrWlz1; dmarc=pass (policy=quarantine) header.from=bytedance.com; spf=pass (imf30.hostedemail.com: domain of zhangpeng.00@bytedance.com designates 209.85.161.45 as permitted sender) smtp.mailfrom=zhangpeng.00@bytedance.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1689047702; a=rsa-sha256; cv=none; b=xpzKPCyGH1nR3OonDuvvmHP5se8Iz3RogIAzpT40BImjbjbgMqUq9NC8rm2lkjwgKMk460 HFA+t49gZAn6zSTl8WAzKX/PA0xFdhA6djP0D84QRyZxmvGEls7Nb9cw5T3YGURu6DZkl2 kEUgePcJPyYFTVxZvVOWLihAvr8h+wU= Received: by mail-oo1-f45.google.com with SMTP id 006d021491bc7-56344354e2cso3732206eaf.1 for ; Mon, 10 Jul 2023 20:55:02 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bytedance.com; s=google; t=1689047702; x=1691639702; 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=vnneOZGmz+RJtivDvKZ74LFhvf3KlKhvaFlPPXT7kZI=; b=Z4IrWlz1AVjCsHQerCU8etu0x4fMRgmj78dqWxOaEVokcj5JlvJ48wbsN1nYAt8aCx GyIG4fljUcmd36IPAIMorw1pVL0WKa1lCiJxTeiR8S2f1WdwstlfNNXOLV/lPYXe6w1h DVjrFkjamSlpBL0rycqTgq+TECck80TZzdXkKOcfQH4QVOG0MGoHytPkEiIPLoB+jvOb bIEAdvF5OtUo3o2laMkrVhKHijhKrDznzeOUJ0gGzpAgJ1tYhDAcKvPIU5b6T4kPx4Gg OKUPDT72H3ElLV4oau0mU8I3UjQjAbd0NEcN69RmvH/J8FLOzK114dRUY492oyqnmudr BFgA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1689047702; x=1691639702; 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=vnneOZGmz+RJtivDvKZ74LFhvf3KlKhvaFlPPXT7kZI=; b=Q5+0qixoTk3irA4wiCtVU87/3FkvQ2SS4mjRbEB+1RYhFUusYYhfQ4zRXJ2adzCQT4 YoUmjHq5CNbHU7bCoM5VBepvTsS9ApZt+BAG3YuU9cASRcCyjBZ6fq0KzrZ9bWbZux8w u2hfmS6IS54KgbeNFYmfeKFo/ITA9c9JYk3B67tAH6c4NpMxwQ7N16z3Solpkg8dpqlp fQSxiUrT0O51KDqcGT+VDR+r7WzDJKeqlZK6N8GaaqStaBp9mlu6By5zurxLi8STWX3i rU/F0wkiGI+xvi4kqsKCAGdpebMvW2d43jvZtD48GUkkW0WVTMsbOP0kvtHr1Z9VqDlS /VYQ== X-Gm-Message-State: ABy/qLbLWEpQwLSlGbMUAY8L/B/Eihg5R/vNYtoi6KJ2UAvVOoeRAzhh D30r5SRBmQNzVzKoVlySd2xZww== X-Google-Smtp-Source: APBJJlEIEZOJHFzFjqHdn5Rtin4l+6JxK3vqqJKAQWR7goZOnHNKOij7NoyuIfZwPg9ro0YTA3YksA== X-Received: by 2002:a05:6358:5e02:b0:134:c8ee:e451 with SMTP id q2-20020a0563585e0200b00134c8eee451mr10966324rwn.13.1689047701778; Mon, 10 Jul 2023 20:55:01 -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.54.58 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Mon, 10 Jul 2023 20:55:01 -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 , stable@vger.kernel.org, Geert Uytterhoeven Subject: [PATCH v2 1/8] maple_tree: set the node limit when creating a new root node Date: Tue, 11 Jul 2023 11:54:37 +0800 Message-Id: <20230711035444.526-2-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-Stat-Signature: hiabihwkdwkyd1npgc1box53ojgnuteu X-Rspamd-Server: rspam07 X-Rspamd-Queue-Id: DACB880003 X-HE-Tag: 1689047702-558877 X-HE-Meta: U2FsdGVkX1/AYTsqycppSu9b7xsitTMkQEHnLlZ56ZS9p8Pp8K4nQRfbRavn8fvGCACMmw7XzbrqjerpVJePxmIPEcPVI+22nR4D56wQQ0lB0iQw++SNoSGqXToe7bsT8NWCtL72F9/Yv0HIcCbLtxWUoI0KRXaoM9nLqx0+d1F+7psnsrqnUl9gNbD4zHonsYGSNd1flP/aRIuGuV8eLE/ZhIESL7kSLfyj/dBy11UNlZmTyA94iZqU0fKCXHYt4M3Zy8rITJ6aDRCH7wCWo/Pw5W/Pjy25zZkyEhb8/rXBrzFOPwAFmU67/eAAA18TDEP9rOYc7cqILerFyBbxhXxO56tfRM1Tzb41bl3ZmOd45lPNnDz2PJ7JXG2R1hsYFPISIc+shSMoPgo6cm4LnKzF7PoGHcabmTdi4wsf6ApAO8wKp7YignJAowvXjsrvuM8yImFtMMLhpDqiSwIB/LaAztkhH0AlOdYuCs+Uk0NJR14DNAgTU2riyfjQep5nbhira2GZi5ptF4V66WtQ9MRo7oMycBnTtX0gesPhg/yV/wm5AUMvj1EpgFnVPFn30IKanxtLav/Pjecgull53lUgIUKJVyIbp6JvGTJbBE1e+m+HUWKm40yyeL1KeE5cXWGIylGGEdM5jjpd8NY7NcdwyO27HNMsLvdHuWtzV4fVr0vkrtdGxr5QT6USEXuAaujCu6Vdw1Mk7ov5XDqVDEzOtZIUTciM2OWMI3/s/S3NGbE2QhfCQlSizk6TvdNm91B19aOiqMh+Sa9g4xS6O3SeInfSqNVOKs6FTR39mXERXTGblgP9KwdsnWGMYhGhNdO9LoqjOVA3JITlbeCfSgIrMaEtUYJHiJZYUQFq3LvAdmi00Lq/WmEsLZsDV346+AFOE7vpWdBDt+AI1vmLRXm5rvPa1Asg6MyZKpYZ0LXaeMXMrCxrU3LdVU/YWxmjk5k5Dh2AJSNd2eJHdw+ M9Zqz6A3 W8BkyS9mNI6Cia2hFWrBFQtqNde6rr+uboELHv31dqNs63VuNH9YP1WlJ7NmvhXUWUKox6bGqpPwhu5siwbvKCdLDRB41zpP6qDDKZrVVTXvPxcq9JnIbDOs9knEe9tNJUMaI0JBVC5snjQVZatKqNNAP32S32VndBPO+JgdWdaxXE9tHGeon4+l9qXB2Y9YOhae3CKdrFb+kLRd6EgIQJXSLS/0mgoIK2PG3WDLiuYreHU6bNZb5RcXlSfQ/x+gq6nDbh0pcr90D8ZFUx1gcfi4mSixOOeOrwJNh30Y2/RJBtEPpbeLm/Qd+tV2p8k22PsQxjtvs6uc2sheOc14wl3yc3+GRvg6WXivh0ivpyz4WOMc2RgiPjXtBd+gjk3DLbM4Lkh4Twfx4G/cyrhcAr0la1ehmGOFYbi5KibzPVe0ML0MLmK7N32YNNJ7NrZVC5/gv4srlbCdJCTMhj5tHvUGCEo/DSaUAQCHYlvrbVUD/oeQjG65EBDttLeHUYtcA9eOpoqtXtmTRSB2Ke4YBW4u/qScIlnC6ip79qCz+S8DJuqPg1S8uqKo6xK29h0hRxzs6lGwoMX8SgyzzRyum6wteYq+sIFHrqLFu/le5EeuE63HYVBfaffO/4A== 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: Set the node limit of the root node so that the last pivot of all nodes is the node limit (if the node is not full). This patch also fixes a bug in mas_rev_awalk(). Effectively, always setting a maximum makes mas_logical_pivot() behave as mas_safe_pivot(). Without this fix, it is possible that very small tasks would fail to find the correct gap. Although this has not been observed with real tasks, it has been reported to happen in m68k nommu running the maple tree tests. Link: https://lore.kernel.org/linux-mm/CAMuHMdV4T53fOw7VPoBgPR7fP6RYqf=CBhD_y_vOg53zZX_DnA@mail.gmail.com/ Fixes: 54a611b60590 ("Maple Tree: add new data structure") Signed-off-by: Peng Zhang Reviewed-by: Liam R. Howlett Cc: Cc: Geert Uytterhoeven --- lib/maple_tree.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/maple_tree.c b/lib/maple_tree.c index d3072858c280..f55e59bd9122 100644 --- a/lib/maple_tree.c +++ b/lib/maple_tree.c @@ -3692,7 +3692,8 @@ static inline int mas_root_expand(struct ma_state *mas, void *entry) mas->offset = slot; pivots[slot] = mas->last; if (mas->last != ULONG_MAX) - slot++; + pivots[++slot] = ULONG_MAX; + mas->depth = 1; mas_set_height(mas); ma_set_meta(node, maple_leaf_64, 0, slot);