Files
ubports_kernel_google_msm/include/linux
Steven Rostedt 352ad25aa4 ftrace: tracer for scheduler wakeup latency
This patch adds the tracer that tracks the wakeup latency of the
highest priority waking task.

  "wakeup" is added to /debugfs/tracing/available_tracers

Also added to /debugfs/tracing

  tracing_max_latency
     holds the current max latency for the wakeup

  wakeup_thresh
     if set to other than zero, a log will be recorded
     for every wakeup that takes longer than the number
     entered in here (usecs for all counters)
     (deletes previous trace)

Examples:

  (with ftrace_enabled = 0)

============
preemption latency trace v1.1.5 on 2.6.24-rc8
Signed-off-by: Ingo Molnar <mingo@elte.hu>
--------------------------------------------------------------------
 latency: 26 us, #2/2, CPU#1 | (M:rt VP:0, KP:0, SP:0 HP:0 #P:2)
    -----------------
    | task: migration/0-3 (uid:0 nice:-5 policy:1 rt_prio:99)
    -----------------

                 _------=> CPU#
                / _-----=> irqs-off
               | / _----=> need-resched
               || / _---=> hardirq/softirq
               ||| / _--=> preempt-depth
               |||| /
               |||||     delay
   cmd     pid ||||| time  |   caller
      \   /    |||||   \   |   /
   quilt-8551  0d..3    0us+: wake_up_process+0x15/0x17 <ffffffff80233e80> (sched_exec+0xc9/0x100 <ffffffff80235343>)
   quilt-8551  0d..4   26us : sched_switch_callback+0x73/0x81 <ffffffff80338d2f> (schedule+0x483/0x6d5 <ffffffff8048b3ee>)

vim:ft=help
============

  (with ftrace_enabled = 1)

============
preemption latency trace v1.1.5 on 2.6.24-rc8
--------------------------------------------------------------------
 latency: 36 us, #45/45, CPU#0 | (M:rt VP:0, KP:0, SP:0 HP:0 #P:2)
    -----------------
    | task: migration/1-5 (uid:0 nice:-5 policy:1 rt_prio:99)
    -----------------

                 _------=> CPU#
                / _-----=> irqs-off
               | / _----=> need-resched
               || / _---=> hardirq/softirq
               ||| / _--=> preempt-depth
               |||| /
               |||||     delay
   cmd     pid ||||| time  |   caller
      \   /    |||||   \   |   /
    bash-10653 1d..3    0us : wake_up_process+0x15/0x17 <ffffffff80233e80> (sched_exec+0xc9/0x100 <ffffffff80235343>)
    bash-10653 1d..3    1us : try_to_wake_up+0x271/0x2e7 <ffffffff80233dcf> (sub_preempt_count+0xc/0x7a <ffffffff8023309e>)
    bash-10653 1d..2    2us : try_to_wake_up+0x296/0x2e7 <ffffffff80233df4> (update_rq_clock+0x9/0x20 <ffffffff802303f3>)
    bash-10653 1d..2    2us : update_rq_clock+0x1e/0x20 <ffffffff80230408> (__update_rq_clock+0xc/0x90 <ffffffff80230366>)
    bash-10653 1d..2    3us : __update_rq_clock+0x1b/0x90 <ffffffff80230375> (sched_clock+0x9/0x29 <ffffffff80214529>)
    bash-10653 1d..2    4us : try_to_wake_up+0x2a6/0x2e7 <ffffffff80233e04> (activate_task+0xc/0x3f <ffffffff8022ffca>)
    bash-10653 1d..2    4us : activate_task+0x2d/0x3f <ffffffff8022ffeb> (enqueue_task+0xe/0x66 <ffffffff8022ff66>)
    bash-10653 1d..2    5us : enqueue_task+0x5b/0x66 <ffffffff8022ffb3> (enqueue_task_rt+0x9/0x3c <ffffffff80233351>)
    bash-10653 1d..2    6us : try_to_wake_up+0x2ba/0x2e7 <ffffffff80233e18> (check_preempt_wakeup+0x12/0x99 <ffffffff80234f84>)
[...]
    bash-10653 1d..5   33us : tracing_record_cmdline+0xcf/0xd4 <ffffffff80338aad> (_spin_unlock+0x9/0x33 <ffffffff8048d3ec>)
    bash-10653 1d..5   34us : _spin_unlock+0x19/0x33 <ffffffff8048d3fc> (sub_preempt_count+0xc/0x7a <ffffffff8023309e>)
    bash-10653 1d..4   35us : wakeup_sched_switch+0x65/0x2ff <ffffffff80339f66> (_spin_lock_irqsave+0xc/0xa9 <ffffffff8048d08b>)
    bash-10653 1d..4   35us : _spin_lock_irqsave+0x19/0xa9 <ffffffff8048d098> (add_preempt_count+0xe/0x77 <ffffffff8023311a>)
    bash-10653 1d..4   36us : sched_switch_callback+0x73/0x81 <ffffffff80338d2f> (schedule+0x483/0x6d5 <ffffffff8048b3ee>)

vim:ft=help
============

The [...] was added here to not waste your email box space.

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 20:32:36 +02:00
..
2008-01-28 14:54:13 -08:00
2008-02-05 03:20:13 -08:00
2008-05-20 14:14:15 -07:00
2008-02-06 10:41:02 -08:00
2008-04-29 08:06:00 -07:00
2008-01-28 15:00:14 -08:00
2008-03-04 13:41:23 +01:00
2008-04-28 06:28:37 -04:00
2008-04-29 08:11:16 -07:00
2008-04-29 12:36:54 -07:00
2008-01-29 21:55:15 +01:00
2008-04-22 15:16:32 -05:00
2008-04-29 08:06:01 -07:00
2008-01-28 14:54:10 -08:00
2008-02-03 17:45:46 +02:00
2008-05-01 08:03:59 -07:00
2008-01-28 23:21:18 +01:00
2008-04-30 08:29:52 -07:00
2008-02-03 17:45:46 +02:00
2008-02-03 15:42:53 +02:00
2008-03-04 14:47:06 -08:00
2008-04-21 11:22:28 -05:00
2008-04-25 13:26:55 +01:00
2008-04-25 13:26:55 +01:00
2008-02-08 02:09:56 +00:00
2008-04-25 13:26:55 +01:00
2008-04-21 22:38:45 +00:00
2008-02-08 09:22:24 -08:00
2008-04-28 08:58:30 -07:00
2008-04-19 19:19:54 +02:00
2008-02-07 08:42:30 -08:00
2008-01-28 23:21:18 +01:00
2008-05-07 09:48:23 +02:00
2008-04-28 08:58:35 -07:00
2008-05-16 17:22:26 -04:00
2008-05-01 13:08:16 -04:00
2008-05-07 09:29:00 +02:00
2008-05-13 08:02:26 -07:00
2008-05-20 16:44:43 +02:00
2008-05-20 16:44:43 +02:00
2008-04-22 11:34:59 +02:00
2008-02-05 09:44:19 -08:00
2008-04-04 18:36:49 +02:00
2008-04-29 23:11:38 +02:00
2008-05-18 20:49:41 +02:00
2008-05-14 23:06:16 +02:00
2008-04-29 08:06:25 -07:00
2008-01-28 15:07:58 -08:00
2008-01-28 14:55:09 -08:00
2008-03-17 22:48:46 -07:00
2008-04-29 08:06:03 -07:00
2008-04-29 08:06:02 -07:00
2008-05-05 16:47:14 +10:00
2008-04-29 08:06:15 -07:00
2008-04-19 19:10:28 -07:00
2008-05-01 08:03:58 -07:00
2008-05-14 19:11:14 -07:00
2008-04-19 19:44:57 +02:00
2008-01-25 21:08:34 +01:00
2008-05-23 20:31:27 +02:00
2008-02-03 17:45:46 +02:00
2008-02-06 10:41:01 -08:00
2008-02-26 14:03:47 +09:00
2008-05-01 08:03:58 -07:00
2008-04-29 08:06:01 -07:00
2008-04-29 08:06:17 -07:00
2008-02-08 09:22:31 -08:00
2008-02-14 21:13:33 -08:00
2008-04-28 08:58:29 -07:00
2008-04-19 16:54:56 -04:00
2008-04-19 16:55:29 -04:00
2008-02-14 21:13:33 -08:00
2008-04-20 21:47:03 -07:00
2008-04-20 21:47:03 -07:00
2008-04-29 08:06:02 -07:00
2008-02-07 23:11:56 -08:00
2008-04-29 08:06:02 -07:00
2008-05-06 12:01:41 -04:00
2008-03-17 22:46:46 -07:00
2008-02-05 09:44:22 -08:00
2008-01-30 13:31:47 +01:00
2008-04-30 08:29:51 -07:00
2008-04-29 08:05:59 -07:00
2008-01-31 19:26:46 -08:00
2008-04-17 10:43:01 -04:00
2008-04-25 00:25:08 +02:00
2008-02-07 08:42:34 -08:00
2008-04-28 08:58:32 -07:00
2008-04-15 13:26:52 -04:00
2008-02-07 08:42:30 -08:00
2008-01-25 21:08:33 +01:00
2008-01-31 19:28:30 -08:00
2008-01-30 13:31:20 +01:00
2008-01-30 13:31:20 +01:00
2008-01-25 21:08:34 +01:00
2008-02-07 08:42:34 -08:00
2008-04-28 08:58:20 -07:00
2008-04-28 08:58:29 -07:00
2008-04-19 19:44:59 +02:00
2008-05-04 17:07:03 -07:00
2008-05-21 17:40:05 -07:00
2008-04-29 02:48:01 -04:00
2008-02-01 17:45:14 +01:00
2008-05-01 08:03:59 -07:00
2008-04-30 08:29:47 -07:00
2008-04-17 20:05:36 +02:00
2008-01-24 20:40:26 -08:00
2008-04-24 21:16:57 -07:00
2008-05-09 07:45:18 -07:00
2008-02-04 23:50:13 +11:00
2008-04-28 08:58:21 -07:00
2008-02-06 10:41:03 -08:00