1. 23 Dec, 2008 3 commits
  2. 19 Dec, 2008 1 commit
  3. 17 Dec, 2008 1 commit
  4. 16 Dec, 2008 1 commit
  5. 14 Dec, 2008 12 commits
  6. 13 Dec, 2008 6 commits
  7. 12 Dec, 2008 8 commits
  8. 11 Dec, 2008 8 commits
    • Ingo Molnar's avatar
      perf counters: update docs · 447557ac
      Ingo Molnar authored
      Impact: update docs
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      447557ac
    • Ingo Molnar's avatar
      perf counters: clean up state transitions · 6a930700
      Ingo Molnar authored
      Impact: cleanup
      
      Introduce a proper enum for the 3 states of a counter:
      
      	PERF_COUNTER_STATE_OFF		= -1
      	PERF_COUNTER_STATE_INACTIVE	=  0
      	PERF_COUNTER_STATE_ACTIVE	=  1
      
      and rename counter->active to counter->state and propagate the
      changes everywhere.
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      6a930700
    • Ingo Molnar's avatar
      perf counters: add prctl interface to disable/enable counters · 1d1c7ddb
      Ingo Molnar authored
      Add a way for self-monitoring tasks to disable/enable counters summarily,
      via a prctl:
      
      	PR_TASK_PERF_COUNTERS_DISABLE		31
      	PR_TASK_PERF_COUNTERS_ENABLE		32
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      1d1c7ddb
    • Ingo Molnar's avatar
      perf counters: implement PERF_COUNT_TASK_CLOCK · bae43c99
      Ingo Molnar authored
      Impact: add new perf-counter type
      
      The 'task clock' counter counts the amount of time a task is executing,
      in nanoseconds. It stops ticking when a task is scheduled out either due
      to it blocking, sleeping or it being preempted.
      
      This counter type is a Linux kernel based abstraction, it is available
      even if the hardware does not support native hardware performance counters.
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      bae43c99
    • Ingo Molnar's avatar
      perf counters: consolidate hw_perf save/restore APIs · 01b2838c
      Ingo Molnar authored
      Impact: cleanup
      
      Rename them to better match up the usual IRQ disable/enable APIs:
      
       hw_perf_disable_all()  => hw_perf_save_disable()
       hw_perf_restore_ctrl() => hw_perf_restore()
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      01b2838c
    • Ingo Molnar's avatar
      perf counters: implement PERF_COUNT_CPU_CLOCK · 5c92d124
      Ingo Molnar authored
      Impact: add new perf-counter type
      
      The 'CPU clock' counter counts the amount of CPU clock time that is
      elapsing, in nanoseconds. (regardless of how much of it the task is
      spending on a CPU executing)
      
      This counter type is a Linux kernel based abstraction, it is available
      even if the hardware does not support native hardware performance counters.
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      5c92d124
    • Ingo Molnar's avatar
      perf counters: hw driver API · 621a01ea
      Ingo Molnar authored
      Impact: restructure code, introduce hw_ops driver abstraction
      
      Introduce this abstraction to handle counter details:
      
       struct hw_perf_counter_ops {
      	void (*hw_perf_counter_enable)	(struct perf_counter *counter);
      	void (*hw_perf_counter_disable)	(struct perf_counter *counter);
      	void (*hw_perf_counter_read)	(struct perf_counter *counter);
       };
      
      This will be useful to support assymetric hw details, and it will also
      be useful to implement "software counters". (Counters that count kernel
      managed sw events such as pagefaults, context-switches, wall-clock time
      or task-local time.)
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      621a01ea
    • Ingo Molnar's avatar
      perf counters: group counter, fixes · ccff286d
      Ingo Molnar authored
      Impact: bugfix
      
      Check that a group does not span outside the context of a CPU or a task.
      
      Also, do not allow deep recursive hierarchies.
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      ccff286d