* [PATCH 0/3] [GIT PULL] tracing: various fixes
@ 2009-11-17 17:12 Steven Rostedt
2009-11-17 17:19 ` Ingo Molnar
0 siblings, 1 reply; 7+ messages in thread
From: Steven Rostedt @ 2009-11-17 17:12 UTC (permalink / raw)
To: linux-kernel; +Cc: Ingo Molnar, Andrew Morton, Frederic Weisbecker
Ingo,
This is based on top of tip/tracing/core.
Please pull the latest tip/tracing/core-1 tree, which can be found at:
git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-2.6-trace.git
tip/tracing/core-1
Lai Jiangshan (1):
tracing: Prevent build warning: 'ftrace_graph_buf' defined but not used
Steven Rostedt (2):
ring-buffer: Move access to commit_page up into function used
tracing: Only print objcopy version warning once from recordmcount
----
Makefile | 1 +
kernel/trace/ftrace.c | 2 +-
kernel/trace/ring_buffer.c | 9 +++------
scripts/recordmcount.pl | 12 ++++++++++--
4 files changed, 15 insertions(+), 9 deletions(-)
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH 0/3] [GIT PULL] tracing: various fixes
2009-11-17 17:12 Steven Rostedt
@ 2009-11-17 17:19 ` Ingo Molnar
0 siblings, 0 replies; 7+ messages in thread
From: Ingo Molnar @ 2009-11-17 17:19 UTC (permalink / raw)
To: Steven Rostedt; +Cc: linux-kernel, Andrew Morton, Frederic Weisbecker
* Steven Rostedt <rostedt@goodmis.org> wrote:
>
> Ingo,
>
> This is based on top of tip/tracing/core.
>
> Please pull the latest tip/tracing/core-1 tree, which can be found at:
>
> git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-2.6-trace.git
> tip/tracing/core-1
>
>
> Lai Jiangshan (1):
> tracing: Prevent build warning: 'ftrace_graph_buf' defined but not used
>
> Steven Rostedt (2):
> ring-buffer: Move access to commit_page up into function used
> tracing: Only print objcopy version warning once from recordmcount
>
> ----
> Makefile | 1 +
> kernel/trace/ftrace.c | 2 +-
> kernel/trace/ring_buffer.c | 9 +++------
> scripts/recordmcount.pl | 12 ++++++++++--
> 4 files changed, 15 insertions(+), 9 deletions(-)
Pulled into tip:tracing/core, thanks Steve!
Ingo
^ permalink raw reply [flat|nested] 7+ messages in thread
* [PATCH 0/3] [GIT PULL] tracing: various fixes
@ 2010-05-06 23:04 Steven Rostedt
2010-05-06 23:05 ` [PATCH 1/3] tracing: Make the documentation clear on trace_event boot option Steven Rostedt
` (3 more replies)
0 siblings, 4 replies; 7+ messages in thread
From: Steven Rostedt @ 2010-05-06 23:04 UTC (permalink / raw)
To: linux-kernel; +Cc: Ingo Molnar, Andrew Morton, Frederic Weisbecker
Ingo,
Please pull the latest tip/tracing/core tree, which can be found at:
git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-2.6-trace.git
tip/tracing/core
Li Zefan (1):
tracing: Make the documentation clear on trace_event boot option
Steven Rostedt (1):
tracing: Fix tracepoint.h DECLARE_TRACE() to allow more than one header
Thiago Farina (1):
tracing: Fix "integer as NULL pointer" warning.
----
Documentation/trace/events.txt | 3 +-
include/linux/tracepoint.h | 114 +++++++++++++++++++++-------------------
include/trace/define_trace.h | 5 ++
include/trace/events/napi.h | 10 +++-
kernel/trace/trace_output.c | 2 +-
5 files changed, 75 insertions(+), 59 deletions(-)
^ permalink raw reply [flat|nested] 7+ messages in thread
* [PATCH 1/3] tracing: Make the documentation clear on trace_event boot option
2010-05-06 23:04 [PATCH 0/3] [GIT PULL] tracing: various fixes Steven Rostedt
@ 2010-05-06 23:05 ` Steven Rostedt
2010-05-06 23:05 ` [PATCH 2/3] tracing: Fix tracepoint.h DECLARE_TRACE() to allow more than one header Steven Rostedt
` (2 subsequent siblings)
3 siblings, 0 replies; 7+ messages in thread
From: Steven Rostedt @ 2010-05-06 23:05 UTC (permalink / raw)
To: linux-kernel; +Cc: Ingo Molnar, Andrew Morton, Frederic Weisbecker, Li Zefan
[-- Attachment #1: 0001-tracing-Make-the-documentation-clear-on-trace_event-.patch --]
[-- Type: text/plain, Size: 959 bytes --]
From: Li Zefan <lizf@cn.fujitsu.com>
Make it clear that event-list is a comma separated list of events.
Reported-by: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
Signed-off-by: Li Zefan <lizf@cn.fujitsu.com>
LKML-Reference: <4B2F154C.2060503@cn.fujitsu.com>
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
---
Documentation/trace/events.txt | 3 ++-
1 files changed, 2 insertions(+), 1 deletions(-)
diff --git a/Documentation/trace/events.txt b/Documentation/trace/events.txt
index 02ac6ed..778ddf3 100644
--- a/Documentation/trace/events.txt
+++ b/Documentation/trace/events.txt
@@ -90,7 +90,8 @@ In order to facilitate early boot debugging, use boot option:
trace_event=[event-list]
-The format of this boot option is the same as described in section 2.1.
+event-list is a comma separated list of events. See section 2.1 for event
+format.
3. Defining an event-enabled tracepoint
=======================================
--
1.7.0
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCH 2/3] tracing: Fix tracepoint.h DECLARE_TRACE() to allow more than one header
2010-05-06 23:04 [PATCH 0/3] [GIT PULL] tracing: various fixes Steven Rostedt
2010-05-06 23:05 ` [PATCH 1/3] tracing: Make the documentation clear on trace_event boot option Steven Rostedt
@ 2010-05-06 23:05 ` Steven Rostedt
2010-05-06 23:05 ` [PATCH 3/3] tracing: Fix "integer as NULL pointer" warning Steven Rostedt
2010-05-07 6:34 ` [PATCH 0/3] [GIT PULL] tracing: various fixes Ingo Molnar
3 siblings, 0 replies; 7+ messages in thread
From: Steven Rostedt @ 2010-05-06 23:05 UTC (permalink / raw)
To: linux-kernel
Cc: Ingo Molnar, Andrew Morton, Frederic Weisbecker, Neil Horman,
David S. Miller, Mathieu Desnoyers
[-- Attachment #1: 0002-tracing-Fix-tracepoint.h-DECLARE_TRACE-to-allow-more.patch --]
[-- Type: text/plain, Size: 7329 bytes --]
From: Steven Rostedt <srostedt@redhat.com>
When more than one header is included under CREATE_TRACE_POINTS
the DECLARE_TRACE() macro is not defined back to its original meaning
and the second include will fail to initialize the TRACE_EVENT()
and DECLARE_TRACE() correctly.
To fix this the tracepoint.h file moves the define of DECLARE_TRACE()
out of the #ifdef _LINUX_TRACEPOINT_H protection (just like the
define of the TRACE_EVENT()). This way the define_trace.h will undef
the DECLARE_TRACE() at the end and allow new headers to start
from scratch.
This patch also requires fixing the include/events/napi.h
It currently uses DECLARE_TRACE() and should be converted to a TRACE_EVENT()
format. But I'll leave that change to the authors of that file.
But since the napi.h file depends on using the CREATE_TRACE_POINTS
and does not define its own DEFINE_TRACE() it must use the define_trace.h
method instead.
Cc: Neil Horman <nhorman@tuxdriver.com>
Cc: David S. Miller <davem@davemloft.net>
Cc: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
---
include/linux/tracepoint.h | 114 ++++++++++++++++++++++--------------------
include/trace/define_trace.h | 5 ++
include/trace/events/napi.h | 10 +++-
3 files changed, 72 insertions(+), 57 deletions(-)
diff --git a/include/linux/tracepoint.h b/include/linux/tracepoint.h
index 78b4bd3..1d85f9a 100644
--- a/include/linux/tracepoint.h
+++ b/include/linux/tracepoint.h
@@ -33,6 +33,65 @@ struct tracepoint {
* Keep in sync with vmlinux.lds.h.
*/
+/*
+ * Connect a probe to a tracepoint.
+ * Internal API, should not be used directly.
+ */
+extern int tracepoint_probe_register(const char *name, void *probe);
+
+/*
+ * Disconnect a probe from a tracepoint.
+ * Internal API, should not be used directly.
+ */
+extern int tracepoint_probe_unregister(const char *name, void *probe);
+
+extern int tracepoint_probe_register_noupdate(const char *name, void *probe);
+extern int tracepoint_probe_unregister_noupdate(const char *name, void *probe);
+extern void tracepoint_probe_update_all(void);
+
+struct tracepoint_iter {
+ struct module *module;
+ struct tracepoint *tracepoint;
+};
+
+extern void tracepoint_iter_start(struct tracepoint_iter *iter);
+extern void tracepoint_iter_next(struct tracepoint_iter *iter);
+extern void tracepoint_iter_stop(struct tracepoint_iter *iter);
+extern void tracepoint_iter_reset(struct tracepoint_iter *iter);
+extern int tracepoint_get_iter_range(struct tracepoint **tracepoint,
+ struct tracepoint *begin, struct tracepoint *end);
+
+/*
+ * tracepoint_synchronize_unregister must be called between the last tracepoint
+ * probe unregistration and the end of module exit to make sure there is no
+ * caller executing a probe when it is freed.
+ */
+static inline void tracepoint_synchronize_unregister(void)
+{
+ synchronize_sched();
+}
+
+#define PARAMS(args...) args
+
+#ifdef CONFIG_TRACEPOINTS
+extern void tracepoint_update_probe_range(struct tracepoint *begin,
+ struct tracepoint *end);
+#else
+static inline void tracepoint_update_probe_range(struct tracepoint *begin,
+ struct tracepoint *end)
+{ }
+#endif /* CONFIG_TRACEPOINTS */
+
+#endif /* _LINUX_TRACEPOINT_H */
+
+/*
+ * Note: we keep the TRACE_EVENT and DECLARE_TRACE outside the include
+ * file ifdef protection.
+ * This is due to the way trace events work. If a file includes two
+ * trace event headers under one "CREATE_TRACE_POINTS" the first include
+ * will override the TRACE_EVENT and break the second include.
+ */
+
#ifndef DECLARE_TRACE
#define TP_PROTO(args...) args
@@ -96,9 +155,6 @@ struct tracepoint {
#define EXPORT_TRACEPOINT_SYMBOL(name) \
EXPORT_SYMBOL(__tracepoint_##name)
-extern void tracepoint_update_probe_range(struct tracepoint *begin,
- struct tracepoint *end);
-
#else /* !CONFIG_TRACEPOINTS */
#define DECLARE_TRACE(name, proto, args) \
static inline void _do_trace_##name(struct tracepoint *tp, proto) \
@@ -119,61 +175,9 @@ extern void tracepoint_update_probe_range(struct tracepoint *begin,
#define EXPORT_TRACEPOINT_SYMBOL_GPL(name)
#define EXPORT_TRACEPOINT_SYMBOL(name)
-static inline void tracepoint_update_probe_range(struct tracepoint *begin,
- struct tracepoint *end)
-{ }
#endif /* CONFIG_TRACEPOINTS */
#endif /* DECLARE_TRACE */
-/*
- * Connect a probe to a tracepoint.
- * Internal API, should not be used directly.
- */
-extern int tracepoint_probe_register(const char *name, void *probe);
-
-/*
- * Disconnect a probe from a tracepoint.
- * Internal API, should not be used directly.
- */
-extern int tracepoint_probe_unregister(const char *name, void *probe);
-
-extern int tracepoint_probe_register_noupdate(const char *name, void *probe);
-extern int tracepoint_probe_unregister_noupdate(const char *name, void *probe);
-extern void tracepoint_probe_update_all(void);
-
-struct tracepoint_iter {
- struct module *module;
- struct tracepoint *tracepoint;
-};
-
-extern void tracepoint_iter_start(struct tracepoint_iter *iter);
-extern void tracepoint_iter_next(struct tracepoint_iter *iter);
-extern void tracepoint_iter_stop(struct tracepoint_iter *iter);
-extern void tracepoint_iter_reset(struct tracepoint_iter *iter);
-extern int tracepoint_get_iter_range(struct tracepoint **tracepoint,
- struct tracepoint *begin, struct tracepoint *end);
-
-/*
- * tracepoint_synchronize_unregister must be called between the last tracepoint
- * probe unregistration and the end of module exit to make sure there is no
- * caller executing a probe when it is freed.
- */
-static inline void tracepoint_synchronize_unregister(void)
-{
- synchronize_sched();
-}
-
-#define PARAMS(args...) args
-
-#endif /* _LINUX_TRACEPOINT_H */
-
-/*
- * Note: we keep the TRACE_EVENT outside the include file ifdef protection.
- * This is due to the way trace events work. If a file includes two
- * trace event headers under one "CREATE_TRACE_POINTS" the first include
- * will override the TRACE_EVENT and break the second include.
- */
-
#ifndef TRACE_EVENT
/*
* For use with the TRACE_EVENT macro:
diff --git a/include/trace/define_trace.h b/include/trace/define_trace.h
index 5acfb1e..1dfab54 100644
--- a/include/trace/define_trace.h
+++ b/include/trace/define_trace.h
@@ -65,6 +65,10 @@
#include TRACE_INCLUDE(TRACE_INCLUDE_FILE)
+/* Make all open coded DECLARE_TRACE nops */
+#undef DECLARE_TRACE
+#define DECLARE_TRACE(name, proto, args)
+
#ifdef CONFIG_EVENT_TRACING
#include <trace/ftrace.h>
#endif
@@ -75,6 +79,7 @@
#undef DEFINE_EVENT
#undef DEFINE_EVENT_PRINT
#undef TRACE_HEADER_MULTI_READ
+#undef DECLARE_TRACE
/* Only undef what we defined in this file */
#ifdef UNDEF_TRACE_INCLUDE_FILE
diff --git a/include/trace/events/napi.h b/include/trace/events/napi.h
index a8989c4..188deca 100644
--- a/include/trace/events/napi.h
+++ b/include/trace/events/napi.h
@@ -1,4 +1,7 @@
-#ifndef _TRACE_NAPI_H_
+#undef TRACE_SYSTEM
+#define TRACE_SYSTEM napi
+
+#if !defined(_TRACE_NAPI_H) || defined(TRACE_HEADER_MULTI_READ)
#define _TRACE_NAPI_H_
#include <linux/netdevice.h>
@@ -8,4 +11,7 @@ DECLARE_TRACE(napi_poll,
TP_PROTO(struct napi_struct *napi),
TP_ARGS(napi));
-#endif
+#endif /* _TRACE_NAPI_H_ */
+
+/* This part must be outside protection */
+#include <trace/define_trace.h>
--
1.7.0
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCH 3/3] tracing: Fix "integer as NULL pointer" warning.
2010-05-06 23:04 [PATCH 0/3] [GIT PULL] tracing: various fixes Steven Rostedt
2010-05-06 23:05 ` [PATCH 1/3] tracing: Make the documentation clear on trace_event boot option Steven Rostedt
2010-05-06 23:05 ` [PATCH 2/3] tracing: Fix tracepoint.h DECLARE_TRACE() to allow more than one header Steven Rostedt
@ 2010-05-06 23:05 ` Steven Rostedt
2010-05-07 6:34 ` [PATCH 0/3] [GIT PULL] tracing: various fixes Ingo Molnar
3 siblings, 0 replies; 7+ messages in thread
From: Steven Rostedt @ 2010-05-06 23:05 UTC (permalink / raw)
To: linux-kernel
Cc: Ingo Molnar, Andrew Morton, Frederic Weisbecker, Thiago Farina
[-- Attachment #1: 0003-tracing-Fix-integer-as-NULL-pointer-warning.patch --]
[-- Type: text/plain, Size: 770 bytes --]
From: Thiago Farina <tfransosi@gmail.com>
kernel/trace/trace_output.c:256:24: warning: Using plain integer as NULL pointer
Signed-off-by: Thiago Farina <tfransosi@gmail.com>
LKML-Reference: <1264349038-1766-3-git-send-email-tfransosi@gmail.com>
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
---
kernel/trace/trace_output.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/kernel/trace/trace_output.c b/kernel/trace/trace_output.c
index 8e46b33..2404c12 100644
--- a/kernel/trace/trace_output.c
+++ b/kernel/trace/trace_output.c
@@ -253,7 +253,7 @@ void *trace_seq_reserve(struct trace_seq *s, size_t len)
void *ret;
if (s->full)
- return 0;
+ return NULL;
if (len > ((PAGE_SIZE - 1) - s->len)) {
s->full = 1;
--
1.7.0
^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [PATCH 0/3] [GIT PULL] tracing: various fixes
2010-05-06 23:04 [PATCH 0/3] [GIT PULL] tracing: various fixes Steven Rostedt
` (2 preceding siblings ...)
2010-05-06 23:05 ` [PATCH 3/3] tracing: Fix "integer as NULL pointer" warning Steven Rostedt
@ 2010-05-07 6:34 ` Ingo Molnar
3 siblings, 0 replies; 7+ messages in thread
From: Ingo Molnar @ 2010-05-07 6:34 UTC (permalink / raw)
To: Steven Rostedt; +Cc: linux-kernel, Andrew Morton, Frederic Weisbecker
* Steven Rostedt <rostedt@goodmis.org> wrote:
> Ingo,
>
> Please pull the latest tip/tracing/core tree, which can be found at:
>
> git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-2.6-trace.git
> tip/tracing/core
>
>
> Li Zefan (1):
> tracing: Make the documentation clear on trace_event boot option
>
> Steven Rostedt (1):
> tracing: Fix tracepoint.h DECLARE_TRACE() to allow more than one header
>
> Thiago Farina (1):
> tracing: Fix "integer as NULL pointer" warning.
>
> ----
> Documentation/trace/events.txt | 3 +-
> include/linux/tracepoint.h | 114 +++++++++++++++++++++-------------------
> include/trace/define_trace.h | 5 ++
> include/trace/events/napi.h | 10 +++-
> kernel/trace/trace_output.c | 2 +-
> 5 files changed, 75 insertions(+), 59 deletions(-)
Pulled, thanks Steve!
Ingo
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2010-05-07 6:34 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-05-06 23:04 [PATCH 0/3] [GIT PULL] tracing: various fixes Steven Rostedt
2010-05-06 23:05 ` [PATCH 1/3] tracing: Make the documentation clear on trace_event boot option Steven Rostedt
2010-05-06 23:05 ` [PATCH 2/3] tracing: Fix tracepoint.h DECLARE_TRACE() to allow more than one header Steven Rostedt
2010-05-06 23:05 ` [PATCH 3/3] tracing: Fix "integer as NULL pointer" warning Steven Rostedt
2010-05-07 6:34 ` [PATCH 0/3] [GIT PULL] tracing: various fixes Ingo Molnar
-- strict thread matches above, loose matches on Subject: below --
2009-11-17 17:12 Steven Rostedt
2009-11-17 17:19 ` Ingo Molnar
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox