Re: [ath9k-devel] ath9k: massive unexplained latency in 2.6.27(rc5, rc6, probably others)

From: Ingo Molnar
Date: Fri Sep 19 2008 - 04:51:37 EST



* Steven Noonan <steven@xxxxxxxxxxxxxx> wrote:

> On Fri, Sep 19, 2008 at 1:22 AM, Steven Noonan <steven@xxxxxxxxxxxxxx> wrote:
> > On Fri, Sep 19, 2008 at 1:17 AM, Ingo Molnar <mingo@xxxxxxx> wrote:
> >> in tip/master there's an ftrace_printk() facility. You can just replace
> >> the verbose printk()s with ftrace_printk() and see the result in
> >> /debug/tracing/trace.
> >>
> >> This sort of tracing has very low overhead and can be used in an easy
> >> ad-hoc manner with no extra infrastructure. Here's a few quick-start
> >> links about how to enable the scheduler tracer:
> >>
> >> http://redhat.com/~mingo/sched-devel.git/readme-tracer.txt
> >> http://redhat.com/~mingo/sched-devel.git/howto-trace-latencies.txt
> >>
> >> any ftrace_printk() you add in the kernel will show up in that trace.
> >>
> >> (If the scheduling events are uninteresting and clutter the output then
> >> you might want to remove the scheduler tracing entries from kernel/*.c
> >> by removing the trace_sched_*() calls or use a less noisy tracer.)
> >>
> >> to get enough of a trace history you might want to increase the number
> >> of trace entries in /debug/tracing/trace_entries from 16K to 128K or so.
> >>
> >
> > Thanks for the suggestion, I'll do that. :)
> >
>
> It'd be extremely convenient to have a tracer that did absolutely
> nothing but display ftrace_printk()s.

yeah, had the same thought.

Could you please contribute one? :) I'd suggest you take the smallest
tracer as a template: trace_sched_switch.c and turn that into
trace_nop.c - and change all the function names and ASCII and kconfig
glue to 'nop'/'NOP'?

That can then be used as a basis for additional ftrace plugins, or for
ad-hoc temporary tracing.

Ingo
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/