Received: by 10.192.165.148 with SMTP id m20csp4499609imm; Tue, 8 May 2018 09:22:36 -0700 (PDT) X-Google-Smtp-Source: AB8JxZqPH+YWfcziexE8FFDj/Ksmpm2+7YJTzlLt5tCO+p4th1JSF4XMdhAQUbgcfNEWgSv7/iu9 X-Received: by 2002:a63:5f4f:: with SMTP id t76-v6mr2158301pgb.400.1525796556554; Tue, 08 May 2018 09:22:36 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1525796556; cv=none; d=google.com; s=arc-20160816; b=mFOTW5jsDwmZgfY2C0P8gxovpJT/4WCYsjNpTzHagUHlf/SK1RCTQnd0DU8Rkp3hOv ee4DksDnvQy9oP506zZQVDdTPS1Fh0I62P2HfKpk7TKXvAVupa72NbZREqKPA0R+c7eW B2WPMfLZcI944LKpeJUJCqHowu1fexM/L0ZD7A2JSPaBwLIRPZyDvupxI5wuPbj7lqNg lEsaiwv8+X6QVJCswS51hT9AMv9rY2MhcpWuRumM7nWujbQtX9XbgOvrdhQ00aotXa0p v5CX5DTKcnfQsvLaOCq/wWu93mYxd5NRIil6yAYfsd1PICReGFR25pa0zJpTXsB/c+8V TVqg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:references:in-reply-to:message-id:date :subject:cc:to:from:arc-authentication-results; bh=rXvdOki0uyYenTlE9b2j8ERwUXP1sc4VhnsPLJopKQc=; b=URDwzjXHvx4s7NWUymvQGzWFkbM6dwMO7SeJ1nrm58fC8RuCu3UkZrvof7Pl6AWEGL Bzb2zYdES2JgnwSiWmVf1b/6j36q4vSOKvvR/dQi0BtccA/45q+HJoweB7+66CUcq7c0 AwPG+yFDPURRErIP8jqzKonJdo62NzFjXMSMMM1oYrRfjI9ppnWtz2TUwqGLZG/tV4Tb X8dlUM+03uAJq6Jl4QgKCdeTyBMjHJAdYtmfMubfGvAAr+Itt3mnWUGzfSBDJQhHeTwg SCgvD/jTfsZVLLmOy12cmnL78ROtnZT6MXbXQSc7fbq9UC+k3UpKfDGxehbESaqc4tQc RHuQ== 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 t184si25176501pfb.98.2018.05.08.09.22.21; Tue, 08 May 2018 09:22:36 -0700 (PDT) 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 S932870AbeEHQV4 (ORCPT + 99 others); Tue, 8 May 2018 12:21:56 -0400 Received: from smtp2.provo.novell.com ([137.65.250.81]:56397 "EHLO smtp2.provo.novell.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755528AbeEHQVy (ORCPT ); Tue, 8 May 2018 12:21:54 -0400 Received: from localhost.localdomain (prv-ext-foundry1int.gns.novell.com [137.65.251.240]) by smtp2.provo.novell.com with ESMTP (TLS encrypted); Tue, 08 May 2018 10:21:47 -0600 From: Davidlohr Bueso To: davem@davemloft.net Cc: netdev@vger.kernel.org, linux-kernel@vger.kernel.org, dave@stgolabs.net, Davidlohr Bueso Subject: [PATCH 4/6] net: Update netstamp_needed static key to modern api Date: Tue, 8 May 2018 09:07:01 -0700 Message-Id: <20180508160703.8125-5-dave@stgolabs.net> X-Mailer: git-send-email 2.13.6 In-Reply-To: <20180508160703.8125-1-dave@stgolabs.net> References: <20180508160703.8125-1-dave@stgolabs.net> Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org No changes in refcount semantics -- key init is false; replace static_key_slow_inc|dec with static_branch_inc|dec static_key_false with static_branch_unlikely Added a '_key' suffix to netstamp_needed, for better self documentation. Signed-off-by: Davidlohr Bueso --- net/core/dev.c | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/net/core/dev.c b/net/core/dev.c index 64483afb7b90..668be88b5308 100644 --- a/net/core/dev.c +++ b/net/core/dev.c @@ -1786,7 +1786,7 @@ void net_dec_egress_queue(void) EXPORT_SYMBOL_GPL(net_dec_egress_queue); #endif -static struct static_key netstamp_needed __read_mostly; +static DEFINE_STATIC_KEY_FALSE(netstamp_needed_key); #ifdef HAVE_JUMP_LABEL static atomic_t netstamp_needed_deferred; static atomic_t netstamp_wanted; @@ -1797,9 +1797,9 @@ static void netstamp_clear(struct work_struct *work) wanted = atomic_add_return(deferred, &netstamp_wanted); if (wanted > 0) - static_key_enable(&netstamp_needed); + static_branch_enable(&netstamp_needed_key); else - static_key_disable(&netstamp_needed); + static_branch_disable(&netstamp_needed_key); } static DECLARE_WORK(netstamp_work, netstamp_clear); #endif @@ -1819,7 +1819,7 @@ void net_enable_timestamp(void) atomic_inc(&netstamp_needed_deferred); schedule_work(&netstamp_work); #else - static_key_slow_inc(&netstamp_needed); + static_branch_inc(&netstamp_needed_key); #endif } EXPORT_SYMBOL(net_enable_timestamp); @@ -1839,7 +1839,7 @@ void net_disable_timestamp(void) atomic_dec(&netstamp_needed_deferred); schedule_work(&netstamp_work); #else - static_key_slow_dec(&netstamp_needed); + static_branch_dec(&netstamp_needed_key); #endif } EXPORT_SYMBOL(net_disable_timestamp); @@ -1847,15 +1847,15 @@ EXPORT_SYMBOL(net_disable_timestamp); static inline void net_timestamp_set(struct sk_buff *skb) { skb->tstamp = 0; - if (static_key_false(&netstamp_needed)) + if (static_branch_unlikely(&netstamp_needed_key)) __net_timestamp(skb); } -#define net_timestamp_check(COND, SKB) \ - if (static_key_false(&netstamp_needed)) { \ - if ((COND) && !(SKB)->tstamp) \ - __net_timestamp(SKB); \ - } \ +#define net_timestamp_check(COND, SKB) \ + if (static_branch_unlikely(&netstamp_needed_key)) { \ + if ((COND) && !(SKB)->tstamp) \ + __net_timestamp(SKB); \ + } \ bool is_skb_forwardable(const struct net_device *dev, const struct sk_buff *skb) { -- 2.13.6