1. 20 Sep, 2010 2 commits
  2. 17 Sep, 2010 5 commits
    • Peter Zijlstra's avatar
      perf: Undo the per cpu-context timer stuff · e9d2b064
      Peter Zijlstra authored
      Revert the timer per cpu-context timers because of unfortunate
      nohz interaction. Fixing that would have been somewhat ugly, so
      go back to driving things from the regular tick. Provide a
      jiffies interval feature for people who want slower rotations.
      Signed-off-by: default avatarPeter Zijlstra <a.p.zijlstra@chello.nl>
      Cc: Stephane Eranian <eranian@google.com>
      Cc: Robert Richter <robert.richter@amd.com>
      Cc: Yinghai Lu <yinghai@kernel.org>
      LKML-Reference: <20100917093009.519845633@chello.nl>
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      e9d2b064
    • Peter Zijlstra's avatar
      perf: Fix perf_event_exit_cpu_context() · 917bdd1c
      Peter Zijlstra authored
      Use the right cpu-context.. spotted by preempt warning on
      hot-unplug
      Signed-off-by: default avatarPeter Zijlstra <a.p.zijlstra@chello.nl>
      Cc: Stephane Eranian <eranian@google.com>
      Cc: Robert Richter <robert.richter@amd.com>
      LKML-Reference: <20100917093009.461794357@chello.nl>
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      917bdd1c
    • Peter Zijlstra's avatar
      perf: Complete software pmu grouping · b04243ef
      Peter Zijlstra authored
      Aside from allowing software events into a !software group,
      allow adding !software events to pure software groups.
      
      Once we've moved the software group and attached the first
      !software event, the group will no longer be a pure software
      group and hence no longer be eligible for movement, at which
      point the straight ctx comparison is correct again.
      Signed-off-by: default avatarPeter Zijlstra <a.p.zijlstra@chello.nl>
      Cc: Stephane Eranian <eranian@google.com>
      Cc: Robert Richter <robert.richter@amd.com>
      Cc: Paul Mackerras <paulus@samba.org>
      LKML-Reference: <20100917093009.410784731@chello.nl>
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      b04243ef
    • Stephane Eranian's avatar
      perf_events: Fix broken event grouping · d14b12d7
      Stephane Eranian authored
      Events were not grouped anymore. The reason was that in
      perf_event_open(), the field event->group_leader was
      initialized before the function looked up the group_fd
      to find the event leader. This patch fixes this by
      reordering the code correctly.
      Signed-off-by: default avatarStephane Eranian <eranian@google.com>
      Signed-off-by: default avatarPeter Zijlstra <a.p.zijlstra@chello.nl>
      Cc: Robert Richter <robert.richter@amd.com>
      LKML-Reference: <20100917093009.360420946@chello.nl>
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      d14b12d7
    • Jean Pihet's avatar
      tracing, perf: Add more power related events · 74704ac6
      Jean Pihet authored
      This patch adds new generic events for dynamic power management
      tracing:
      
       - clock events class: used for clock enable/disable and for
         clock rate change,
       - power_domain events class: used for power domains transitions.
      
      The OMAP architecture will be using the new events for PM debugging,
      however the new events are made generic enough to be used by all
      platforms.
      Signed-off-by: default avatarJean Pihet <j-pihet@ti.com>
      Acked-by: default avatarThomas Renninger <trenn@suse.de>
      Cc: discuss@lesswatts.org
      Cc: linux-pm@lists.linux-foundation.org
      Cc: Thomas Renninger <trenn@suse.de>
      Cc: Arjan van de Ven <arjan@linux.intel.com>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Len Brown <len.brown@intel.com>
      Cc: Kevin Hilman <khilman@deeprootsystems.com>
      LKML-Reference: <AANLkTinUmbSUUuxUzc8++pcb9gd1CZFdyTQFrveTBXyV@mail.gmail.com>
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      74704ac6
  3. 15 Sep, 2010 12 commits
  4. 14 Sep, 2010 7 commits
    • Steven Rostedt's avatar
      tracing: Remove leftover FTRACE_ENABLE/DISABLE_MCOUNT enums · 79e406d7
      Steven Rostedt authored
      The enums for FTRACE_ENABLE_MCOUNT and FTRACE_DISABLE_MCOUNT were
      used as commands to ftrace_run_update_code(). But these commands
      were used by the old nasty ftrace daemon that has long been slain.
      
      This is a clean up patch to remove the references to these enums
      and simplify the code a little.
      Reported-by: default avatarWu Zhangjin <wuzhangjin@gmail.com>
      Signed-off-by: default avatarSteven Rostedt <rostedt@goodmis.org>
      79e406d7
    • Steven Rostedt's avatar
      tracing: Do not trace in irq when funcgraph-irq option is zero · b304d044
      Steven Rostedt authored
      When the function graph tracer funcgraph-irq option is zero, disable
      tracing in IRQs. This makes the option have two effects.
      
      1) When reading the trace file, do not display the functions that
         happen in interrupt context (when detected)
      
      2) [*new*] When recording a trace, skip those that are detected
         to be in interrupt by the 'in_irq()' function
      
      Note, in_irq() is updated at irq_enter() and irq_exit(). There are
      still functions that are recorded by the function graph tracer that
      is in interrupt context but outside the irq_enter/exit() routines.
      Signed-off-by: default avatarSteven Rostedt <rostedt@goodmis.org>
      b304d044
    • Jiri Olsa's avatar
      tracing: Add funcgraph-irq option for function graph tracer. · 2bd16212
      Jiri Olsa authored
      It's handy to be able to disable the irq related output
      and not to have to jump over each irq related code, when
      you have no interrest in it.
      
      The option is by default enabled, so there's no change to
      current behaviour. It affects only the final output, so all
      the irq related data stay in the ring buffer.
      Signed-off-by: default avatarJiri Olsa <jolsa@redhat.com>
      LKML-Reference: <20100907145344.GC1912@jolsa.brq.redhat.com>
      Signed-off-by: default avatarSteven Rostedt <rostedt@goodmis.org>
      2bd16212
    • Steven Rostedt's avatar
      tracing: Fix reading of set_ftrace_filter across lists · 57c072c7
      Steven Rostedt authored
      If we do:
      
       # cd /sys/kernel/debug
       # echo 'do_IRQ:traceon schedule:traceon sys_write:traceon' > \
          set_ftrace_filter
       # cat set_ftrace_filter
      
      We get the following output:
      
       #### all functions enabled ####
       sys_write:traceon:unlimited
       schedule:traceon:unlimited
       do_IRQ:traceon:unlimited
      
      This outputs two lists. One is the fact that all functions are
      currently enabled for function tracing, the other has three probed
      functions, which happen to have 'traceon' as their commands.
      
      Currently, when reading the first list (functions enabled) the
      seq_file code will receive a "NULL" from the t_next() function
      causing it to exit early. This makes "read()" from userspace stop
      reading the code at this boarder. Although read is allowed to do this,
      some (broken) applications might consider this an end of file and
      stop early.
      
      This patch adds the start of the second list to t_next() when it
      finishes the first list. It is a simple change and gives the
      set_ftrace_filter file nicer reading ability.
      Signed-off-by: default avatarSteven Rostedt <rostedt@goodmis.org>
      57c072c7
    • Steven Rostedt's avatar
      tracing: Keep track of set_ftrace_filter position and allow lseek again · 98c4fd04
      Steven Rostedt authored
      This patch keeps track of the index within the elements of
      set_ftrace_filter and if the position goes backwards, it nicely
      resets and starts from the beginning again.
      
      This allows for lseek and pread to work properly now.
      Signed-off-by: default avatarSteven Rostedt <rostedt@goodmis.org>
      98c4fd04
    • Steven Rostedt's avatar
      tracing: Replace typecasted void pointer in set_ftrace_filter code · 4aeb6967
      Steven Rostedt authored
      The set_ftrace_filter uses seq_file and reads from two lists. The
      pointer returned by t_next() can either be of type struct dyn_ftrace
      or struct ftrace_func_probe. If there is a bug (there was one)
      the wrong pointer may be used and the reference can cause an oops.
      
      This patch makes t_next() and friends only return the iterator structure
      which now has a pointer of type struct dyn_ftrace and struct
      ftrace_func_probe. The t_show() can now test if the pointer is NULL or
      not and if the pointer exists, it is guaranteed to be of the correct type.
      
      Now if there's a bug, only wrong data will be shown but not an oops.
      
      Cc: Chris Wright <chrisw@sous-sol.org>
      Signed-off-by: default avatarSteven Rostedt <rostedt@goodmis.org>
      4aeb6967
    • Steven Rostedt's avatar
      tracing: Do not reset *pos in set_ftrace_filter · 2bccfffd
      Steven Rostedt authored
      After the filtered functions are read, the probed functions are read
      from the hash in set_ftrace_filter. When the hashed probed functions
      are read, the *pos passed in is reset. Instead of modifying the pos
      given to the read function, just record the pos where the filtered
      functions ended and subtract from that.
      Signed-off-by: default avatarSteven Rostedt <rostedt@goodmis.org>
      2bccfffd
  5. 13 Sep, 2010 14 commits