1. 11 7月, 2008 7 次提交
    • S
      ftrace: add ftrace_kill_atomic · a2bb6a3d
      Steven Rostedt 提交于
      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: NSteven 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: NIngo Molnar <mingo@elte.hu>
      a2bb6a3d
    • S
      ftrace: use current CPU for function startup · 26bc83f4
      Steven Rostedt 提交于
      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: NSteven 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: NIngo Molnar <mingo@elte.hu>
      26bc83f4
    • S
      ftrace: start wakeup tracing after setting function tracer · ad591240
      Steven Rostedt 提交于
      Enabling the wakeup tracer before enabling the function tracing causes
      some strange results due to the dynamic enabling of the functions.
      Signed-off-by: NSteven 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: NIngo Molnar <mingo@elte.hu>
      ad591240
    • S
      ftrace: check proper config for preempt type · b5c21b45
      Steven Rostedt 提交于
      There is no CONFIG_PREEMPT_DESKTOP. Use the proper entry CONFIG_PREEMPT.
      Signed-off-by: NSteven 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: NIngo Molnar <mingo@elte.hu>
      b5c21b45
    • S
      ftrace: trace schedule · 1e16c0a0
      Steven Rostedt 提交于
      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: NSteven 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: NIngo Molnar <mingo@elte.hu>
      1e16c0a0
    • S
      ftrace: define function trace nop · 001b6767
      Steven Rostedt 提交于
      When CONFIG_FTRACE is not enabled, the tracing_start_functon_trace
      and tracing_stop_function_trace should be nops.
      Signed-off-by: NSteven 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: NIngo Molnar <mingo@elte.hu>
      001b6767
    • S
      ftrace: move sched_switch enable after markers · 007c05d4
      Steven Rostedt 提交于
      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: NSteven 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: NIngo Molnar <mingo@elte.hu>
      007c05d4
  2. 03 7月, 2008 1 次提交
  3. 01 7月, 2008 2 次提交
    • I
      fix "ftrace: store mcount address in rec->ip" · 760378e1
      Ingo Molnar 提交于
      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: NAlexander Beregalov <a.beregalov@gmail.com>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      760378e1
    • P
      mmiotrace broken in linux-next (8-bit writes only) · 3e61e0c9
      Pekka Paalanen 提交于
      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: NPekka Paalanen <pq@iki.fi>
      Cc: Steven Rostedt <srostedt@redhat.com>
      Cc: proski@gnu.org
      Cc: "Vegard Nossum" <vegard.nossum@gmail.com>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      3e61e0c9
  4. 25 6月, 2008 18 次提交
  5. 24 6月, 2008 12 次提交