From patchwork Wed May 17 08:57:59 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Peng Zhang X-Patchwork-Id: 13244463 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 BBFB0C77B7F for ; Wed, 17 May 2023 08:58:51 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id E8E9E900009; Wed, 17 May 2023 04:58:50 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id E3EF3900006; Wed, 17 May 2023 04:58:50 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id D0620900009; Wed, 17 May 2023 04:58:50 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0017.hostedemail.com [216.40.44.17]) by kanga.kvack.org (Postfix) with ESMTP id BFB18900006 for ; Wed, 17 May 2023 04:58:50 -0400 (EDT) Received: from smtpin15.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay02.hostedemail.com (Postfix) with ESMTP id 82A081201E3 for ; Wed, 17 May 2023 08:58:50 +0000 (UTC) X-FDA: 80799146820.15.3D483A1 Received: from mail-pj1-f47.google.com (mail-pj1-f47.google.com [209.85.216.47]) by imf24.hostedemail.com (Postfix) with ESMTP id 0B91418000F for ; Wed, 17 May 2023 08:58:47 +0000 (UTC) Authentication-Results: imf24.hostedemail.com; dkim=pass header.d=bytedance.com header.s=google header.b=XPhv43rI; spf=pass (imf24.hostedemail.com: domain of zhangpeng.00@bytedance.com designates 209.85.216.47 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=1684313928; 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:references:dkim-signature; bh=T3VYFX4gN8A4+At0+49J9ZIglBWE8IjNo2KkSLdFPCQ=; b=RnXAYj0J3ZHiEWIKFMBKHL7loA/Obmi4SD2OgmPo/Ub9fI7unT/d7Hhtt6I6oT7RjKFDix Xo2oOPNjfFKBfSEBRlVZCQeQ3eP4P4H8CksTG5xy3C05rzvsCUd4mQsGLgQyE0wYR7sM/D cSHQRnZOSQrrE5fynHsE1eQyRcYtHdw= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1684313928; a=rsa-sha256; cv=none; b=6x0vK+agroGa7unMW/HPcY2gGfQvsc4yduR0n8tkQDAvPOZ6wahUnHyN9lhjkOXDe4B+Rq 5jKyzgwzUKqS9acqQUkb27fb1xmP+j9Cc9C8JPipzwu5lz1LcT5iqCqKTuEgPWC3Zs9PV1 77YlZzl1m8pAhBUQy4XOVDS7ZyS+7ho= ARC-Authentication-Results: i=1; imf24.hostedemail.com; dkim=pass header.d=bytedance.com header.s=google header.b=XPhv43rI; spf=pass (imf24.hostedemail.com: domain of zhangpeng.00@bytedance.com designates 209.85.216.47 as permitted sender) smtp.mailfrom=zhangpeng.00@bytedance.com; dmarc=pass (policy=quarantine) header.from=bytedance.com Received: by mail-pj1-f47.google.com with SMTP id 98e67ed59e1d1-24df6bbf765so602350a91.0 for ; Wed, 17 May 2023 01:58:47 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bytedance.com; s=google; t=1684313926; x=1686905926; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=T3VYFX4gN8A4+At0+49J9ZIglBWE8IjNo2KkSLdFPCQ=; b=XPhv43rI0nh8/+jtGffT9p76SQOck8PZDUnIxRHnZMsE3Qep1humOo9QC7H7DEwyUg uQnSEMjFhsDTRY0o1npR4s4RCq6NIBM5ytk8H88EDvEQ7g3fFBmsC1LS6sCnB//Jw+2o EFERMFhvd8WEA9ErQnKZexTVzcXuTWZw6cjl3cd8JlSdYHydM3B5uWN8lI7jtb61um7s 0U5BygfKb0Bv4RVj3coa1KUSqizyDN/yPDA0JMchhB6FuvePorKAaAl34KrVonVa30fo xt1Qz89NOCa0khCKydqOHY0yiQ1tSVa4iePs8XniWmYGwLeFcAovUT/t51B8tyKlivuk MNgw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1684313926; x=1686905926; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=T3VYFX4gN8A4+At0+49J9ZIglBWE8IjNo2KkSLdFPCQ=; b=QxxjjcJUdZ6COG6hhrIlyJ2zctJNEqrV2lyftw4XAKqJhlRSPZkPWSgqI0LqKgvqJT GNJKGfrXyPxHOu4I0nq2X9rENyoF3yLlw2pFPEWOB3GjDKsHNfRVbJjkk47Duhpt+kNL bM3tMLemxl4D/2NI1XRBxKHLMN6e59v+AWas8wyLb8Z5f9tCpMGkilZRtsJC34bqsrln mD4x0IJzEOy/CS2HMqGCoQmXdyTx3PCss/hDet3iiNPLvNJhpqUvoHahMsMQm5VQqVnO dtuGOrS8KO2II37wJ7yIZAVQbvhnhE9rJ5acZBUbwTp5EGu+8k6bAnQKU32bPEULPyyJ FOUQ== X-Gm-Message-State: AC+VfDyhVmOU+99F7dN2NP2h84zQ83hXS3iCGyIqEie/qUTRMUDf0Pdc qQJI08fw0kMFsIaiDD0Xz5nR7A== X-Google-Smtp-Source: ACHHUZ5OzFpipbAy1h25i/uNcKOZM0aG6gCIXztvd1dpil9APougs7VAsPCF+lIev/xq+KbbqcB5HQ== X-Received: by 2002:a17:90a:608f:b0:24e:3b69:a87f with SMTP id z15-20020a17090a608f00b0024e3b69a87fmr38040800pji.25.1684313926526; Wed, 17 May 2023 01:58:46 -0700 (PDT) Received: from GL4FX4PXWL.bytedance.net ([139.177.225.255]) by smtp.gmail.com with ESMTPSA id m18-20020a63ed52000000b0052c9d1533b6sm15056765pgk.56.2023.05.17.01.58.43 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Wed, 17 May 2023 01:58:46 -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 00/10] Clean ups for maple tree Date: Wed, 17 May 2023 16:57:59 +0800 Message-Id: <20230517085809.86522-1-zhangpeng.00@bytedance.com> X-Mailer: git-send-email 2.37.0 (Apple Git-136) MIME-Version: 1.0 X-Rspamd-Queue-Id: 0B91418000F X-Rspam-User: X-Rspamd-Server: rspam06 X-Stat-Signature: qkmsapqa9q1o4ohifbi5sceabn4ur6nj X-HE-Tag: 1684313927-781082 X-HE-Meta: U2FsdGVkX1/c2Zev0JG7PAUTrc97cgEiou53zrzgVB0s32PDqfUsuLcwsegzkRyce64/OhP95hOQoHHJi5bcUwo4ZNqKo0ksoScCxaL7BZeRqZs8naLsBioLa5D4WP1W0HMfEmz6LK7TX4Gg8lWf9OonhI8UgJOaiQYgUT6Rzp9IKI77Q0xUfy95eRQprjnK4uN7uCYuKgID+lneT7oU1zqg3qMSOqZAHfgagsU6jJ7tf+p3URLVEKKMShiATX6SbfUrsXFIv41IAU09A+IeGpUsoiM8HHNVJQO5J0KiTxhvG0dWOOpWnGzjB4UWNB7KrcFDqOfv1B2imwQOGIU28V5A+JAL06M5Kz1kA9owglNhHycgtToT+RSUJI1eQHQDpRH13Lwj+DdXKIfEjTLhMY4+b96wsPzqkdJbyVrH5qr3cwVie8ZLPOoiPkNz2NrsDMOISaJGYNYaWlxMUEhmGDdnt7hr7danGTMNU9zT+z6IbFtUW8t2HLq9h1eE2ZTjI6tDZMr3RVEdH7RLQsCvfCikFRaW86qovYkTFm+qlnbk4VFD0SwzdmpF8na5mJYpSOMnNgzKoI135r24YS8/j7Zh+JhNXePkkadmOUq4IWA+moorhRVM6+riE2CHGT5hmjPS3m7PgTMmLB60P6LSw3f3px+TO/7Z65bwspKIxeZvzHoJYWrC1ss956b0jJvEhVOOugbtllAHaDmDTUZcdTtGSdsIqtqcRSlH3GlEonB2KC8Tkv0j+8H5WdTxT8x1NxulHC06xQhW8w3eQqg4mby+nfqONCItRIEvE+Ag/C98jcv+JpwLz82eiP8872gITA1RagRYOqlWQHdpJRobZMb5ODoHMrNFVleqy11icq7RoIZG9os6WDgFpnG+ZuxW8eQ8dmsUrQdgGYkiyV6ifP3ILDGO63jf10d2ITYUIUmrqaNTWw/J7ggZxg6vFxjBngmz3vrSzS1veSK7zaA GbOdhCCB gXHLD4jGUdp6D+vY6atsDdXhiMMo7BSxnyOySD5OA+0Z31viV8ltkARsd+hynmMEzfARI/8qYwvbL6+Hslj46kOvQHTOilMCRDmNq6N+aK9Qoe4HMQRjDvQoAelZsEWlPVF3T1ECgsYINd9PSBqzbbbUWQKNeK5WyGjDSZAxXGAuTMl7BMQ+zohbjclylVkRa6SMqC1jE4wER168RQDyHSYSl0/is7WUu/KgeqPNq0iXJ0Vz5xYiV9haFdU0waevfI8d15NqHB+t2IcMoJYGMSHuIxmtXE9Rs36YR1Rl2s9uvArBmRvz8imMvQKbRuSEJOqBtFA5P7H1ihU8NsxlYFnzf00du7y4RPEIs X-Bogosity: Ham, tests=bogofilter, spamicity=0.000629, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: Some clean ups, mainly to make the code of maple tree more concise. This patchset has passed the self-test. 0006-0009 - Make mas_wr_modify() and its subfunctions clearer. Make the store operation of maple tree more efficient in some cases. Thanks Liam and Matthew. Changes since v1: - Rework mtree_alloc_{range,rrange}() instead of removing it. [01/10] - Fix the arguments to __must_hold() instead of removing it. [03/10] - Keep the fast path. Expand the compact code. [04/10] - Drop "maple_tree: Wrap the replace operation with an inline function.". [v1 06/10] - Remove some comments. [07/10] [08/10] - Avoid modifying wr_mas->offset_end in mas_wr_modify(). [09/10] - Add a patch to relocate mas_empty_area_rev(). [10/10] Peng Zhang (10): maple_tree: Rework mtree_alloc_{range,rrange}() maple_tree: Drop mas_{rev_}alloc() and mas_fill_gap() maple_tree: Fix the arguments to __must_hold() maple_tree: Simplify mas_is_span_wr() maple_tree: Make the code symmetrical in mas_wr_extend_null() maple_tree: Add mas_wr_new_end() to calculate new_end accurately maple_tree: Add comments and some minor cleanups to mas_wr_append() maple_tree: Rework mas_wr_slot_store() to be cleaner and more efficient. maple_tree: Simplify and clean up mas_wr_node_store() maple_tree: Relocate the declaration of mas_empty_area_rev(). include/linux/maple_tree.h | 12 +- lib/maple_tree.c | 455 +++++++++++++------------------------ 2 files changed, 160 insertions(+), 307 deletions(-)