Return-path: Received: from mx3.mail.elte.hu ([157.181.1.138]:40087 "EHLO mx3.mail.elte.hu" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751235AbYISIv0 (ORCPT ); Fri, 19 Sep 2008 04:51:26 -0400 Date: Fri, 19 Sep 2008 10:51:06 +0200 From: Ingo Molnar To: Steven Noonan Cc: "Luis R. Rodriguez" , Luis Rodriguez , "ath9k-devel@lists.ath9k.org" , linux-wireless , LKML , Steven Rostedt Subject: Re: [ath9k-devel] ath9k: massive unexplained latency in 2.6.27 (rc5, rc6, probably others) Message-ID: <20080919085105.GG17592@elte.hu> (sfid-20080919_105130_594486_747B310B) References: <20080918220102.GE7408@tesla> <43e72e890809181508w5232a14ewbf2bf18fe90a92d5@mail.gmail.com> <43e72e890809181610h3a7729d8s4c8484d97b21932e@mail.gmail.com> <20080919030125.GG7408@tesla> <20080919081733.GC19491@elte.hu> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii In-Reply-To: Sender: linux-wireless-owner@vger.kernel.org List-ID: * Steven Noonan wrote: > On Fri, Sep 19, 2008 at 1:22 AM, Steven Noonan wrote: > > On Fri, Sep 19, 2008 at 1:17 AM, Ingo Molnar 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