From: tip-bot for Andi Kleen <tipbot@zytor.com>
To: linux-tip-commits@vger.kernel.org
Cc: ak@linux.intel.com, vincent.weaver@maine.edu,
rostedt@goodmis.org, peterz@infradead.org, tglx@linutronix.de,
efault@gmx.de, linux-kernel@vger.kernel.org, eranian@google.com,
mingo@kernel.org, acme@redhat.com, hpa@zytor.com,
jolsa@redhat.com, torvalds@linux-foundation.org
Subject: [tip:perf/core] tracepoints: Move struct tracepoint to new tracepoint-defs.h header
Date: Fri, 4 Dec 2015 03:59:21 -0800 [thread overview]
Message-ID: <tip-44eed5cd81f3a95ab6dd67b627e0d83a769efa1f@git.kernel.org> (raw)
In-Reply-To: <1449018060-1742-2-git-send-email-andi@firstfloor.org>
Commit-ID: 44eed5cd81f3a95ab6dd67b627e0d83a769efa1f
Gitweb: http://git.kernel.org/tip/44eed5cd81f3a95ab6dd67b627e0d83a769efa1f
Author: Andi Kleen <ak@linux.intel.com>
AuthorDate: Tue, 1 Dec 2015 17:00:58 -0800
Committer: Ingo Molnar <mingo@kernel.org>
CommitDate: Fri, 4 Dec 2015 10:58:34 +0100
tracepoints: Move struct tracepoint to new tracepoint-defs.h header
Steven recommended open coding access to tracepoint->key to add
trace points to headers. Unfortunately this is difficult for some
headers (such as x86 asm/msr.h) because including tracepoint.h
includes so many other headers that it causes include loops.
The main problem is the include of linux/rcupdate.h, which
pulls in a lot of other headers. The rcu header is only needed
when actually defining trace points.
Move the struct tracepoint into a separate tracepoint-defs.h
header that can be included without pulling in all of RCU.
Signed-off-by: Andi Kleen <ak@linux.intel.com>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Acked-by: Steven Rostedt <rostedt@goodmis.org>
Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
Cc: Jiri Olsa <jolsa@redhat.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Mike Galbraith <efault@gmx.de>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Stephane Eranian <eranian@google.com>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Vince Weaver <vincent.weaver@maine.edu>
Link: http://lkml.kernel.org/r/1449018060-1742-2-git-send-email-andi@firstfloor.org
Signed-off-by: Ingo Molnar <mingo@kernel.org>
---
include/linux/tracepoint-defs.h | 27 +++++++++++++++++++++++++++
include/linux/tracepoint.h | 16 +---------------
2 files changed, 28 insertions(+), 15 deletions(-)
diff --git a/include/linux/tracepoint-defs.h b/include/linux/tracepoint-defs.h
new file mode 100644
index 0000000..e1ee97c
--- /dev/null
+++ b/include/linux/tracepoint-defs.h
@@ -0,0 +1,27 @@
+#ifndef TRACEPOINT_DEFS_H
+#define TRACEPOINT_DEFS_H 1
+
+/*
+ * File can be included directly by headers who only want to access
+ * tracepoint->key to guard out of line trace calls. Otherwise
+ * linux/tracepoint.h should be used.
+ */
+
+#include <linux/atomic.h>
+#include <linux/static_key.h>
+
+struct tracepoint_func {
+ void *func;
+ void *data;
+ int prio;
+};
+
+struct tracepoint {
+ const char *name; /* Tracepoint name */
+ struct static_key key;
+ void (*regfunc)(void);
+ void (*unregfunc)(void);
+ struct tracepoint_func __rcu *funcs;
+};
+
+#endif
diff --git a/include/linux/tracepoint.h b/include/linux/tracepoint.h
index 696a339c..f7c732b 100644
--- a/include/linux/tracepoint.h
+++ b/include/linux/tracepoint.h
@@ -17,26 +17,12 @@
#include <linux/errno.h>
#include <linux/types.h>
#include <linux/rcupdate.h>
-#include <linux/static_key.h>
+#include <linux/tracepoint-defs.h>
struct module;
struct tracepoint;
struct notifier_block;
-struct tracepoint_func {
- void *func;
- void *data;
- int prio;
-};
-
-struct tracepoint {
- const char *name; /* Tracepoint name */
- struct static_key key;
- void (*regfunc)(void);
- void (*unregfunc)(void);
- struct tracepoint_func __rcu *funcs;
-};
-
struct trace_enum_map {
const char *system;
const char *enum_string;
next prev parent reply other threads:[~2015-12-04 12:00 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-12-02 1:00 [PATCH 1/4] x86: Don't include asm/processor.h into asm/atomic.h Andi Kleen
2015-12-02 1:00 ` [PATCH 2/4] tracepoints: Move struct tracepoint to new tracepoint-defs.h header Andi Kleen
2015-12-02 1:56 ` Steven Rostedt
2015-12-04 11:59 ` tip-bot for Andi Kleen [this message]
2015-12-06 13:18 ` [tip:perf/core] " tip-bot for Andi Kleen
2015-12-02 1:00 ` [PATCH 3/4] x86: Add trace point for MSR accesses Andi Kleen
2015-12-02 2:03 ` Steven Rostedt
2015-12-04 11:59 ` [tip:perf/core] x86, tracing, perf: " tip-bot for Andi Kleen
2015-12-04 12:11 ` Borislav Petkov
2015-12-04 18:28 ` Andi Kleen
2015-12-04 18:30 ` Borislav Petkov
2015-12-04 22:18 ` Andi Kleen
2015-12-04 22:27 ` Borislav Petkov
2015-12-04 22:35 ` H. Peter Anvin
2015-12-04 22:48 ` Borislav Petkov
2015-12-04 22:57 ` H. Peter Anvin
2015-12-06 13:19 ` tip-bot for Andi Kleen
2015-12-02 1:01 ` [PATCH 4/4] perf, x86: Remove old MSR perf tracing code Andi Kleen
2015-12-04 12:00 ` [tip:perf/core] perf/x86: " tip-bot for Andi Kleen
2015-12-06 13:19 ` tip-bot for Andi Kleen
2015-12-04 11:58 ` [tip:perf/core] x86/headers: Don't include asm/processor.h in asm /atomic.h tip-bot for Andi Kleen
2015-12-06 13:18 ` tip-bot for Andi Kleen
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=tip-44eed5cd81f3a95ab6dd67b627e0d83a769efa1f@git.kernel.org \
--to=tipbot@zytor.com \
--cc=acme@redhat.com \
--cc=ak@linux.intel.com \
--cc=efault@gmx.de \
--cc=eranian@google.com \
--cc=hpa@zytor.com \
--cc=jolsa@redhat.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-tip-commits@vger.kernel.org \
--cc=mingo@kernel.org \
--cc=peterz@infradead.org \
--cc=rostedt@goodmis.org \
--cc=tglx@linutronix.de \
--cc=torvalds@linux-foundation.org \
--cc=vincent.weaver@maine.edu \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.