1. 14 7月, 2009 2 次提交
  2. 10 7月, 2009 1 次提交
  3. 18 6月, 2009 1 次提交
  4. 13 6月, 2009 1 次提交
  5. 12 6月, 2009 17 次提交
  6. 11 6月, 2009 4 次提交
  7. 12 5月, 2009 1 次提交
  8. 08 5月, 2009 4 次提交
  9. 13 3月, 2009 1 次提交
  10. 03 3月, 2009 1 次提交
  11. 18 2月, 2009 1 次提交
  12. 17 2月, 2009 1 次提交
  13. 05 2月, 2009 2 次提交
    • I
      perfcounters: fix "perf counters kills oprofile" bug, v2 · 82aa9a18
      Ingo Molnar 提交于
      Impact: fix kernel crash
      
      Both oprofile and perfcounters register an NMI die handler, but only one
      can handle the NMI.  Conveniently, oprofile unregisters it's notifier
      when not actively in use, so setting it's notifier priority higher than
      perfcounter's allows oprofile to borrow the NMI for the duration of it's
      run.  Tested/works both as module and built-in.
      
      While testing, I found that if kerneltop was generating NMIs at very
      high frequency, the kernel may panic when oprofile registered it's
      handler.  This turned out to be because oprofile registers it's handler
      before reset_value has been allocated, so if an NMI comes in while it's
      still setting up, kabOom.  Rather than try more invasive changes, I
      followed the lead of other places in op_model_ppro.c, and simply
      returned in that highly unlikely event.  (debug warnings attached)
      Signed-off-by: NMike Galbraith <efault@gmx.de>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      82aa9a18
    • M
      perfcounters: fix "perf counters kill oprofile" bug · 5b75af0a
      Mike Galbraith 提交于
      With oprofile as a module, and unloaded by profiling script,
      both oprofile and kerneltop work fine.. unless you leave kerneltop
      running when you start profiling, then you may see badness.
      Signed-off-by: NMike Galbraith <efault@gmx.de>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      5b75af0a
  14. 08 1月, 2009 3 次提交
    • R
      oprofile: make new cpu buffer functions part of the api · 14f0ca8e
      Robert Richter 提交于
      This patch creates the new functions
      
       oprofile_write_reserve()
       oprofile_add_data()
       oprofile_write_commit()
      
      and makes them part of the oprofile api.
      Signed-off-by: NRobert Richter <robert.richter@amd.com>
      14f0ca8e
    • R
      oprofile: use new data sample format for ibs · 1acda878
      Robert Richter 提交于
      The new ring buffer implementation allows the storage of samples with
      different size. This patch implements the usage of the new sample
      format to store ibs samples in the cpu buffer. Until now, writing to
      the cpu buffer could lead to incomplete sampling sequences since IBS
      samples were transfered in multiple samples. Due to a full buffer,
      data could be lost at any time. This can't happen any more since the
      complete data is reserved in advance and then stored in a single
      sample.
      Signed-off-by: NRobert Richter <robert.richter@amd.com>
      1acda878
    • R
      oprofile: rework implementation of cpu buffer events · ae735e99
      Robert Richter 提交于
      Special events such as task or context switches are marked with an
      escape code in the cpu buffer followed by an event code or a task
      identifier. There is one escape code per event. To make escape
      sequences also available for data samples the internal cpu buffer
      format must be changed. The current implementation does not allow the
      extension of event codes since this would lead to collisions with the
      task identifiers. To avoid this, this patch introduces an event mask
      that allows the storage of multiple events with one escape code. Now,
      task identifiers are stored in the data section of the sample. The
      implementation also allows the usage of custom data in a sample. As a
      side effect the new code is much more readable and easier to
      understand.
      Signed-off-by: NRobert Richter <robert.richter@amd.com>
      ae735e99