Received: by 2002:a25:8b91:0:0:0:0:0 with SMTP id j17csp5561956ybl; Tue, 10 Dec 2019 08:00:51 -0800 (PST) X-Google-Smtp-Source: APXvYqz5MBgocVhUP+o0ldM5UgAzuDL0R7qf7vXrQP2HmugL9qe8F76huBjfXszLcHGRQwiSq1ND X-Received: by 2002:aca:5f87:: with SMTP id t129mr1735564oib.36.1575993651863; Tue, 10 Dec 2019 08:00:51 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1575993651; cv=none; d=google.com; s=arc-20160816; b=den6Bi5mZCUMjKDIWoiccx9MZJWbxPf2ifRLQwSljPuzqWKT6JhypJKOFA7nhYHZWz J6dJiloXPK7QyrIJZ7/RWetWUci4u1zG9+CS8hvvSri7Gjj3kHokBQch6qEA8/ZuvLm9 V9i+H3BgVA/xGGkqniRcXo/rSjb1bIvmomEflEO1mbZKIu5DAvPF6PrEA7uxJy30SGG+ ekvf3fKLHP3INKyxizQ0V+HksaMbwzrW8q0lvW12fKl7WGOW2+d8tUVPNajdjM2b5+nF jMZU6OLWhZYKbAFFDKVdUMHWee+vuPP2el/CVU3aQQ6UayhorrpzCMd3+9mh5+3HW/HZ Eo/Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding :content-language:in-reply-to:mime-version:user-agent:date :message-id:from:references:cc:to:subject; bh=uJMSFh/LT/rPrTjveVEot0raxrmC8h6rkLoSxOmBFC4=; b=ZcOcVYG8LdaIrkpvwIetIuvDAKlsFP8Ba7KRdVsyXfyRpLRSwhQbjqtxPZ5SYEglO/ KzyjbDueecc0kuBExYqwVIK3F4l5qYW2B/BDRuAu6cnsLOBFNwZBIbnGRvddK85S0KHk VA5FWI8Bx6ibVE9dLa7uYxHhhQ8Hpv9n/o764TpMKQw2MIOEUg7nInw3OVv5L04udGNz nJujfnBWIBsTWrTTzkFe9kxtbq29OWC0VWUuGHY2yd4KoJfV4LCWVpXCoJPBw6Oeu7Al 2AkuWueephvxZIKTBl18X1nz40Eai9mrnW2FZ9p6Mr4UZsUjXDZq8CkQYHiGdfe7BsS9 afKQ== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id z14si1940093oih.89.2019.12.10.08.00.37; Tue, 10 Dec 2019 08:00:51 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727505AbfLJQAI (ORCPT + 99 others); Tue, 10 Dec 2019 11:00:08 -0500 Received: from mail1.windriver.com ([147.11.146.13]:60069 "EHLO mail1.windriver.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727178AbfLJQAH (ORCPT ); Tue, 10 Dec 2019 11:00:07 -0500 X-Greylist: delayed 4166 seconds by postgrey-1.27 at vger.kernel.org; Tue, 10 Dec 2019 11:00:02 EST Received: from ALA-HCA.corp.ad.wrs.com (ala-hca.corp.ad.wrs.com [147.11.189.40]) by mail1.windriver.com (8.15.2/8.15.2) with ESMTPS id xBAEoGvA023784 (version=TLSv1 cipher=AES256-SHA bits=256 verify=FAIL); Tue, 10 Dec 2019 06:50:16 -0800 (PST) Received: from [128.224.155.90] (128.224.155.90) by ALA-HCA.corp.ad.wrs.com (147.11.189.50) with Microsoft SMTP Server (TLS) id 14.3.468.0; Tue, 10 Dec 2019 06:50:15 -0800 Subject: Re: [PATCH net/tipc] Replace rcu_swap_protected() with rcu_replace_pointer() To: , CC: , , , , , , References: <20191210033146.GA32522@paulmck-ThinkPad-P72> From: Ying Xue Message-ID: <0e565b68-ece1-5ae6-bb5d-710163fb8893@windriver.com> Date: Tue, 10 Dec 2019 22:36:59 +0800 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.9.0 MIME-Version: 1.0 In-Reply-To: <20191210033146.GA32522@paulmck-ThinkPad-P72> Content-Type: text/plain; charset="utf-8" Content-Language: en-US Content-Transfer-Encoding: 7bit X-Originating-IP: [128.224.155.90] Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 12/10/19 11:31 AM, Paul E. McKenney wrote: > This commit replaces the use of rcu_swap_protected() with the more > intuitively appealing rcu_replace_pointer() as a step towards removing > rcu_swap_protected(). > > Link: https://lore.kernel.org/lkml/CAHk-=wiAsJLw1egFEE=Z7-GGtM6wcvtyytXZA1+BHqta4gg6Hw@mail.gmail.com/ > Reported-by: Linus Torvalds > Reported-by: kbuild test robot > Signed-off-by: Paul E. McKenney > Cc: Jon Maloy > Cc: Ying Xue > Cc: "David S. Miller" > Cc: > Cc: > > diff --git a/net/tipc/crypto.c b/net/tipc/crypto.c > index 990a872..64cf831 100644 > --- a/net/tipc/crypto.c > +++ b/net/tipc/crypto.c > @@ -258,7 +258,7 @@ static char *tipc_key_change_dump(struct tipc_key old, struct tipc_key new, > rcu_dereference_protected((rcu_ptr), lockdep_is_held(lock)) > > #define tipc_aead_rcu_swap(rcu_ptr, ptr, lock) \ > - rcu_swap_protected((rcu_ptr), (ptr), lockdep_is_held(lock)) > + rcu_replace_pointer((rcu_ptr), (ptr), lockdep_is_held(lock)) (ptr) = rcu_replace_pointer((rcu_ptr), (ptr), lockdep_is_held(lock)) > > #define tipc_aead_rcu_replace(rcu_ptr, ptr, lock) \ > do { \ > @@ -1189,7 +1189,7 @@ static bool tipc_crypto_key_try_align(struct tipc_crypto *rx, u8 new_pending) > > /* Move passive key if any */ > if (key.passive) { > - tipc_aead_rcu_swap(rx->aead[key.passive], tmp2, &rx->lock); > + tmp2 = rcu_replace_pointer(rx->aead[key.passive], tmp2, &rx->lock); tipc_aead_rcu_swap() is only called here in TIPC module. If we use rcu_replace_pointer() to switch pointers instead of calling tipc_aead_rcu_swap() macro, I think we should completely remove tipc_aead_rcu_swap(). > x = (key.passive - key.pending + new_pending) % KEY_MAX; > new_passive = (x <= 0) ? x + KEY_MAX : x; > } >