Received: by 10.192.165.148 with SMTP id m20csp3514655imm; Mon, 7 May 2018 13:43:06 -0700 (PDT) X-Google-Smtp-Source: AB8JxZq6GB+o6IOfxFs3btwYLanI7n28PkfUsnrknq9zeAfUO4glanGcQ/oaQrfWNYleR5ZBSbLY X-Received: by 2002:a6b:c741:: with SMTP id x62-v6mr32936548iof.97.1525725786811; Mon, 07 May 2018 13:43:06 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1525725786; cv=none; d=google.com; s=arc-20160816; b=NhrX5mHhSJ4cR7ytF8yyz5vXiXds7qDgaxWMy+fMhrvasFC2nAczy7XA1RLhKxfX0m FyN96cyozGAKQ4SQ5lpsEkshsesUM+14nbViTLvSg+dZ8xkIOK2tOQyzPxDE9DK8m3c4 K809Z2QlNfvOWgUfqU1SExzHybabzxUoF05/lnyVmRQlmLZTj/WFScDC3fxVWr/3sHCo z240GdoLa6VeUNQbeiP9pOBe2aGSYAOwVNQbr2kvqimRZkxlTB2mFvlgY42qR2Pl9cYc 70RHHzswDliL+cwgqrKx+LU2ZIVk0SirDgYCXpMsUXQgVfNtBOk0UVcVph+Twj8jzy5M 0xqg== 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:dkim-signature:arc-authentication-results; bh=zRju1VDm6dzqbkDqDUoG2a7HUZ7wrbI8c3YSNT+ug2A=; b=ZhrzHZ0+w9c3Ot9E82UJOVmo8Qk+BwbwuDEYEZTas2gr3J/70xJycDA5hc6PQI2Lb1 CkByd5cW1XHzHpapplAJ5UWM5t9lN1NmHflFIOJewFvOR2ZNx2ZHdv6Na/gp6vKJJ8b2 p+D1LREbMS1wcOIABED/kLy1ZTAysqwJYpu/goPpkhxC9tnvlILCaZtAxiyhQplkX+f5 2WIv49142mzi1Lv3fHQjITsHq7zF3+o4hyZGw9TD6U1xArzAzbE1WwefFe/OOTSa/Yir oEptiVBMmhAJMqJ73cKcRCW5xFvOTabbYGbWYNJHx7cGQxNW04W/tqdekwh7yn5z5vhv t00w== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@google.com header.s=20161025 header.b=Dp1oWBN6; 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; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id p76-v6si8208933itp.125.2018.05.07.13.42.53; Mon, 07 May 2018 13:43:06 -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; dkim=pass header.i=@google.com header.s=20161025 header.b=Dp1oWBN6; 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; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752971AbeEGUmC (ORCPT + 99 others); Mon, 7 May 2018 16:42:02 -0400 Received: from mail-pl0-f67.google.com ([209.85.160.67]:37128 "EHLO mail-pl0-f67.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752796AbeEGUmA (ORCPT ); Mon, 7 May 2018 16:42:00 -0400 Received: by mail-pl0-f67.google.com with SMTP id f7-v6so752640plr.4 for ; Mon, 07 May 2018 13:42:00 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=zRju1VDm6dzqbkDqDUoG2a7HUZ7wrbI8c3YSNT+ug2A=; b=Dp1oWBN6zHIl551xyvGjkXtND4jyfUX7qzWkWf9SW8XRB04THjA17NwRjVtPvBGWFH 6jKuAgTmem1TORhOD04xYAsFxVN0GA43DbY/HHla0w4ERnLOj0krXutMC08Hfdvd5fPp 3bg9uCYMFs++wXhVKu8S9MkHykgMrqU3nRIkbvFjD5Reo8SQ7mO4BbccUbFvP83v0XMK ZK3z3hsc5jdoTmnkghW8cgDlEHW+NsmpJU+8CLdLu0xVtqG1sS0m8cLl735fUi1SoMd4 IKhYJh/cUakVTPS2dVx/Vl/TAEOxAtT6SIllGJYzzLlc/Pw3XnNOr/kYBiySa0jlLaxL LqUw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=zRju1VDm6dzqbkDqDUoG2a7HUZ7wrbI8c3YSNT+ug2A=; b=lPGXjbsDN3ansfnPL3QaQxZyAOAoostyalYFaujWeENoVNiWrj6lydamrLd4A9DBbl kyVR9UhGnZt7LsHIPtYp7/IKWGEIv2oYxAZ1+yW61RgBFbX+iKLbQF7x7MgjNxOGIgNP K+ESmZyU43ZQexYB6zHRNZFQwc2eCio80xQh+H18ZjEUbRlnIAeZg3EI0YQQ/0UchgEP tVyMEG+FV6Ooskr2HGA+FGviXCsYdsVC5TCvwRgjitUI20SQrYfJzm6Z3OxLD5WHfpci m8n6btY1r4fssdsz9Lr1TB05o9HZe5i0k7LxjcwOK92q05alYgk8DUJbTRYIiA58+Nsl EGRQ== X-Gm-Message-State: ALQs6tDTwIVu0FaxD+fxSFvHr0V11YAUk0XCJ7nKN45joPio/2v9eGM7 qQXUf2YtdJM0uux88I8Cc7P8H4iM7CQ= X-Received: by 2002:a17:902:b497:: with SMTP id y23-v6mr31061875plr.309.1525725719516; Mon, 07 May 2018 13:41:59 -0700 (PDT) Received: from joelaf.mtv.corp.google.com ([2620:0:1000:1600:3122:ea9c:d178:eb]) by smtp.gmail.com with ESMTPSA id v16sm66563994pfk.164.2018.05.07.13.41.58 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 07 May 2018 13:41:58 -0700 (PDT) From: Joel Fernandes To: linux-kernel@vger.kernel.org Cc: "Joel Fernandes (Google)" , Steven Rostedt , Peter Zilstra , Ingo Molnar , Mathieu Desnoyers , Tom Zanussi , Namhyung Kim , Thomas Glexiner , Boqun Feng , Paul McKenney , Frederic Weisbecker , Randy Dunlap , Masami Hiramatsu , Fenguang Wu , Baohong Liu , Vedang Patel , kernel-team@android.com Subject: [PATCH RFC v6 2/5] srcu: Add notrace variant of srcu_dereference Date: Mon, 7 May 2018 13:41:40 -0700 Message-Id: <20180507204143.13061-3-joelaf@google.com> X-Mailer: git-send-email 2.17.0.441.gb46fe60e1d-goog In-Reply-To: <20180507204143.13061-1-joelaf@google.com> References: <20180507204143.13061-1-joelaf@google.com> Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: "Joel Fernandes (Google)" In the last patch in this series, we are making lockdep register hooks onto the irq_{disable,enable} tracepoints. These tracepoints use the _rcuidle tracepoint variant. In this series we switch the _rcuidle tracepoint callers to use SRCU instead of sched-RCU. Inorder to dereference the pointer to the probe functions, we could call srcu_dereference, however this API will call back into lockdep to check if the lock is held *before* the lockdep probe hooks have a chance to run and annotate the IRQ enabled/disabled state. For this reason we need a notrace variant of srcu_dereference since otherwise we get lockdep splats. This patch adds the needed srcu_dereference_notrace variant. Cc: Steven Rostedt Cc: Peter Zilstra Cc: Ingo Molnar Cc: Mathieu Desnoyers Cc: Tom Zanussi Cc: Namhyung Kim Cc: Thomas Glexiner Cc: Boqun Feng Cc: Paul McKenney Cc: Frederic Weisbecker Cc: Randy Dunlap Cc: Masami Hiramatsu Cc: Fenguang Wu Cc: Baohong Liu Cc: Vedang Patel Cc: kernel-team@android.com Reviewed-by: Paul E. McKenney Signed-off-by: Joel Fernandes (Google) --- include/linux/srcu.h | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/include/linux/srcu.h b/include/linux/srcu.h index 2ec618979b20..a1c4947be877 100644 --- a/include/linux/srcu.h +++ b/include/linux/srcu.h @@ -135,6 +135,11 @@ static inline int srcu_read_lock_held(const struct srcu_struct *sp) */ #define srcu_dereference(p, sp) srcu_dereference_check((p), (sp), 0) +/** + * srcu_dereference_notrace - no tracing and no lockdep calls from here + */ +#define srcu_dereference_notrace(p, sp) srcu_dereference_check((p), (sp), 1) + /** * srcu_read_lock - register a new reader for an SRCU-protected structure. * @sp: srcu_struct in which to register the new reader. -- 2.17.0.441.gb46fe60e1d-goog