* [PATCH 0/2][GIT PULL][v2.6.34] tracing: fixes
@ 2010-03-25 1:02 Steven Rostedt
2010-03-25 1:02 ` [PATCH 1/2] tracing: Reduce overhead of module tracepoints Steven Rostedt
2010-03-25 1:02 ` [PATCH 2/2] tracing: Fix lockdep warning in global_clock() Steven Rostedt
0 siblings, 2 replies; 5+ messages in thread
From: Steven Rostedt @ 2010-03-25 1:02 UTC (permalink / raw)
To: linux-kernel; +Cc: Ingo Molnar, Andrew Morton, Frederic Weisbecker
Ingo,
Please pull the latest tip/tracing/urgent tree, which can be found at:
git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-2.6-trace.git
tip/tracing/urgent
Li Zefan (2):
tracing: Reduce overhead of module tracepoints
tracing: Fix lockdep warning in global_clock()
----
include/linux/module.h | 6 ++----
include/trace/events/module.h | 14 +++++++-------
kernel/module.c | 3 +--
kernel/trace/trace_clock.c | 4 ++--
4 files changed, 12 insertions(+), 15 deletions(-)
^ permalink raw reply [flat|nested] 5+ messages in thread* [PATCH 1/2] tracing: Reduce overhead of module tracepoints 2010-03-25 1:02 [PATCH 0/2][GIT PULL][v2.6.34] tracing: fixes Steven Rostedt @ 2010-03-25 1:02 ` Steven Rostedt 2010-03-25 1:02 ` [PATCH 2/2] tracing: Fix lockdep warning in global_clock() Steven Rostedt 1 sibling, 0 replies; 5+ messages in thread From: Steven Rostedt @ 2010-03-25 1:02 UTC (permalink / raw) To: linux-kernel Cc: Ingo Molnar, Andrew Morton, Frederic Weisbecker, Mathieu Desnoyers, Li Zefan [-- Attachment #1: 0001-tracing-Reduce-overhead-of-module-tracepoints.patch --] [-- Type: text/plain, Size: 3198 bytes --] From: Li Zefan <lizf@cn.fujitsu.com> Remove the @refcnt argument, because it has side-effects, and arguments with side-effects are not skipped by the jump over disabled instrumentation, so it adds overhead even when the tracepoints are disabled. Tested-by: Randy Dunlap <randy.dunlap@oracle.com> Acked-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com> Signed-off-by: Li Zefan <lizf@cn.fujitsu.com> LKML-Reference: <4BA97FA7.6040406@cn.fujitsu.com> Signed-off-by: Steven Rostedt <rostedt@goodmis.org> --- include/linux/module.h | 6 ++---- include/trace/events/module.h | 14 +++++++------- kernel/module.c | 3 +-- 3 files changed, 10 insertions(+), 13 deletions(-) diff --git a/include/linux/module.h b/include/linux/module.h index 5e869ff..393ec39 100644 --- a/include/linux/module.h +++ b/include/linux/module.h @@ -460,8 +460,7 @@ static inline void __module_get(struct module *module) if (module) { preempt_disable(); __this_cpu_inc(module->refptr->count); - trace_module_get(module, _THIS_IP_, - __this_cpu_read(module->refptr->count)); + trace_module_get(module, _THIS_IP_); preempt_enable(); } } @@ -475,8 +474,7 @@ static inline int try_module_get(struct module *module) if (likely(module_is_live(module))) { __this_cpu_inc(module->refptr->count); - trace_module_get(module, _THIS_IP_, - __this_cpu_read(module->refptr->count)); + trace_module_get(module, _THIS_IP_); } else ret = 0; diff --git a/include/trace/events/module.h b/include/trace/events/module.h index 4b0f48b..a585f81 100644 --- a/include/trace/events/module.h +++ b/include/trace/events/module.h @@ -53,9 +53,9 @@ TRACE_EVENT(module_free, DECLARE_EVENT_CLASS(module_refcnt, - TP_PROTO(struct module *mod, unsigned long ip, int refcnt), + TP_PROTO(struct module *mod, unsigned long ip), - TP_ARGS(mod, ip, refcnt), + TP_ARGS(mod, ip), TP_STRUCT__entry( __field( unsigned long, ip ) @@ -65,7 +65,7 @@ DECLARE_EVENT_CLASS(module_refcnt, TP_fast_assign( __entry->ip = ip; - __entry->refcnt = refcnt; + __entry->refcnt = __this_cpu_read(mod->refptr->count); __assign_str(name, mod->name); ), @@ -75,16 +75,16 @@ DECLARE_EVENT_CLASS(module_refcnt, DEFINE_EVENT(module_refcnt, module_get, - TP_PROTO(struct module *mod, unsigned long ip, int refcnt), + TP_PROTO(struct module *mod, unsigned long ip), - TP_ARGS(mod, ip, refcnt) + TP_ARGS(mod, ip) ); DEFINE_EVENT(module_refcnt, module_put, - TP_PROTO(struct module *mod, unsigned long ip, int refcnt), + TP_PROTO(struct module *mod, unsigned long ip), - TP_ARGS(mod, ip, refcnt) + TP_ARGS(mod, ip) ); TRACE_EVENT(module_request, diff --git a/kernel/module.c b/kernel/module.c index c968d36..21591ad 100644 --- a/kernel/module.c +++ b/kernel/module.c @@ -800,8 +800,7 @@ void module_put(struct module *module) preempt_disable(); __this_cpu_dec(module->refptr->count); - trace_module_put(module, _RET_IP_, - __this_cpu_read(module->refptr->count)); + trace_module_put(module, _RET_IP_); /* Maybe they're waiting for us to drop reference? */ if (unlikely(!module_is_live(module))) wake_up_process(module->waiter); -- 1.7.0 ^ permalink raw reply [flat|nested] 5+ messages in thread
* [PATCH 2/2] tracing: Fix lockdep warning in global_clock() 2010-03-25 1:02 [PATCH 0/2][GIT PULL][v2.6.34] tracing: fixes Steven Rostedt 2010-03-25 1:02 ` [PATCH 1/2] tracing: Reduce overhead of module tracepoints Steven Rostedt @ 2010-03-25 1:02 ` Steven Rostedt 1 sibling, 0 replies; 5+ messages in thread From: Steven Rostedt @ 2010-03-25 1:02 UTC (permalink / raw) To: linux-kernel Cc: Ingo Molnar, Andrew Morton, Frederic Weisbecker, Peter Zijlstra, Li Zefan [-- Attachment #1: 0002-tracing-Fix-lockdep-warning-in-global_clock.patch --] [-- Type: text/plain, Size: 1291 bytes --] From: Li Zefan <lizf@cn.fujitsu.com> # echo 1 > events/enable # echo global > trace_clock ------------[ cut here ]------------ WARNING: at kernel/lockdep.c:3162 check_flags+0xb2/0x190() ... ---[ end trace 3f86734a89416623 ]--- possible reason: unannotated irqs-on. ... There's no reason to use the raw_local_irq_save() in trace_clock_global. The local_irq_save() version is fine, and does not cause the bug in lockdep. Acked-by: Peter Zijlstra <a.p.zijlstra@chello.nl> Signed-off-by: Li Zefan <lizf@cn.fujitsu.com> LKML-Reference: <4BA97FA1.7030606@cn.fujitsu.com> Signed-off-by: Steven Rostedt <rostedt@goodmis.org> --- kernel/trace/trace_clock.c | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) diff --git a/kernel/trace/trace_clock.c b/kernel/trace/trace_clock.c index 6fbfb8f..9d589d8 100644 --- a/kernel/trace/trace_clock.c +++ b/kernel/trace/trace_clock.c @@ -84,7 +84,7 @@ u64 notrace trace_clock_global(void) int this_cpu; u64 now; - raw_local_irq_save(flags); + local_irq_save(flags); this_cpu = raw_smp_processor_id(); now = cpu_clock(this_cpu); @@ -110,7 +110,7 @@ u64 notrace trace_clock_global(void) arch_spin_unlock(&trace_clock_struct.lock); out: - raw_local_irq_restore(flags); + local_irq_restore(flags); return now; } -- 1.7.0 ^ permalink raw reply [flat|nested] 5+ messages in thread
* [PATCH 0/2] [GIT PULL][v2.6.34] tracing: fixes
@ 2010-03-30 2:58 Steven Rostedt
2010-04-02 20:07 ` Ingo Molnar
0 siblings, 1 reply; 5+ messages in thread
From: Steven Rostedt @ 2010-03-30 2:58 UTC (permalink / raw)
To: linux-kernel; +Cc: Ingo Molnar, Andrew Morton, Frederic Weisbecker
Ingo,
I rebased my branch against yours and removed the module patch
since it looks like it is no longer urgent. I moved it over to
my core branch along with a fix to the compile error you saw with it.
I'll be pushing that later this week.
These two patchs still should go into 34.
Please pull the latest tip/tracing/urgent tree, which can be found at:
git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-2.6-trace.git
tip/tracing/urgent
Julia Lawall (1):
ring-buffer: Add missing unlock
Li Zefan (1):
tracing: Fix lockdep warning in global_clock()
----
kernel/trace/ring_buffer.c | 8 +++++---
kernel/trace/trace_clock.c | 4 ++--
2 files changed, 7 insertions(+), 5 deletions(-)
^ permalink raw reply [flat|nested] 5+ messages in thread* Re: [PATCH 0/2] [GIT PULL][v2.6.34] tracing: fixes 2010-03-30 2:58 [PATCH 0/2] [GIT PULL][v2.6.34] tracing: fixes Steven Rostedt @ 2010-04-02 20:07 ` Ingo Molnar 0 siblings, 0 replies; 5+ messages in thread From: Ingo Molnar @ 2010-04-02 20:07 UTC (permalink / raw) To: Steven Rostedt; +Cc: linux-kernel, Andrew Morton, Frederic Weisbecker * Steven Rostedt <rostedt@goodmis.org> wrote: > Ingo, > > I rebased my branch against yours and removed the module patch since it > looks like it is no longer urgent. I moved it over to my core branch along > with a fix to the compile error you saw with it. I'll be pushing that later > this week. > > These two patchs still should go into 34. > > Please pull the latest tip/tracing/urgent tree, which can be found at: > > git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-2.6-trace.git > tip/tracing/urgent > > > Julia Lawall (1): > ring-buffer: Add missing unlock > > Li Zefan (1): > tracing: Fix lockdep warning in global_clock() > > ---- > kernel/trace/ring_buffer.c | 8 +++++--- > kernel/trace/trace_clock.c | 4 ++-- > 2 files changed, 7 insertions(+), 5 deletions(-) Pulled, thanks Steve! Ingo ^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2010-04-02 20:07 UTC | newest] Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2010-03-25 1:02 [PATCH 0/2][GIT PULL][v2.6.34] tracing: fixes Steven Rostedt 2010-03-25 1:02 ` [PATCH 1/2] tracing: Reduce overhead of module tracepoints Steven Rostedt 2010-03-25 1:02 ` [PATCH 2/2] tracing: Fix lockdep warning in global_clock() Steven Rostedt 2010-03-30 2:58 [PATCH 0/2] [GIT PULL][v2.6.34] tracing: fixes Steven Rostedt 2010-04-02 20:07 ` Ingo Molnar
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®