Received: by 2002:ac0:a594:0:0:0:0:0 with SMTP id m20-v6csp1520788imm; Wed, 23 May 2018 18:24:37 -0700 (PDT) X-Google-Smtp-Source: AB8JxZq7oJ7mrPwEB6nvL5d7IcEbWDtqJm4LQtqcG1ZzN4RHWRzdkVvcJlPcY5ZN9JTMpZSGcc8s X-Received: by 2002:a63:a312:: with SMTP id s18-v6mr4030279pge.187.1527125077322; Wed, 23 May 2018 18:24:37 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1527125077; cv=none; d=google.com; s=arc-20160816; b=sxRV6jBR6K+jOqjgq80ovFiW0s8hOlVD+aS0CAyTQfPCr83DDxVxJyJIbmxIKAS2M/ /F3zfjXGNLiZJvMP8EcGu1qRo8hZAza2Lx3lZ6rushTBR95s5iDUqTKrpiDu7NTKnFJd 9U/Qhlx09Ov5/oNXLNpcH/yv8mux/3Tvkr8a+gOjib9J2ML/UxpeS6zrgTbBhRitAoeg 3ELUNEio1MthwpTom8S4cEy3Ze8KguKVv5xKJtK5Ben6czg78Pvqfax92u3meLPibCOG +7LAbnEcj0GXnbXQl73yxJWLEius8gwVXhMw9PC/fWGXvwxVl37g3O+SkWyMFOvCpWyj djZg== 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=YvRQPRvl+Q0KN33lvBXXkaVMnCg3Qxpj/qiDzM2exzI=; b=O62z5ICsaIW4CzSPTuPzaeaIGfJhtJ+WCia2yIjHgNkL/fPaqSd+5CaHrk0ZKXSptU EA/OlOs2MOb66YPfyKdTK043ioztyVvgdz2m5b9739zuEyEpafI5/nzOzRepGejvrI0k bliFR6GFtnlF/WFpnq6u7CBB4qNKVY8MXkvjadAfvfGP96vCXV3c+9fHKNAEkvV7OZN9 kMMHt7mjascxEy0c8mjw4H1/MErnfY5VS6eVn4+KYG5WS31ihCiIpsBdJ1PDsXDbj6sT 7igTceXu92EBn4n6yCXTcUzbZRLMvfFUvuFjur9S6kwRoPvMjMplr6pmmRWMu1e4DTHL yY1g== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@google.com header.s=20161025 header.b=TpUp98OY; 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 61-v6si20456558plf.63.2018.05.23.18.24.06; Wed, 23 May 2018 18:24:37 -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=TpUp98OY; 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 S935458AbeEXBWm (ORCPT + 99 others); Wed, 23 May 2018 21:22:42 -0400 Received: from mail-pg0-f68.google.com ([74.125.83.68]:39950 "EHLO mail-pg0-f68.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S935404AbeEXBWc (ORCPT ); Wed, 23 May 2018 21:22:32 -0400 Received: by mail-pg0-f68.google.com with SMTP id l2-v6so10179140pgc.7 for ; Wed, 23 May 2018 18:22:31 -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=YvRQPRvl+Q0KN33lvBXXkaVMnCg3Qxpj/qiDzM2exzI=; b=TpUp98OY3UE6EMcECgwkfXL/XlLG/75CXkrPErT+h43qOY/BqbjZR4F+himZwRgSVG tyB9J+0XsxPmkLbi0LSAaUUb5dk2IEg+cKbMpHnpWACYHsX2nzf/vS4McILhXvu7hhwr TOEbJANFfyqkwrL4jC8nHHm6cC8lHu7modX3UeuYEP1okGKYeAulLWO/oquzXkwEz7YJ NbKWW3UgsaBMM/1RyuwhKwph3gQzVo1cK9xlov+MxCKzGA2hiMy24MLR5kWrP1BR++6y uTc98yIb5Brba+CGUxOIlcX4IcsKHcwOLxklXRvyNkz2X0rD0++kHvrdpyWo35Wzy7iw ECwA== 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=YvRQPRvl+Q0KN33lvBXXkaVMnCg3Qxpj/qiDzM2exzI=; b=rrOEAMzZOA9945iB/Far5twVf7WjlptMNh1QI4K6UTWA3XBb9g1aSXgNku2gfeaidN H98oOIjY0WIvFVnLsqmunRIaM2ASLtLkJfd+7PHhvwdOa0UbouAu2aCVnW2/aKTZG+G4 ejDUMtgHs5UQv2jePheEIcuu0ZIIciHhcjpLBge+J7ptkv8h4aZzqyDDBoxpUYS/mjYs 23ixTLCaEoeI0EuJyV+wsPovSkud8udBDqZXqR2s77BHn0Z8GCMxGKqTAwy894G9yX9e kcG+Jd4QL5ewR5i1UIfiN3TRPXBFXrdOUveGRIY9VAHiTFGsEWHnbVpMVfnhRsIHAi7E YGCA== X-Gm-Message-State: ALKqPwe8z6m8mjDESRVZvthaA9gmhqIfJtj0UYhG0mcKp04c9DznyE9R Q344F8RPw2t3cCS7FI1omcwHGIy7Bdg= X-Received: by 2002:a63:b709:: with SMTP id t9-v6mr4090776pgf.269.1527124950944; Wed, 23 May 2018 18:22:30 -0700 (PDT) Received: from joelaf.mtv.corp.google.com ([2620:0:1000:1600:3122:ea9c:d178:eb]) by smtp.gmail.com with ESMTPSA id g15-v6sm26070996pgv.58.2018.05.23.18.22.29 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 23 May 2018 18:22:30 -0700 (PDT) From: Joel Fernandes X-Google-Original-From: Joel Fernandes To: linux-kernel@vger.kernel.org Cc: kernel-team@android.com, "Joel Fernandes (Google)" , Boqun Feng , Byungchul Park , Erick Reyes , Ingo Molnar , Julia Cartwright , linux-kselftest@vger.kernel.org, Masami Hiramatsu , Mathieu Desnoyers , Namhyung Kim , Paul McKenney , Peter Zijlstra , Shuah Khan , Steven Rostedt , Thomas Glexiner , Todd Kjos , Tom Zanussi Subject: [PATCH v7 3/8] srcu: Add notrace variant of srcu_dereference Date: Wed, 23 May 2018 18:21:52 -0700 Message-Id: <20180524012157.181277-4-joel@joelfernandes.org> X-Mailer: git-send-email 2.17.0.441.gb46fe60e1d-goog In-Reply-To: <20180524012157.181277-1-joel@joelfernandes.org> References: <20180524012157.181277-1-joel@joelfernandes.org> 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. 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