Steven Rostedt 
							
						 
					 
					
						
						
						
						
							
						
						
							3ce83aea86 
							
						 
					 
					
						
						
							
							ftrace: rename the ftrace tracer to function  
						
						... 
						
						
						
						To avoid further confusion between the ftrace infrastructure and the
function tracer. This patch renames the "ftrace" function tracer
to "function".
Now in available_tracers, instead of "ftrace" there will be "function".
This makes more sense, since people will not know exactly what the
"ftrace" tracer does.
Signed-off-by: Steven Rostedt <srostedt@redhat.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu> 
						
					 
					
						2008-10-20 18:27:04 +02:00 
						 
				 
			
				
					
						
							
							
								Steven Rostedt 
							
						 
					 
					
						
						
						
						
							
						
						
							3928a8a2d9 
							
						 
					 
					
						
						
							
							ftrace: make work with new ring buffer  
						
						... 
						
						
						
						This patch ports ftrace over to the new ring buffer.
Signed-off-by: Steven Rostedt <srostedt@redhat.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu> 
						
					 
					
						2008-10-14 10:38:57 +02:00 
						 
				 
			
				
					
						
							
							
								Steven Rostedt 
							
						 
					 
					
						
						
						
						
							
						
						
							26bc83f4cb 
							
						 
					 
					
						
						
							
							ftrace: use current CPU for function startup  
						
						... 
						
						
						
						This is more of a clean up. Currently the function tracer initializes the
tracer with which ever CPU was last used for tracing. This value isn't
realy useful for function tracing, but at least it should be something other
than a random number.
Signed-off-by: Steven Rostedt <srostedt@redhat.com>
Cc: Steven Rostedt <srostedt@redhat.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Ingo Molnar <mingo@elte.hu> 
						
					 
					
						2008-07-11 15:49:21 +02:00 
						 
				 
			
				
					
						
							
							
								Steven Rostedt 
							
						 
					 
					
						
						
						
						
							
						
						
							41bc8144d0 
							
						 
					 
					
						
						
							
							ftrace: fix up cmdline recording  
						
						... 
						
						
						
						The new work with converting the trace hooks over to markers broke the
command line recording of ftrace. This patch fixes it again.
Signed-off-by: Steven Rostedt <srostedt@redhat.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de> 
						
					 
					
						2008-05-26 22:51:49 +02:00 
						 
				 
			
				
					
						
							
							
								Steven Rostedt 
							
						 
					 
					
						
						
						
						
							
						
						
							25b0b44a1c 
							
						 
					 
					
						
						
							
							ftrace: fix comm on function trace output  
						
						... 
						
						
						
						In cleaning up of the sched_switch code, the function trace recording
of task comms was removed. This patch adds back the recording of comms
for function trace. The output of ftrace now has the task comm instead
of <...>.
Signed-off-by: Steven Rostedt <srostedt@redhat.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de> 
						
					 
					
						2008-05-23 21:52:12 +02:00 
						 
				 
			
				
					
						
							
							
								Ingo Molnar 
							
						 
					 
					
						
						
						
						
							
						
						
							e309b41dd6 
							
						 
					 
					
						
						
							
							ftrace: remove notrace  
						
						... 
						
						
						
						now that we have a kbuild method for notrace, no need to pollute the
C code with the annotations.
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de> 
						
					 
					
						2008-05-23 20:58:28 +02:00 
						 
				 
			
				
					
						
							
							
								Ingo Molnar 
							
						 
					 
					
						
						
						
						
							
						
						
							2e0f576185 
							
						 
					 
					
						
						
							
							ftrace: build fix  
						
						... 
						
						
						
						Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de> 
						
					 
					
						2008-05-23 20:54:47 +02:00 
						 
				 
			
				
					
						
							
							
								Ingo Molnar 
							
						 
					 
					
						
						
						
						
							
						
						
							750ed1a407 
							
						 
					 
					
						
						
							
							ftrace: timestamp syncing, prepare  
						
						... 
						
						
						
						rename and uninline now() to ftrace_now().
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de> 
						
					 
					
						2008-05-23 20:42:31 +02:00 
						 
				 
			
				
					
						
							
							
								Steven Rostedt 
							
						 
					 
					
						
						
						
						
							
						
						
							60a11774b3 
							
						 
					 
					
						
						
							
							ftrace: add self-tests  
						
						... 
						
						
						
						Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de> 
						
					 
					
						2008-05-23 20:40:36 +02:00 
						 
				 
			
				
					
						
							
							
								Steven Rostedt 
							
						 
					 
					
						
						
						
						
							
						
						
							1b29b01887 
							
						 
					 
					
						
						
							
							ftrace: function tracer  
						
						... 
						
						
						
						This is a simple trace that uses the ftrace infrastructure. It is
designed to be fast and small, and easy to use. It is useful to
record things that happen over a very short period of time, and
not to analyze the system in general.
 Updates:
  available_tracers
     "function" is added to this file.
  current_tracer
    To enable the function tracer:
      echo function > /debugfs/tracing/current_tracer
     To disable the tracer:
       echo disable > /debugfs/tracing/current_tracer
The output of the function_trace file is as follows
  "echo noverbose > /debugfs/tracing/iter_ctrl"
preemption latency trace v1.1.5 on 2.6.24-rc7-tst
Signed-off-by: Ingo Molnar <mingo@elte.hu>
--------------------------------------------------------------------
 latency: 0 us, #419428/4361791, CPU#1 | (M:desktop VP:0, KP:0, SP:0 HP:0 #P:4)
    -----------------
    | task: -0 (uid:0 nice:0 policy:0 rt_prio:0)
    -----------------
                 _------=> CPU#
                / _-----=> irqs-off
               | / _----=> need-resched
               || / _---=> hardirq/softirq
               ||| / _--=> preempt-depth
               |||| /
               |||||     delay
   cmd     pid ||||| time  |   caller
      \   /    |||||   \   |   /
 swapper-0     0d.h. 1595128us+: set_normalized_timespec+0x8/0x2d <c043841d> (ktime_get_ts+0x4a/0x4e <c04499d4>)
 swapper-0     0d.h. 1595131us+: _spin_lock+0x8/0x18 <c0630690> (hrtimer_interrupt+0x6e/0x1b0 <c0449c56>)
Or with verbose turned on:
  "echo verbose > /debugfs/tracing/iter_ctrl"
preemption latency trace v1.1.5 on 2.6.24-rc7-tst
--------------------------------------------------------------------
 latency: 0 us, #419428/4361791, CPU#1 | (M:desktop VP:0, KP:0, SP:0 HP:0 #P:4)
    -----------------
    | task: -0 (uid:0 nice:0 policy:0 rt_prio:0)
    -----------------
         swapper     0 0 9 00000000 00000000 [f3675f41] 1595.128ms (+0.003ms): set_normalized_timespec+0x8/0x2d <c043841d> (ktime_get_ts+0x4a/0x4e <c04499d4>)
         swapper     0 0 9 00000000 00000001 [f3675f45] 1595.131ms (+0.003ms): _spin_lock+0x8/0x18 <c0630690> (hrtimer_interrupt+0x6e/0x1b0 <c0449c56>)
         swapper     0 0 9 00000000 00000002 [f3675f48] 1595.135ms (+0.003ms): _spin_lock+0x8/0x18 <c0630690> (hrtimer_interrupt+0x6e/0x1b0 <c0449c56>)
The "trace" file is not affected by the verbose mode, but is by the symonly.
 echo "nosymonly" > /debugfs/tracing/iter_ctrl
tracer:
[   81.479967] CPU 0: bash:3154 register_ftrace_function+0x5f/0x66 <ffffffff80337a4d> <-- _spin_unlock_irqrestore+0xe/0x5a <ffffffff8048cc8f>
[   81.479967] CPU 0: bash:3154 _spin_unlock_irqrestore+0x3e/0x5a <ffffffff8048ccbf> <-- sub_preempt_count+0xc/0x7a <ffffffff80233d7b>
[   81.479968] CPU 0: bash:3154 sub_preempt_count+0x30/0x7a <ffffffff80233d9f> <-- in_lock_functions+0x9/0x24 <ffffffff8025a75d>
[   81.479968] CPU 0: bash:3154 vfs_write+0x11d/0x155 <ffffffff8029a043> <-- dnotify_parent+0x12/0x78 <ffffffff802d54fb>
[   81.479968] CPU 0: bash:3154 dnotify_parent+0x2d/0x78 <ffffffff802d5516> <-- _spin_lock+0xe/0x70 <ffffffff8048c910>
[   81.479969] CPU 0: bash:3154 _spin_lock+0x1b/0x70 <ffffffff8048c91d> <-- add_preempt_count+0xe/0x77 <ffffffff80233df7>
[   81.479969] CPU 0: bash:3154 add_preempt_count+0x3e/0x77 <ffffffff80233e27> <-- in_lock_functions+0x9/0x24 <ffffffff8025a75d>
 echo "symonly" > /debugfs/tracing/iter_ctrl
tracer:
[   81.479913] CPU 0: bash:3154 register_ftrace_function+0x5f/0x66 <-- _spin_unlock_irqrestore+0xe/0x5a
[   81.479913] CPU 0: bash:3154 _spin_unlock_irqrestore+0x3e/0x5a <-- sub_preempt_count+0xc/0x7a
[   81.479913] CPU 0: bash:3154 sub_preempt_count+0x30/0x7a <-- in_lock_functions+0x9/0x24
[   81.479914] CPU 0: bash:3154 vfs_write+0x11d/0x155 <-- dnotify_parent+0x12/0x78
[   81.479914] CPU 0: bash:3154 dnotify_parent+0x2d/0x78 <-- _spin_lock+0xe/0x70
[   81.479914] CPU 0: bash:3154 _spin_lock+0x1b/0x70 <-- add_preempt_count+0xe/0x77
[   81.479914] CPU 0: bash:3154 add_preempt_count+0x3e/0x77 <-- in_lock_functions+0x9/0x24
Signed-off-by: Steven Rostedt <srostedt@redhat.com>
Signed-off-by: Arnaldo Carvalho de Melo <acme@ghostprotocols.net>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de> 
						
					 
					
						2008-05-23 20:32:13 +02:00