Received: by 2002:ac0:bc90:0:0:0:0:0 with SMTP id a16csp1189940img; Fri, 22 Mar 2019 18:30:45 -0700 (PDT) X-Google-Smtp-Source: APXvYqxpic6GveT3BkCTNSherPPmgbi7evfn0+aY2lecO+R5pID9aAfyHxbYNx18eU14eTqwocIN X-Received: by 2002:a65:65c5:: with SMTP id y5mr12036461pgv.192.1553304644932; Fri, 22 Mar 2019 18:30:44 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1553304644; cv=none; d=google.com; s=arc-20160816; b=WoaoTHkX11a79OeZv0exhewZJgKA1OGRye8Rv4ptUJEGtXQ8m0ayyRI6dN0iGFVQcq DQSr9gP17Ybh+o8JdNXqXKNvbJ1yORSFsHXFvMYGmpePSiVQ1C4znKAPNciorPQ65wQ9 BGr9Fm1/GJXcSEQYAje6pxCxEYkaTur2LqluLIyar0ZmBIkLTi9L7txwE/GCouXNYg/W /27cDUcVkTtcB7IY3Fk7xAFOSQoDMFHya8riVokwycJ81HCplLTGFUvQ/UD7IScWvGFM 16K+9N+2Jn+9AlShZuEy2XMtxSr2NKJ7xMU5fNLF8VLw7Cy/SLJsdaLZklecR+Dt3HV9 6wHA== 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:mime-version :message-id:date:subject:cc:to:from:dkim-signature; bh=mcfGpLZ/prG7lz5ZeezGWFN0M8VgvLKSLKqebLRCioU=; b=SeAjBJNXZeQ44ruIl9iGIunqi/skG88WKakm9NvUA/br0fSdxz+mMNTLISbWo51Aes G0Qd8dQ3KsrayLKq31puNzysZ4MxwKVEF1Uq6sfZhVh445OVnoteoW+tyUecSIE/Il1x 813TuNgN1+d6H2Keug2CCTjpGH2AYDtXkSm1cZ7TjyCLIa/ER0JCv2pwxLpFoUObhXcB c48XHCusZyH0OYHdbe2y7T97MgqE2tulR3ISzJv328Mvyq5NUkRaFPyi/KzHE9HDoJgh TIXN226+JnbCLE6MsjNLmvu2uQarJeliUmu8x+BURloVDdJlpAkXPBMYuUXX1hCPGTzK 7ywg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@joelfernandes.org header.s=google header.b=g7dDrUEG; 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 k6si6335232pls.254.2019.03.22.18.30.29; Fri, 22 Mar 2019 18:30:44 -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=@joelfernandes.org header.s=google header.b=g7dDrUEG; 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 S1728185AbfCWB3v (ORCPT + 99 others); Fri, 22 Mar 2019 21:29:51 -0400 Received: from mail-pg1-f193.google.com ([209.85.215.193]:41166 "EHLO mail-pg1-f193.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727611AbfCWB3u (ORCPT ); Fri, 22 Mar 2019 21:29:50 -0400 Received: by mail-pg1-f193.google.com with SMTP id k11so2628587pgb.8 for ; Fri, 22 Mar 2019 18:29:50 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=joelfernandes.org; s=google; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=mcfGpLZ/prG7lz5ZeezGWFN0M8VgvLKSLKqebLRCioU=; b=g7dDrUEG6uBqA15uf7UaWGgqIvG7n4jiUvT0XGLzafLVJiJfhb5Az0KsOl8SUFuglp AQq7aplnmpJ4ONpETK8x/9ziCdNOsNwZv77791lDtCFyKmWmZwUC3fDgD9N2oybJ4JcS 27SbRBxtYtkp1AxrKJYrP1G5P09JOy93GSlVA= 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:mime-version :content-transfer-encoding; bh=mcfGpLZ/prG7lz5ZeezGWFN0M8VgvLKSLKqebLRCioU=; b=isT52Ft3iY0XEv92N7NJa82uAR0zHTO4CJebRClfn4KWoZWcK4czLh1xh56cCIHO7/ Vrth+pWrZXSUX/eBZCLS7rUFunMlQg7YemseZWucxQWkcr+51YxxxbnYR8pX1rjzZbmn dxu54VbTmuTEP4MUytPkk1FG3cgiLy1kry5RTqsuaBvu8Jg1LNprmFTO44zbi9Y2j7hC StFw50a+TJHvGBZq3Qg3QQvSz3kooJqBxz6hL7PgS53S9RJVnBOAogboWDKSylYzweWl UZ8nsqQ0a+9Hnxx+YFZwfrtelEeLCWQuAfSD8p/gj4/TP3hnUio6qiE+wnckgskkXj9X M91A== X-Gm-Message-State: APjAAAUPH/bhKBie9Nh4x2+bDHmtg6fx258n0PN7aO/p1ooybroodvLy o2hOQ3rtcAwF1sZvuaNhBHAIr0JfSsU= X-Received: by 2002:a17:902:8c8a:: with SMTP id t10mr12878572plo.160.1553304589254; Fri, 22 Mar 2019 18:29:49 -0700 (PDT) Received: from joelaf.cam.corp.google.com ([2620:15c:6:12:9c46:e0da:efbf:69cc]) by smtp.gmail.com with ESMTPSA id l7sm26672525pfj.162.2019.03.22.18.29.46 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 22 Mar 2019 18:29:48 -0700 (PDT) From: "Joel Fernandes (Google)" To: linux-kernel@vger.kernel.org Cc: "Joel Fernandes (Google)" , Steven Rostedt , kernel-team@android.com, rcu@vger.kernel.org, byungchul.park@lge.com, Ingo Molnar , Josh Triplett , Lai Jiangshan , Mathieu Desnoyers , "Paul E. McKenney" , Peter Zijlstra , Will Deacon Subject: [RFC 1/2] lockdep: Add assertion to check if in an interrupt Date: Fri, 22 Mar 2019 21:29:38 -0400 Message-Id: <20190323012939.15185-1-joel@joelfernandes.org> X-Mailer: git-send-email 2.21.0.392.gf8f6787159e-goog MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org In rcu_rrupt_from_idle, we want to check if it is called from within an interrupt, but want to do such checking only for debug builds. lockdep already tracks when we enter an interrupt. Let us expose it as an assertion macro so it can be used to assert this. Suggested-by: Steven Rostedt Cc: kernel-team@android.com Cc: rcu@vger.kernel.org Signed-off-by: Joel Fernandes (Google) --- include/linux/lockdep.h | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/include/linux/lockdep.h b/include/linux/lockdep.h index c5335df2372f..d24f564823d3 100644 --- a/include/linux/lockdep.h +++ b/include/linux/lockdep.h @@ -601,11 +601,18 @@ do { \ "IRQs not disabled as expected\n"); \ } while (0) +#define lockdep_assert_in_irq() do { \ + WARN_ONCE(debug_locks && !current->lockdep_recursion && \ + !current->hardirq_context, \ + "Not in hardirq as expected\n"); \ + } while (0) + #else # define might_lock(lock) do { } while (0) # define might_lock_read(lock) do { } while (0) # define lockdep_assert_irqs_enabled() do { } while (0) # define lockdep_assert_irqs_disabled() do { } while (0) +# define lockdep_assert_in_irq() do { } while (0) #endif #ifdef CONFIG_LOCKDEP -- 2.21.0.392.gf8f6787159e-goog