1. 04 9月, 2013 1 次提交
  2. 07 12月, 2011 1 次提交
  3. 04 11月, 2011 1 次提交
    • R
      oprofile, x86: Reimplement nmi timer mode using perf event · dcfce4a0
      Robert Richter 提交于
      The legacy x86 nmi watchdog code was removed with the implementation
      of the perf based nmi watchdog. This broke Oprofile's nmi timer
      mode. To run nmi timer mode we relied on a continuous ticking nmi
      source which the nmi watchdog provided. The nmi tick was no longer
      available and current watchdog can not be used anymore since it runs
      with very long periods in the range of seconds. This patch
      reimplements the nmi timer mode using a perf counter nmi source.
      
      V2:
      * removing pr_info()
      * fix undefined reference to `__udivdi3' for 32 bit build
      * fix section mismatch of .cpuinit.data:nmi_timer_cpu_nb
      * removed nmi timer setup in arch/x86
      * implemented function stubs for op_nmi_init/exit()
      * made code more readable in oprofile_init()
      
      V3:
      * fix architectural initialization in oprofile_init()
      * fix CONFIG_OPROFILE_NMI_TIMER dependencies
      Acked-by: NPeter Zijlstra <a.p.zijlstra@chello.nl>
      Signed-off-by: NRobert Richter <robert.richter@amd.com>
      dcfce4a0
  4. 15 2月, 2011 2 次提交
    • R
      oprofile, s390: Rework hwsampler implementation · a0d76247
      Robert Richter 提交于
      This patch is a rework of the hwsampler oprofile implementation that
      has been applied recently. Now there are less non-architectural
      changes. The only changes are:
      
      * introduction of oprofile_add_ext_hw_sample(), and
      * removal of section attributes of oprofile_timer_init/_exit().
      
      To setup hwsampler for oprofile we need to modify start()/stop()
      callbacks and additional hwsampler control files in oprofilefs. We do
      not reinitialize the timer or hwsampler mode by restarting calling
      init/exit() anymore, instead hwsampler_running is used to switch the
      mode directly in oprofile_hwsampler_start/_stop(). For locking reasons
      there is also hwsampler_file that reflects the value in oprofilefs.
      
      The overall diffstat of the oprofile s390 hwsampler implemenation
      shows the low impact to non-architectural code:
      
       arch/Kconfig                         |    3 +
       arch/s390/Kconfig                    |    1 +
       arch/s390/oprofile/Makefile          |    2 +-
       arch/s390/oprofile/hwsampler.c       | 1256 ++++++++++++++++++++++++++++++++++
       arch/s390/oprofile/hwsampler.h       |  113 +++
       arch/s390/oprofile/hwsampler_files.c |  162 +++++
       arch/s390/oprofile/init.c            |    6 +-
       drivers/oprofile/cpu_buffer.c        |   24 +-
       drivers/oprofile/timer_int.c         |    4 +-
       include/linux/oprofile.h             |    7 +
       10 files changed, 1567 insertions(+), 11 deletions(-)
      Acked-by: NHeiko Carstens <heiko.carstens@de.ibm.com>
      Signed-off-by: NRobert Richter <robert.richter@amd.com>
      a0d76247
    • H
      oprofile, s390: Enhance OProfile to support System zs hardware sampling feature · 997dbb49
      Heinz Graalfs 提交于
      OProfile is enhanced to export all files for controlling System z's
      hardware sampling, and to invoke hwsampler exported functions to
      initialize and use System z's hardware sampling.
      
      The patch invokes hwsampler_setup() during oprofile init and exports
      following hwsampler files under oprofilefs if hwsampler's setup
      succeeded:
      
      A new directory for hardware sampling based files
      
       /dev/oprofile/hwsampling/
      
      The userland daemon must explicitly write to the following files
      to disable (or enable) hardware based sampling
      
       /dev/oprofile/hwsampling/hwsampler
      
      to modify the actual sampling rate
      
       /dev/oprofile/hwsampling/hw_interval
      
      to modify the amount of sampling memory (measured in 4K pages)
      
       /dev/oprofile/hwsampling/hw_sdbt_blocks
      
      The following files are read only and show
      the possible minimum sampling rate
      
       /dev/oprofile/hwsampling/hw_min_interval
      
      the possible maximum sampling rate
      
       /dev/oprofile/hwsampling/hw_max_interval
      
      The patch splits the oprofile_timer_[init/exit] function so that it
      can be also called through user context (oprofilefs) to avoid kernel
      oops.
      
      Applied with following changes:
      * whitespace changes in Makefile and timer_int.c
      Signed-off-by: NMahesh Salgaonkar <mahesh@linux.vnet.ibm.com>
      Signed-off-by: NMaran Pakkirisamy <maranp@linux.vnet.ibm.com>
      Signed-off-by: NHeinz Graalfs <graalfs@linux.vnet.ibm.com>
      Acked-by: NHeiko Carstens <heiko.carstens@de.ibm.com>
      Signed-off-by: NRobert Richter <robert.richter@amd.com>
      997dbb49
  5. 12 10月, 2010 1 次提交
    • R
      oprofile: disable write access to oprofilefs while profiler is running · 7df01d96
      Robert Richter 提交于
      Oprofile counters are setup when profiling is disabled. Thus, writing
      to oprofilefs has no immediate effect. Changes are updated only after
      oprofile is reenabled.
      
      To keep userland and kernel states synchronized, we now allow
      configuration of oprofile only if profiling is disabled.  In this case
      it checks if the profiler is running and then disables write access to
      oprofilefs by returning -EBUSY. The change should be backward
      compatible with current oprofile userland daemon.
      Acked-by: NMaynard Johnson <maynardj@us.ibm.com>
      Cc: William Cohen <wcohen@redhat.com>
      Cc: Suravee Suthikulpanit <suravee.suthikulpanit@amd.com>
      Signed-off-by: NRobert Richter <robert.richter@amd.com>
      7df01d96
  6. 03 3月, 2010 1 次提交
  7. 20 7月, 2009 2 次提交
    • R
      oprofile: Rename variable timeout_jiffies and move to oprofile_files.c · afe1b50f
      Robert Richter 提交于
      This patch renames timeout_jiffies into an oprofile specific name. The
      macro MULTIPLEXING_TIMER_DEFAULT is changed too.
      
      Also, since this variable is controlled using oprofilefs, its
      definition is moved to oprofile_files.c.
      Signed-off-by: NRobert Richter <robert.richter@amd.com>
      afe1b50f
    • J
      oprofile: Implement performance counter multiplexing · 4d4036e0
      Jason Yeh 提交于
      The number of hardware counters is limited. The multiplexing feature
      enables OProfile to gather more events than counters are provided by
      the hardware. This is realized by switching between events at an user
      specified time interval.
      
      A new file (/dev/oprofile/time_slice) is added for the user to specify
      the timer interval in ms. If the number of events to profile is higher
      than the number of hardware counters available, the patch will
      schedule a work queue that switches the event counter and re-writes
      the different sets of values into it. The switching mechanism needs to
      be implemented for each architecture to support multiplexing. This
      patch only implements AMD CPU support, but multiplexing can be easily
      extended for other models and architectures.
      
      There are follow-on patches that rework parts of this patch.
      Signed-off-by: NJason Yeh <jason.yeh@amd.com>
      Signed-off-by: NRobert Richter <robert.richter@amd.com>
      4d4036e0
  8. 17 12月, 2008 1 次提交
  9. 16 10月, 2008 2 次提交
  10. 24 9月, 2008 1 次提交
  11. 26 7月, 2008 1 次提交
    • J
      Oprofile Multiplexing Patch · 1a960b40
      Jason Yeh 提交于
      This patch introduces multiplexing support for the Oprofile kernel
      module. It basically adds a new function pointer in oprofile_operator
      allowing each architecture to supply its callback to switch between
      different sets of event when the timer expires. Userspace tools can
      modify the time slice through /dev/oprofile/time_slice.
      
      It also modifies the number of counters exposed to the userspace through
      /dev/oprofile. For example, the number of counters for AMD CPUs are
      changed to 32 and multiplexed in the sets of 4.
      Signed-off-by: NJason Yeh <jason.yeh@amd.com>
      Signed-off-by: NRobert Richter <robert.richter@amd.com>
      Cc: oprofile-list <oprofile-list@lists.sourceforge.net>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      1a960b40
  12. 17 4月, 2005 1 次提交
    • L
      Linux-2.6.12-rc2 · 1da177e4
      Linus Torvalds 提交于
      Initial git repository build. I'm not bothering with the full history,
      even though we have it. We can create a separate "historical" git
      archive of that later if we want to, and in the meantime it's about
      3.2GB when imported into git - space that would just make the early
      git days unnecessarily complicated, when we don't have a lot of good
      infrastructure for it.
      
      Let it rip!
      1da177e4