1. 11 Jul, 2008 9 commits
    • Ingo Molnar's avatar
      ftrace: build fix for ftraced_suspend · b2613e37
      Ingo Molnar authored
      fix:
      
       kernel/trace/ftrace.c:1615: error: 'ftraced_suspend' undeclared (first use in this function)
       kernel/trace/ftrace.c:1615: error: (Each undeclared identifier is reported only once
       kernel/trace/ftrace.c:1615: error: for each function it appears in.)
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      b2613e37
    • Steven Rostedt's avatar
      ftrace: separate out the function enabled variable · 60bc0800
      Steven Rostedt authored
      Currently the function tracer uses the global tracer_enabled variable that
      is used to keep track if the tracer is enabled or not. The function tracing
      startup needs to be separated out, otherwise the internal happenings of
      the tracer startup is also recorded.
      
      This patch creates a ftrace_function_enabled variable to all the starting
      of the function traces to happen after everything has been started.
      Signed-off-by: default avatarSteven 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: default avatarIngo Molnar <mingo@elte.hu>
      60bc0800
    • Steven Rostedt's avatar
      ftrace: add ftrace_kill_atomic · a2bb6a3d
      Steven Rostedt authored
      It has been suggested that I add a way to disable the function tracer
      on an oops. This code adds a ftrace_kill_atomic. It is not meant to be
      used in normal situations. It will disable the ftrace tracer, but will
      not perform the nice shutdown that requires scheduling.
      Signed-off-by: default avatarSteven 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: default avatarIngo Molnar <mingo@elte.hu>
      a2bb6a3d
    • Steven Rostedt's avatar
      ftrace: use current CPU for function startup · 26bc83f4
      Steven Rostedt authored
      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: default avatarSteven 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: default avatarIngo Molnar <mingo@elte.hu>
      26bc83f4
    • Steven Rostedt's avatar
      ftrace: start wakeup tracing after setting function tracer · ad591240
      Steven Rostedt authored
      Enabling the wakeup tracer before enabling the function tracing causes
      some strange results due to the dynamic enabling of the functions.
      Signed-off-by: default avatarSteven 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: default avatarIngo Molnar <mingo@elte.hu>
      ad591240
    • Steven Rostedt's avatar
      ftrace: check proper config for preempt type · b5c21b45
      Steven Rostedt authored
      There is no CONFIG_PREEMPT_DESKTOP. Use the proper entry CONFIG_PREEMPT.
      Signed-off-by: default avatarSteven 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: default avatarIngo Molnar <mingo@elte.hu>
      b5c21b45
    • Steven Rostedt's avatar
      ftrace: trace schedule · 1e16c0a0
      Steven Rostedt authored
      After the sched_clock code has been removed from sched.c we can now trace
      the scheduler. The scheduler has a lot of functions that would be worth
      tracing.
      Signed-off-by: default avatarSteven 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: default avatarIngo Molnar <mingo@elte.hu>
      1e16c0a0
    • Steven Rostedt's avatar
      ftrace: define function trace nop · 001b6767
      Steven Rostedt authored
      When CONFIG_FTRACE is not enabled, the tracing_start_functon_trace
      and tracing_stop_function_trace should be nops.
      Signed-off-by: default avatarSteven 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: default avatarIngo Molnar <mingo@elte.hu>
      001b6767
    • Steven Rostedt's avatar
      ftrace: move sched_switch enable after markers · 007c05d4
      Steven Rostedt authored
      We have two markers now that are enabled on sched_switch. One that records
      the context switching and the other that records task wake ups. Currently
      we enable the tracing first and then set the markers. This causes some
      confusing traces:
      
      # tracer: sched_switch
      #
      #           TASK-PID   CPU#    TIMESTAMP  FUNCTION
      #              | |      |          |         |
             trace-cmd-3973  [00]   115.834817:   3973:120:R   +     3:  0:S
             trace-cmd-3973  [01]   115.834910:   3973:120:R   +     6:  0:S
             trace-cmd-3973  [02]   115.834910:   3973:120:R   +     9:  0:S
             trace-cmd-3973  [03]   115.834910:   3973:120:R   +    12:  0:S
             trace-cmd-3973  [02]   115.834910:   3973:120:R   +     9:  0:S
                <idle>-0     [02]   115.834910:      0:140:R ==>  3973:120:R
      
      Here we see that trace-cmd with PID 3973 wakes up task 9 but the next line
      shows the idle task doing a context switch to task 3973.
      
      Enabling the tracing to _after_ the markers are set creates a much saner
      output:
      
      # tracer: sched_switch
      #
      #           TASK-PID   CPU#    TIMESTAMP  FUNCTION
      #              | |      |          |         |
                <idle>-0     [02]  7922.634225:      0:140:R ==>  4790:120:R
             trace-cmd-4789  [03]  7922.634225:      0:140:R   +  4790:120:R
      Signed-off-by: default avatarSteven 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: default avatarIngo Molnar <mingo@elte.hu>
      007c05d4
  2. 03 Jul, 2008 1 commit
  3. 01 Jul, 2008 2 commits
    • Ingo Molnar's avatar
      fix "ftrace: store mcount address in rec->ip" · 760378e1
      Ingo Molnar authored
      Alexander Beregalov reported this build failure:
      
      $ make CROSS_COMPILE=sparc64-unknown-linux-gnu- image modules && sudo
      make modules_install
        CHK     include/linux/version.h
        CHK     include/linux/utsrelease.h
        CALL    scripts/checksyscalls.sh
        CHK     include/linux/compile.h
      dnsdomainname: Unknown host
        CC      arch/sparc64/kernel/sparc64_ksyms.o
      arch/sparc64/kernel/sparc64_ksyms.c:116: error: '_mcount' undeclared
      here (not in a function)
      cc1: warnings being treated as errors
      arch/sparc64/kernel/sparc64_ksyms.c:116: error: type defaults to 'int'
      in declaration of '_mcount'
      
      And bisected it back to:
      
      | commit 395a59d0
      | Author: Abhishek Sagar <sagar.abhishek@gmail.com>
      | Date:   Sat Jun 21 23:47:27 2008 +0530
      |
      |     ftrace: store mcount address in rec->ip
      
      the mcount prototype is only available under CONFIG_FTRACE,
      extend it to CONFIG_MCOUNT as well.
      Reported-and-bisected-by: default avatarAlexander Beregalov <a.beregalov@gmail.com>
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      760378e1
    • Pekka Paalanen's avatar
      mmiotrace broken in linux-next (8-bit writes only) · 3e61e0c9
      Pekka Paalanen authored
      The moment mmiotrace is enabled, I hit a NULL deref in:
      
      IP: [<ffffffff80256e71>] __trace_special+0x17c/0x23a
      Call Trace:
       [<ffffffff802573cc>] ftrace_special+0x6f/0x9a
       [<ffffffff8023e3e4>] down+0x19/0x4a
       [<ffffffff80228adc>] acquire_console_sem+0x42/0x58
       [<ffffffff8035d273>] con_flush_chars+0x28/0x43
       [<ffffffff80354a70>] write_chan+0x22e/0x334
       [<ffffffff802244e9>] ? default_wake_function+0x0/0xf
       [<ffffffff8035236d>] tty_write+0x195/0x228
       [<ffffffff80354842>] ? write_chan+0x0/0x334
       [<ffffffff8027c23a>] vfs_write+0xae/0x137
       [<ffffffff8027c6e3>] sys_write+0x47/0x70
       [<ffffffff8020b1db>] system_call_after_swapgs+0x7b/0x80
      
      which means 'entry' in __trace_special() is NULL.
      
      [ mingo@elte.hu: that ftrace_special() was a leftover. ]
      Signed-off-by: default avatarPekka Paalanen <pq@iki.fi>
      Cc: Steven Rostedt <srostedt@redhat.com>
      Cc: proski@gnu.org
      Cc: "Vegard Nossum" <vegard.nossum@gmail.com>
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      3e61e0c9
  4. 25 Jun, 2008 5 commits
  5. 24 Jun, 2008 23 commits