On Wed, Jan 23, 2008 at 11:02:55AM -0500, Steven Rostedt wrote: > This patch adds latency tracing for critical timings > (how long interrupts are disabled for). > > "irqsoff" is added to /debugfs/tracing/available_tracers >
> Index: linux-mcount.git/kernel/lockdep.c > =================================================================== > --- linux-mcount.git.orig/kernel/lockdep.c 2008-01-23 10:26:11.000000000 > -0500 > +++ linux-mcount.git/kernel/lockdep.c 2008-01-23 10:27:53.000000000 -0500 > @@ -39,6 +39,7 @@ > #include <linux/irqflags.h> > #include <linux/utsname.h> > #include <linux/hash.h> > +#include <linux/mcount.h> > > #include <asm/sections.h> > > @@ -2009,7 +2010,7 @@ void early_boot_irqs_on(void) > /* > * Hardirqs will be enabled: > */ > -void trace_hardirqs_on(void) > +void notrace trace_hardirqs_on_caller(unsigned long a0) > { > struct task_struct *curr = current; > unsigned long ip; > @@ -2050,14 +2051,24 @@ void trace_hardirqs_on(void) > curr->hardirq_enable_ip = ip; > curr->hardirq_enable_event = ++curr->irq_events; > debug_atomic_inc(&hardirqs_on_events); > + time_hardirqs_on(CALLER_ADDR0, a0); > } > +EXPORT_SYMBOL(trace_hardirqs_on_caller); > > +void notrace trace_hardirqs_on(void) { > + trace_hardirqs_on_caller(CALLER_ADDR0); > +} > EXPORT_SYMBOL(trace_hardirqs_on); > vvvvvvvvvvvvvvvv > +void notrace trace_hardirqs_off(void) { > + trace_hardirqs_off_caller(CALLER_ADDR0); > +} > +EXPORT_SYMBOL(trace_hardirqs_off); > + ^^^^^^^^^^^^^^^^ > /* > * Hardirqs were disabled: > */ > -void trace_hardirqs_off(void) > +void notrace trace_hardirqs_off_caller(unsigned long a0) > { > struct task_struct *curr = current; > > @@ -2075,10 +2086,15 @@ void trace_hardirqs_off(void) > curr->hardirq_disable_ip = _RET_IP_; > curr->hardirq_disable_event = ++curr->irq_events; > debug_atomic_inc(&hardirqs_off_events); > + time_hardirqs_off(CALLER_ADDR0, a0); > } else > debug_atomic_inc(&redundant_hardirqs_off); > } > > +void notrace trace_hardirqs_off(void) { > + trace_hardirqs_off_caller(CALLER_ADDR0); > +} > + > EXPORT_SYMBOL(trace_hardirqs_off); > Bah, I didn't refresh quilt! I'll update the website with a -v5a with this fix. -- Steve > /* -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/