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 551FBC77B7F for ; Tue, 16 May 2023 14:23:05 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id EA72B900008; Tue, 16 May 2023 10:23:04 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id E5723900002; Tue, 16 May 2023 10:23:04 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id D1F77900008; Tue, 16 May 2023 10:23:04 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0011.hostedemail.com [216.40.44.11]) by kanga.kvack.org (Postfix) with ESMTP id C2EA9900002 for ; Tue, 16 May 2023 10:23:04 -0400 (EDT) Received: from smtpin11.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay02.hostedemail.com (Postfix) with ESMTP id 89978120336 for ; Tue, 16 May 2023 14:23:04 +0000 (UTC) X-FDA: 80796335088.11.029F63E Received: from mail-pl1-f182.google.com (mail-pl1-f182.google.com [209.85.214.182]) by imf24.hostedemail.com (Postfix) with ESMTP id D02ED18000A for ; Tue, 16 May 2023 14:23:01 +0000 (UTC) Authentication-Results: imf24.hostedemail.com; dkim=pass header.d=bytedance.com header.s=google header.b=Si9J8xh4; spf=pass (imf24.hostedemail.com: domain of zhangpeng.00@bytedance.com designates 209.85.214.182 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=1684246982; 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=3kGeDB1FLLRTyGYaeMLX/shu6ixIOPxRjOLfucBTWSs=; b=6O0K8LgmY6OLZgWDbWDD0W6tXJssDEETKlIgjtnZnFnS1LPYkQp0ObBWkwaTE+jvplbrsd Js4dO6Dc8/JlGRpyXIlaSoHxXQ3CAkhA1I/PUmKluEwzDSFK2lO9S+FxNWpfvPOPHQj7Y0 N5c7rEeLfUhtLS8ebdvjPYRxGs761As= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1684246982; a=rsa-sha256; cv=none; b=yLi9XPA2xmLR87hCrPPlzo2PkwED6eYTIqoltvXgUgFObNQ6Wao8wKsgSLfq/8tW54jW4K WYr1uVzvyGTVsLkAQaKJkguyQ+UPjgFtuEXXim/zZDZM6A8un+cEx24Ihw6VUv7baNblm6 q//iMqsTN9dk6VLThpKvDFgMNTGZi3A= ARC-Authentication-Results: i=1; imf24.hostedemail.com; dkim=pass header.d=bytedance.com header.s=google header.b=Si9J8xh4; spf=pass (imf24.hostedemail.com: domain of zhangpeng.00@bytedance.com designates 209.85.214.182 as permitted sender) smtp.mailfrom=zhangpeng.00@bytedance.com; dmarc=pass (policy=quarantine) header.from=bytedance.com Received: by mail-pl1-f182.google.com with SMTP id d9443c01a7336-1ae4c5e12edso309445ad.3 for ; Tue, 16 May 2023 07:23:01 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bytedance.com; s=google; t=1684246980; x=1686838980; h=content-transfer-encoding:in-reply-to:from:cc:references:to:subject :user-agent:mime-version:date:message-id:from:to:cc:subject:date :message-id:reply-to; bh=3kGeDB1FLLRTyGYaeMLX/shu6ixIOPxRjOLfucBTWSs=; b=Si9J8xh44DDlnAJIJcr2xQNuOXm5Gojua1R5DmKPohwEwQdPvLGbYd0iH+xZ0lk80g 9WxrGqm6IFwbrjwYKal32Lx/elXzbTO+epmFw87n/Q0HU6znbMLPA/cnCyrpbCFJKmg8 t6Oe7XvwrG1urBtzOu73NUwoSx488P3bQYqDIkmep0FLqjAt/J5fmo9AM8V2gIoAsDd6 CZhSZ+X+ssIA3c/gpeltMreT9n19wy/IulbMCtAwBvdOjgLM2j44N5FcmVvqc9vOP9Vx UHpbblpQELsmD7bzK4sCuZi7u89IroDveefCKFqq0KTgTMjOi5TN0ZeItH1gmM7HMTPB Tb6Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1684246980; x=1686838980; h=content-transfer-encoding:in-reply-to:from:cc:references:to:subject :user-agent:mime-version:date:message-id:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=3kGeDB1FLLRTyGYaeMLX/shu6ixIOPxRjOLfucBTWSs=; b=gx3HH8L3LrP0nRWP14dKHoxyf9jyX9HvsOP8ZBxOJrWsD8gE1pcF2yOqbzWLb86Dec 2qytFPd8dnwMJGtXfIETC+vFjsJiw741SUkr9etIWFKyZvNC7+nwCw4TWfxEQk4KDOe7 eWGKg/3mt9QrMiBwtoUdG5BaBGYsYgStwFBnl/eX9ITNJv9kx9XimJabiRw/iz8l5+sR nQNKDYc5LmUjUXPfv5VSrR4zNiHtRX4y8asMJncedmAuD3i9QEaQExBIQygNWNWDdD7H fHARsIRIDUgGkykcAq6PNUzDvr7TPzVjEuTjQuYwxe1js8XndSxDELJUI0ZJvm8R4HAE Sylw== X-Gm-Message-State: AC+VfDy86bQy/DVbRbWMokj5k3SlGRTp8+9X9diA8gRwsjBd/TPzHxtT n7dt4WeXVUpKrvOfTL+uKOYDOQ== X-Google-Smtp-Source: ACHHUZ7kVT7ZCAoxQt/vV9D61JAabjwEva1tCTzmTkXtKYDsdw6VtrhKn0U+QE6KBcj5TLi9k1Yzwg== X-Received: by 2002:a17:902:778c:b0:1a6:3ffb:8997 with SMTP id o12-20020a170902778c00b001a63ffb8997mr2481520pll.42.1684246980349; Tue, 16 May 2023 07:23:00 -0700 (PDT) Received: from [10.200.9.178] ([139.177.225.227]) by smtp.gmail.com with ESMTPSA id e1-20020a170902b78100b0019a5aa7eab0sm1380109pls.54.2023.05.16.07.22.58 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 16 May 2023 07:23:00 -0700 (PDT) Message-ID: Date: Tue, 16 May 2023 22:22:56 +0800 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0) Gecko/20100101 Thunderbird/102.10.1 Subject: Re: [PATCH 06/10] maple_tree: Wrap the replace operation with an inline function. To: "Liam R. Howlett" References: <20230515131757.60035-1-zhangpeng.00@bytedance.com> <20230515131757.60035-7-zhangpeng.00@bytedance.com> <20230515170722.6eqyckjaggw5wijq@revolver> <830328dd-ddb6-bdc5-2d74-35b5212cc569@bytedance.com> <20230516141626.4aqzxbmxdxc4d3ll@revolver> Cc: Peng Zhang , akpm@linux-foundation.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org, maple-tree@lists.infradead.org From: Peng Zhang In-Reply-To: <20230516141626.4aqzxbmxdxc4d3ll@revolver> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-Rspamd-Queue-Id: D02ED18000A X-Rspam-User: X-Rspamd-Server: rspam06 X-Stat-Signature: s3ki9h6cwmqx9om69dg5u6a5ty4k4ihq X-HE-Tag: 1684246981-228549 X-HE-Meta: U2FsdGVkX19E0LGlfX5U3OoY3DSbWKknooXdNopDdIVDgf0xU3XUK033J3feaCqn7AGhdWgitCHRxrOD7kP16Zq3z3pG2vCELHQIZYSqNLZ1K/dj53srqSaqI1988pqSCoJA/NH0kYKtXBrmM+kFJERkpO7+deZRapVjRT04/2dvxTkcom4lLD2tKQwzi8WRb6IYVOABRI8G8QUPBscxLXuIsIaLa+YWY969YK9F+Chg2EFH0ecwH+7/h7aBHR0uk6k+TU7xrmn/DmKx/DEslNFgP8B2/q7ljxOUt2ogWbf262y2T0lvnaeGSBMM4H/vmvM2Wa1XduJbx8MxfucyaELkPRnq3lIE6NlhT7VGuYN/mc31zIWFfrJnGHJLAS3xF9RMydeO0cGUAR6mFk7tuz+luC0k0Z5T5vn8qhTIt3jQNGthaTknbrJPoGgTVfF2owNdNASg/eDR8tKRWH6NY3aYgeXmszVS7ZCHNtyR1jm3pUtUpmWD7BBHJADVoylmxV9CtV0ljaSUDXL2nH7uYIVU9ZkFWNjBKXcMHbgM1CfibPid9oDeY4QheVHUk08lJdcfzDdv/jCAr+sdPsEzPYSLjVWsAj7cdSU5ip9NttDpWiysQibo47eeur6pOdoaWY3YGK588a/8p+m3I3o7+pjPryuXVv+rrC8vPRJwxQK9+MeRg8eueSw9fkrpGG22cyB/7QtGVDEmW082MDO9kVo92Az8sSEEh/HNt2dhqtQMgxswkGnY+4KSnyL+7i5b6PiGxLhkkv5B/IYVlWmdlkHsuEamECST911EFU5bgWa9SqzAVwqGk4+ryt0XTf4oulqurkOsVRtt88LUPuGpAryFfbZ0q9eJbUvBvg8dziwiJNar/rZgPsazulB9uR/6NfE0PN4O/Yh1a9Mves5H7kxAyv6BjJd7BBlMHX7TPiquLx8vth2zwE8MniIL8hSIzZ5ZcoqRl1ACWEOA0ve 7o2eoy3y 6QZkQJxUCJeGWaK4TYYKKoqmvtstFH8LmqWpuquLIQDk5lyeMlUfaVoDqxq/8LhubrQ5Y114zXotL+eH4KMWH2/YxE5+ZiCdncG/uFb6BQQiDbruwEqs37dwtXCWeNy11Jn59QwMIrFVmgt1Jzna80+BH+zvPDLN12i/uyt150cMeDFyzvW9dnWeHDlCqEIOPCFSbpzFdYRbEFEQ6r2Il3wHRZKafKrd1K8XPsrMxQzyIIHd19+DfLQceXjsyShBiI9r/y1KVpTP/JfmfZgJDE049VEuma04Pcu4qbOXtzb9EMcFjM+NNHHs1tSNPMLWNJqp49gKQnhAtfbYAwhvsJATfOdSmPQvwEjgB3yCh+VhiL3PijUo3DKBKSC8Oqm5uJM2FzABDwaIVk/hSAStyAgISM8U2ndtgCJs3NBAwqZHLg7TwhnnehIRhQFdVeITrpHKwntCbPt4Bd4UiTwUQQr3Sm12qMrq759BGZvozq/T0BY/4y2S0+R24BQoQr8UQqMJr 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/5/16 22:16, Liam R. Howlett 写道: > * Peng Zhang [230515 20:46]: >> >> >> 在 2023/5/16 01:07, Liam R. Howlett 写道: >>> * Peng Zhang [230515 09:18]: >>>> To make mas_wr_modify() cleaner, wrap the replace operation with an >>>> inline function. >>> >>> mas_wr_modify() is already pretty small. Is there any reason you want >>> this in its own function besides it looking cleaner? >> I just want to make the four fast paths in mas_wr_modify() >> look uniform without any functional effect. > > I'd like to keep it the way it is. I think the comment stating what is > going on is clear enough and mas_wr_modify() isn't too big. Ok, I'll drop this patch in v3. > >>> >>>> >>>> Signed-off-by: Peng Zhang >>>> --- >>>> lib/maple_tree.c | 21 +++++++++++++++------ >>>> 1 file changed, 15 insertions(+), 6 deletions(-) >>>> >>>> diff --git a/lib/maple_tree.c b/lib/maple_tree.c >>>> index 4c649d75a4923..ce695adc670ec 100644 >>>> --- a/lib/maple_tree.c >>>> +++ b/lib/maple_tree.c >>>> @@ -4288,6 +4288,19 @@ static inline void mas_wr_extend_null(struct ma_wr_state *wr_mas) >>>> } >>>> } >>>> +static inline bool mas_wr_replace(struct ma_wr_state *wr_mas) >>>> +{ >>>> + struct ma_state *mas = wr_mas->mas; >>>> + >>>> + if (wr_mas->r_min == mas->index && wr_mas->r_max == mas->last) { >>>> + rcu_assign_pointer(wr_mas->slots[mas->offset], wr_mas->entry); >>>> + if (!!wr_mas->entry ^ !!wr_mas->content) >>>> + mas_update_gap(mas); >>>> + return true; >>>> + } >>>> + return false; >>>> +} >>>> + >>>> static inline bool mas_wr_append(struct ma_wr_state *wr_mas) >>>> { >>>> unsigned char end = wr_mas->node_end; >>>> @@ -4347,13 +4360,9 @@ static inline void mas_wr_modify(struct ma_wr_state *wr_mas) >>>> unsigned char node_size; >>>> struct ma_state *mas = wr_mas->mas; >>>> - /* Direct replacement */ >>>> - if (wr_mas->r_min == mas->index && wr_mas->r_max == mas->last) { >>>> - rcu_assign_pointer(wr_mas->slots[mas->offset], wr_mas->entry); >>>> - if (!!wr_mas->entry ^ !!wr_mas->content) >>>> - mas_update_gap(mas); >>>> + /* Attempt to direct replace */ >>>> + if (mas_wr_replace(wr_mas)) >>>> return; >>>> - } >>>> /* Attempt to append */ >>>> node_slots = mt_slots[wr_mas->type]; >>>> -- >>>> 2.20.1 >>>>