1. 11 Jul, 2008 4 commits
    • 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 26 commits
  6. 23 Jun, 2008 2 commits