From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753314AbdJaOpG (ORCPT ); Tue, 31 Oct 2017 10:45:06 -0400 Received: from shards.monkeyblade.net ([184.105.139.130]:60832 "EHLO shards.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751366AbdJaOpF (ORCPT ); Tue, 31 Oct 2017 10:45:05 -0400 Date: Tue, 31 Oct 2017 23:44:59 +0900 (KST) Message-Id: <20171031.234459.546020444648753386.davem@davemloft.net> To: vkuznets@redhat.com Cc: eric.dumazet@gmail.com, netdev@vger.kernel.org, linux-kernel@vger.kernel.org, devel@linuxdriverproject.org, kys@microsoft.com, haiyangz@microsoft.com, sthemmin@microsoft.com Subject: Re: [PATCH net-next 3/4] hv_netvsc: reset net_device_ctx->nvdev with rcu_assign_pointer() From: David Miller In-Reply-To: <8760avxtx5.fsf@vitty.brq.redhat.com> References: <20171031134204.15287-4-vkuznets@redhat.com> <1509458998.3828.19.camel@edumazet-glaptop3.roam.corp.google.com> <8760avxtx5.fsf@vitty.brq.redhat.com> X-Mailer: Mew version 6.7 on Emacs 25.3 / Mule 6.0 (HANACHIRUSATO) Mime-Version: 1.0 Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-Greylist: Sender succeeded SMTP AUTH, not delayed by milter-greylist-4.5.12 (shards.monkeyblade.net [149.20.54.216]); Tue, 31 Oct 2017 07:45:04 -0700 (PDT) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Vitaly Kuznetsov Date: Tue, 31 Oct 2017 15:40:06 +0100 > Eric Dumazet writes: > >> On Tue, 2017-10-31 at 14:42 +0100, Vitaly Kuznetsov wrote: >>> RCU_INIT_POINTER() is not suitable here as it doesn't give us ordering >>> guarantees (see the comment in rcupdate.h). This is also not a hotpath. >>> >>> Signed-off-by: Vitaly Kuznetsov >>> --- >>> drivers/net/hyperv/netvsc.c | 2 +- >>> 1 file changed, 1 insertion(+), 1 deletion(-) >>> >>> diff --git a/drivers/net/hyperv/netvsc.c b/drivers/net/hyperv/netvsc.c >>> index bfc79698b8f4..12efb3e34775 100644 >>> --- a/drivers/net/hyperv/netvsc.c >>> +++ b/drivers/net/hyperv/netvsc.c >>> @@ -560,7 +560,7 @@ void netvsc_device_remove(struct hv_device *device) >>> >>> netvsc_revoke_buf(device, net_device); >>> >>> - RCU_INIT_POINTER(net_device_ctx->nvdev, NULL); >>> + rcu_assign_pointer(net_device_ctx->nvdev, NULL); >> >> I see no point for this patch. >> >> Setting a NULL pointer needs no barrier at all. > > Oh, sorry, I got confused by the comment near RCU_INIT_POINTER() in > rcupdate.h. Now looking at their definitions I see. > > This patch can of course be dropped from the series. Any time there is a change to the series, you must resubmit the entire series. Thank you.