From mboxrd@z Thu Jan 1 00:00:00 1970 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 7DF34CDB465 for ; Tue, 17 Oct 2023 02:45:05 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id D86E38D00E4; Mon, 16 Oct 2023 22:45:04 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id D37F58D00DE; Mon, 16 Oct 2023 22:45:04 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id BFEE38D00E4; Mon, 16 Oct 2023 22:45:04 -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 B0B608D00DE for ; Mon, 16 Oct 2023 22:45:04 -0400 (EDT) Received: from smtpin12.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay01.hostedemail.com (Postfix) with ESMTP id 78CDD1CB833 for ; Tue, 17 Oct 2023 02:45:04 +0000 (UTC) X-FDA: 81353411328.12.09B7A77 Received: from mail-pl1-f182.google.com (mail-pl1-f182.google.com [209.85.214.182]) by imf04.hostedemail.com (Postfix) with ESMTP id 2B48440004 for ; Tue, 17 Oct 2023 02:45:00 +0000 (UTC) Authentication-Results: imf04.hostedemail.com; dkim=pass header.d=bytedance.com header.s=google header.b=Wk9uIfrI; dmarc=pass (policy=quarantine) header.from=bytedance.com; spf=pass (imf04.hostedemail.com: domain of zhangpeng.00@bytedance.com designates 209.85.214.182 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=1697510702; 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-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=1vk6qsMWI9JY/rqTZgWzwRzv4ez7UHpwgeGAhF/8re0=; b=XRabPzOyb/azfU/HIESn6aNn5K424gClpSgw7WXJFnBeZsrdIi7S41IZePbca3VYLzcHy/ a6D/CuBqXlJ5dpid+3sjrEXbMsGuHXnMQG4mKSqYXeklQaGJe0ql2aD2t8HTR0r4X3AdMC FUvug2ooCdqCSckIx4u9p8IiKLg5vrc= ARC-Authentication-Results: i=1; imf04.hostedemail.com; dkim=pass header.d=bytedance.com header.s=google header.b=Wk9uIfrI; dmarc=pass (policy=quarantine) header.from=bytedance.com; spf=pass (imf04.hostedemail.com: domain of zhangpeng.00@bytedance.com designates 209.85.214.182 as permitted sender) smtp.mailfrom=zhangpeng.00@bytedance.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1697510702; a=rsa-sha256; cv=none; b=h/4YjEJEkKfEdNA/kP9325siyXDzW7+5bJSQ2RpvMC2wIsspaMmblKpNurdh0vYVInuTaH lM1+Ca3dT7CRN5aedo2ZONjobBnvEagLYRaHr4YzYJldDvLT/BgROTiHM7rb38DnSbBLc3 a7jgHx7TVMcKtAGxcO5FaivmeMIUmgs= Received: by mail-pl1-f182.google.com with SMTP id d9443c01a7336-1c9bca1d96cso34047325ad.3 for ; Mon, 16 Oct 2023 19:45:00 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bytedance.com; s=google; t=1697510700; x=1698115500; darn=kvack.org; h=content-transfer-encoding:in-reply-to:from:references:cc:to:subject :user-agent:mime-version:date:message-id:from:to:cc:subject:date :message-id:reply-to; bh=1vk6qsMWI9JY/rqTZgWzwRzv4ez7UHpwgeGAhF/8re0=; b=Wk9uIfrIbFXrdEacBKHiMO2png+GaQu5br21muXdTlGKk+zbPJ2tEX7WNbhPh1tPjc jGE9vJO5PxxZg/jQHxaESm49akQK1P1/sZa41Vk43mo6zS5hlrx6qyyTBZwzW24QMY1j p9Z8o8dILXauKOBzrIQgLGHVsC/j201JagX05okQ9QT7mXcy4aQOxjcajzCIqLfTkOw8 kCpzEFDcA1wmIc8THUXP4cXoCdPUd9CO1a04yGpP8b/tj3ruqJNj2fJbADV3gWm0FTuK w5KJ6OAZkf0aYVpFwTPgsCEwg5CEShwMAWCGBFqbUmpmUSRYnzV0N8ezv8YEyZzTB1mZ 2edw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1697510700; x=1698115500; h=content-transfer-encoding:in-reply-to:from:references:cc:to:subject :user-agent:mime-version:date:message-id:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=1vk6qsMWI9JY/rqTZgWzwRzv4ez7UHpwgeGAhF/8re0=; b=m1svdKL9sLZ2Utbx7MPuXuVz3AXWaSImZg1OF4V604InsS7p+lb1MFEth9GcLZ1a2T liBxa2SXVV2HCGuqsaIV1YL19Y6Hn753nN2QYVEVSUUGDTYyc3jbF7xRGID3BdvAp84h fI4Lzd1lKv6nABt+FEEcmugMa4Vpiv3qwpNgszipoJSb0VkPgreU1tZ1RGcu4KjlHN3l ni2PIFx6BRHZiG+lX9n89JjP1O0pTAkObrJzrm3bg4nipfZm7c5SYtoyYkansSdUwKoK 7tZPxiNBO8jMTeXXX2N5AKTRB4b0VKEE9P/wdFpDaJZwryNr4+GHYyQSgiNF4AaCEdhy IUCQ== X-Gm-Message-State: AOJu0Yy1lavRa3WkW+y++SsdFI83AoxuvqgxTAomkt40syrkqKCkovzI 6tZZGqW6ohru3YvwF7vjHNXScQ== X-Google-Smtp-Source: AGHT+IH2Vaw5VpFjLCYEuyg5TbbuvFfpk2Jx9OW/8sn5hwvVrjx7wStSOHagOF7B9oUE06Cu0PJvrA== X-Received: by 2002:a17:903:280b:b0:1c6:3157:29f3 with SMTP id kp11-20020a170903280b00b001c6315729f3mr1001700plb.36.1697510699886; Mon, 16 Oct 2023 19:44:59 -0700 (PDT) Received: from [10.84.144.228] ([203.208.167.147]) by smtp.gmail.com with ESMTPSA id jj19-20020a170903049300b001b8a2edab6asm295896plb.244.2023.10.16.19.44.51 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Mon, 16 Oct 2023 19:44:59 -0700 (PDT) Message-ID: <1e2f1120-9889-445e-8b88-d7b6cb0e0843@bytedance.com> Date: Tue, 17 Oct 2023 10:44:49 +0800 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH v5 03/10] maple_tree: Introduce interfaces __mt_dup() and mtree_dup() To: Matthew Wilcox Cc: Liam.Howlett@oracle.com, corbet@lwn.net, akpm@linux-foundation.org, brauner@kernel.org, surenb@google.com, michael.christie@oracle.com, mjguzik@gmail.com, mathieu.desnoyers@efficios.com, npiggin@gmail.com, peterz@infradead.org, oliver.sang@intel.com, mst@redhat.com, maple-tree@lists.infradead.org, linux-mm@kvack.org, linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org, linux-fsdevel@vger.kernel.org, Peng Zhang References: <20231016032226.59199-1-zhangpeng.00@bytedance.com> <20231016032226.59199-4-zhangpeng.00@bytedance.com> From: Peng Zhang In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-Rspam-User: X-Rspamd-Server: rspam12 X-Rspamd-Queue-Id: 2B48440004 X-Stat-Signature: yyaa338xhy5qqxpr5phd8hcgf1ff79xc X-HE-Tag: 1697510700-588712 X-HE-Meta: U2FsdGVkX1/XxEhA1z7ZcGOoxfiesbqynyFeMi2qv3BA6WxTmXxRA3XmzhR2j+rMtMGNtZWW1D0r+ypqO1GLe+8CJ1EW590KyuHLrk6ZLm8dOyIz17rV/YBsERzllloGHn1m+hY3aMaHgp8VvzosnFwbN8OQ/7vmMuI4lmP7XiID/Vc/7KZ7LjTlVwkf+7RvI6xi+fpR1T9bB/oOqjNuishk/B+3UQMkiOYsOImJT3dJqiuW2pJPiOvTT7K1uESesDWGADmiA22W3Q7vsHzR+SD395l7uL9G/Wpf1wjS7hpjpcHL7IURxZMtRtIKqOWVrugXgojKiqhLHIS9PyKWwtB48YYgrHQ8so23HOfbHKH4utIFOGbvNEJYiLKYwWX1vybFo4buVUIq3WVgMueioKeOTVBc4k2lvv9n7sT2kbpkO8i1YpHumZGAT7Ig8+EqnrWeS8mxo4MbUGHDu73zqZtHAm6tbk3Vb/i5zLZyS1jRqbKh3Tip8x2vAnwKUfus1Kwk9qsZnZwzcBciZCtJJzoaKMqxz9WmeH2MEUpvnj3htzfmLzF4fwD7NFkawEcR2r6y4Gj53TnQBgeh0gxIaWnm7KwrqyJa+fnfQsQd1KtFJDllkT9R3b0kdxroyN0gzQMmKgDQW6jjVgO7d4ZeIo9tqg8UhN0O6cwVg/NWyMsS3JHXRYdEzZlX/mAXm08Jkt3QsP/WIauYeyPWwcDdFkgt4g7rGka/5lex3304yOq7yMR4t85sZDn3H5osNVkxre6JspVIdQ0MuviSUhI0PJqSXTV3Xd9uqxLqsA/zDQC2u0eIA1Jz8v8ZPqEs4EIw3TvUXFPR8AdgSOys7lXbHgoJccP6uf1tiN8o625lPGU0Za5FSoERFpXKjROZ/53wHM7cxo4O9GmbNGi58CIdv4hWNnDJL7WjfJWsJjmiXShirPLMxs2r4WROHxa0dN+G719bkwEwPzId6aNUzg2 dFHOjUQN bMVoFxC2uywKgnCZWSL4h5/2JCY2vzIKItlfSk4MfEDzbe3WO7q4dZ/r8L4IPAQ9x53bSZ5ZLbCI+6QaqVaTx2+AW67lT7CLhS2YRW0vSl9lUCbzG+Z+9pK01HmZ4Uc0eeMtL/8NBkbMjvYRiSAlBsa4HFmuZmuTRnTw5sHPthe1fRfGarY6fN5H+noxcZwWLrA2SWkOf07mVhZLpy8q2QUJrcm9GBd61stYa1SE/aYag0E629P5PSXrlnl/2HSLQ3r8TLztVzfP9Odl+cJcmPESOINRlOFAg5MFmcmWYb6yCzJOEamjrHFgy93btT10WTS1Jo+OYdpJ+9HqW8Cn2iA+fVzHuXs8ROEm3b0HzfTCFtiPuDCjpvls3iRkCob2xRYpAclr/VZio7HCKfrUigt2gvb1B6DUR7oWlzDN3+nHQJjafuGDFwCeJxXQsNdEzTHW1HiJ20woieCSbTJhAhzAnRynuhS2FVKaGh90gfzEq+oJTffEj1qlk4heHgf6yLQAYuRVrNGme2r5sm/SNtbb8S47SjDU9GjPzq3pwYb1qSZA4aI2TC8wHu9OnUyRVIOZQuPkA/nM7eXBXv01CvSkY3Q== 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: 在 2023/10/16 22:10, Matthew Wilcox 写道: > On Mon, Oct 16, 2023 at 11:22:19AM +0800, Peng Zhang wrote: >> +++ b/lib/maple_tree.c >> @@ -4,6 +4,10 @@ >> * Copyright (c) 2018-2022 Oracle Corporation >> * Authors: Liam R. Howlett >> * Matthew Wilcox >> + * >> + * Algorithm for duplicating Maple Tree >> + * Copyright (c) 2023 ByteDance >> + * Author: Peng Zhang > > You can't copyright an algorithm. You can copyright the > _implementation_ of an algorithm. You have a significant chunk of code > in this file, so adding your copyright is reasonable (although not > legally required, AIUI). Just leave out this line: > > + * Algorithm for duplicating Maple Tree Okay, I will make the correction, thank you. > >> +/** >> + * __mt_dup(): Duplicate an entire maple tree >> + * @mt: The source maple tree >> + * @new: The new maple tree >> + * @gfp: The GFP_FLAGS to use for allocations >> + * >> + * This function duplicates a maple tree in Depth-First Search (DFS) pre-order >> + * traversal. It uses memcopy() to copy nodes in the source tree and allocate > > memcpy()? Yes, thank you for pointing this out. > >> +int __mt_dup(struct maple_tree *mt, struct maple_tree *new, gfp_t gfp) >> +{ >> + int ret = 0; >> + MA_STATE(mas, mt, 0, 0); >> + MA_STATE(new_mas, new, 0, 0); >> + >> + mas_dup_build(&mas, &new_mas, gfp); >> + >> + if (unlikely(mas_is_err(&mas))) { >> + ret = xa_err(mas.node); >> + if (ret == -ENOMEM) >> + mas_dup_free(&new_mas); >> + } >> + >> + return ret; >> +} >> +EXPORT_SYMBOL(__mt_dup); > > Why does it need to be exported? I consider __mt_dup() as a general interface for Maple Tree, uncertain whether it will be used by certain modules in the future. > >