From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752439AbdJSIcx (ORCPT ); Thu, 19 Oct 2017 04:32:53 -0400 Received: from mout.kundenserver.de ([217.72.192.73]:49621 "EHLO mout.kundenserver.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752422AbdJSIcr (ORCPT ); Thu, 19 Oct 2017 04:32:47 -0400 From: Arnd Bergmann To: Steven Rostedt , Ingo Molnar Cc: Arnd Bergmann , Joel Fernandes , linux-kernel@vger.kernel.org Subject: [PATCH] tracing: always define trace_{irq,preempt}_{enable_disable} Date: Thu, 19 Oct 2017 10:32:13 +0200 Message-Id: <20171019083230.2450779-1-arnd@arndb.de> X-Mailer: git-send-email 2.9.0 X-Provags-ID: V03:K0:DdF3wGHIZXgjCopHeKKxbG35Xh3URQ3elWPiV6tpwzUgy84gq/i rrpKreZMLBHkbbZfXexOsAFE6FH9uPeSC9OtZV/CEXjEz3E4+mTRqJ1iuzoTdDqeZzjJXx+ FdqXTH/VlinZjXaq5s86nlzfLbTGLxuKOAx6pLdzNuVGzRied/1WFPgOIA/dX22yhDdFDhS U4NjNv4Zv4rRgk0sS/+VA== X-UI-Out-Filterresults: notjunk:1;V01:K0:KAkBNsm8dQA=:11Zw1nJ23jSFG6KGL0BZrz nyoaxoMqMQNsQOOJ9K2h1fDqumEiWZm3ikUA6Eu7lc/HFNJAZxh/DJfKozep0OQshlpEFR4F0 LF0fqBQJU+S/kUxhonM6MRg9QfT8KeWcy1I8W+HfaeVy/SqPPnis+1I/+SYMvfeaIF++Xfqja KYm42h6d6NJvLlpPCUVa11EllPdxbGx75RMbUXvLa47lncVAFtXRlhOQlw3kjWhao2JMzDBqm BcgETMsJTRlkcGbWPc17D/QYU1JwDhGLhq23FHhu3RRMNb5y7mQ4mVqdbQ+RoAXGb/zKqB/fp QdAz58cEZ0ZTPa9NVzIxP+JNTUpn3N9FG2C5qHK7J3/ML9NzPEINTfW8bmyBG2IlQ1ztpxjWT rCHCHPuf27Bvm0e6oho98szx+SQKk1H3LxJU4E69wB8e/L3LqdanVKkeSNW6eInutEzvZvzpG 5F0cGdRlSGczibiu9JtLUJFOcs8NwI4uTgrjxKxSH/Oejr9mDAwEBzD0DUKDi6Bh9Sx7NltIk oEoD1PW+3bi3IzcYucvjKz138Sqhyf/hAb0tu8sYOyZMyhCfM6TScD+dkGdQYjkVFF5tyikoI onfLYZZtcOJAO/OfBmGCeLvKNhLzZePlT/PkF5ryOfkh6ivbGwegql4PImIgDRrNrWLvxkYFW vJLl0SlMtvXo7U9nDKrtgA9Wc+wxSCfn9fp6O3n7KQq56+Nc/N2DxyxYCQlzGKR9kA/ut31EF eBKTX9pzC/GwmOQ1xFdk8p1HoawFBIGJaa0KeA== Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org We get a build error in the irqsoff tracer in some configurations: kernel/trace/trace_irqsoff.c: In function 'trace_preempt_on': kernel/trace/trace_irqsoff.c:855:2: error: implicit declaration of function 'trace_preempt_enable_rcuidle'; did you mean 'trace_irq_enable_rcuidle'? [-Werror=implicit-function-declaration] trace_preempt_enable_rcuidle(a0, a1); The problem is that trace_preempt_enable_rcuidle() has different definition based on multiple Kconfig symbols, but not all combinations have a valid definition. This changes the conditions so that we always get exactly one definition of each of the four tracing macros. I have not tried to verify that these definitions are sensible, but now we can build all randconfig combinations again. Fixes: d59158162e03 ("tracing: Add support for preempt and irq enable/disable events") Signed-off-by: Arnd Bergmann --- include/trace/events/preemptirq.h | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/include/trace/events/preemptirq.h b/include/trace/events/preemptirq.h index f5024c560d8f..9c4eb33c5a1d 100644 --- a/include/trace/events/preemptirq.h +++ b/include/trace/events/preemptirq.h @@ -56,15 +56,18 @@ DEFINE_EVENT(preemptirq_template, preempt_enable, #include -#else /* !CONFIG_PREEMPTIRQ_EVENTS */ +#endif /* !CONFIG_PREEMPTIRQ_EVENTS */ +#if !defined(CONFIG_PREEMPTIRQ_EVENTS) || defined(CONFIG_PROVE_LOCKING) #define trace_irq_enable(...) #define trace_irq_disable(...) -#define trace_preempt_enable(...) -#define trace_preempt_disable(...) #define trace_irq_enable_rcuidle(...) #define trace_irq_disable_rcuidle(...) +#endif + +#if !defined(CONFIG_PREEMPTIRQ_EVENTS) || !defined(CONFIG_DEBUG_PREEMPT) +#define trace_preempt_enable(...) +#define trace_preempt_disable(...) #define trace_preempt_enable_rcuidle(...) #define trace_preempt_disable_rcuidle(...) - #endif -- 2.9.0