1. 01 3月, 2010 1 次提交
    • R
      perf, x86: rename macro in ARCH_PERFMON_EVENTSEL_ENABLE · bb1165d6
      Robert Richter 提交于
      For consistency reasons this patch renames
      ARCH_PERFMON_EVENTSEL0_ENABLE to ARCH_PERFMON_EVENTSEL_ENABLE.
      
      The following is performed:
      
       $ sed -i -e s/ARCH_PERFMON_EVENTSEL0_ENABLE/ARCH_PERFMON_EVENTSEL_ENABLE/g \
         arch/x86/include/asm/perf_event.h arch/x86/kernel/cpu/perf_event.c \
         arch/x86/kernel/cpu/perf_event_p6.c \
         arch/x86/kernel/cpu/perfctr-watchdog.c \
         arch/x86/oprofile/op_model_amd.c arch/x86/oprofile/op_model_ppro.c
      Signed-off-by: NRobert Richter <robert.richter@amd.com>
      bb1165d6
  2. 26 2月, 2010 2 次提交
  3. 21 9月, 2009 1 次提交
    • I
      perf: Do the big rename: Performance Counters -> Performance Events · cdd6c482
      Ingo Molnar 提交于
      Bye-bye Performance Counters, welcome Performance Events!
      
      In the past few months the perfcounters subsystem has grown out its
      initial role of counting hardware events, and has become (and is
      becoming) a much broader generic event enumeration, reporting, logging,
      monitoring, analysis facility.
      
      Naming its core object 'perf_counter' and naming the subsystem
      'perfcounters' has become more and more of a misnomer. With pending
      code like hw-breakpoints support the 'counter' name is less and
      less appropriate.
      
      All in one, we've decided to rename the subsystem to 'performance
      events' and to propagate this rename through all fields, variables
      and API names. (in an ABI compatible fashion)
      
      The word 'event' is also a bit shorter than 'counter' - which makes
      it slightly more convenient to write/handle as well.
      
      Thanks goes to Stephane Eranian who first observed this misnomer and
      suggested a rename.
      
      User-space tooling and ABI compatibility is not affected - this patch
      should be function-invariant. (Also, defconfigs were not touched to
      keep the size down.)
      
      This patch has been generated via the following script:
      
        FILES=$(find * -type f | grep -vE 'oprofile|[^K]config')
      
        sed -i \
          -e 's/PERF_EVENT_/PERF_RECORD_/g' \
          -e 's/PERF_COUNTER/PERF_EVENT/g' \
          -e 's/perf_counter/perf_event/g' \
          -e 's/nb_counters/nb_events/g' \
          -e 's/swcounter/swevent/g' \
          -e 's/tpcounter_event/tp_event/g' \
          $FILES
      
        for N in $(find . -name perf_counter.[ch]); do
          M=$(echo $N | sed 's/perf_counter/perf_event/g')
          mv $N $M
        done
      
        FILES=$(find . -name perf_event.*)
      
        sed -i \
          -e 's/COUNTER_MASK/REG_MASK/g' \
          -e 's/COUNTER/EVENT/g' \
          -e 's/\<event\>/event_id/g' \
          -e 's/counter/event/g' \
          -e 's/Counter/Event/g' \
          $FILES
      
      ... to keep it as correct as possible. This script can also be
      used by anyone who has pending perfcounters patches - it converts
      a Linux kernel tree over to the new naming. We tried to time this
      change to the point in time where the amount of pending patches
      is the smallest: the end of the merge window.
      
      Namespace clashes were fixed up in a preparatory patch - and some
      stylistic fallout will be fixed up in a subsequent patch.
      
      ( NOTE: 'counters' are still the proper terminology when we deal
        with hardware registers - and these sed scripts are a bit
        over-eager in renaming them. I've undone some of that, but
        in case there's something left where 'counter' would be
        better than 'event' we can undo that on an individual basis
        instead of touching an otherwise nicely automated patch. )
      Suggested-by: NStephane Eranian <eranian@google.com>
      Acked-by: NPeter Zijlstra <a.p.zijlstra@chello.nl>
      Acked-by: NPaul Mackerras <paulus@samba.org>
      Reviewed-by: NArjan van de Ven <arjan@linux.intel.com>
      Cc: Mike Galbraith <efault@gmx.de>
      Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Steven Rostedt <rostedt@goodmis.org>
      Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
      Cc: David Howells <dhowells@redhat.com>
      Cc: Kyle McMartin <kyle@mcmartin.ca>
      Cc: Martin Schwidefsky <schwidefsky@de.ibm.com>
      Cc: "David S. Miller" <davem@davemloft.net>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: "H. Peter Anvin" <hpa@zytor.com>
      Cc: <linux-arch@vger.kernel.org>
      LKML-Reference: <new-submission>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      cdd6c482
  4. 20 7月, 2009 4 次提交
  5. 14 7月, 2009 1 次提交
  6. 12 6月, 2009 8 次提交
  7. 11 6月, 2009 2 次提交
  8. 03 3月, 2009 1 次提交
  9. 18 2月, 2009 1 次提交
  10. 17 2月, 2009 1 次提交
  11. 05 2月, 2009 1 次提交
    • 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
  12. 23 12月, 2008 1 次提交
  13. 03 12月, 2008 1 次提交
  14. 18 11月, 2008 1 次提交
  15. 08 11月, 2008 1 次提交
  16. 16 10月, 2008 1 次提交
  17. 14 10月, 2008 2 次提交
    • A
      oprofile: discover counters for op ppro too · 59512900
      Andi Kleen 提交于
      Discover number of counters for all family 6 models even when not
      in arch perfmon mode.
      Signed-off-by: NAndi Kleen <ak@linux.intel.com>
      Signed-off-by: NRobert Richter <robert.richter@amd.com>
      59512900
    • A
      oprofile: Implement Intel architectural perfmon support · b9917028
      Andi Kleen 提交于
      Newer Intel CPUs (Core1+) have support for architectural
      events described in CPUID 0xA. See the IA32 SDM Vol3b.18 for details.
      
      The advantage of this is that it can be done without knowing about
      the specific CPU, because the CPU describes by itself what
      performance events are supported. This is only a fallback
      because only a limited set of 6 events are supported.
      This allows to do profiling on Nehalem and on Atom systems
      (later not tested)
      
      This patch implements support for that in oprofile's Intel
      Family 6 profiling module. It also has the advantage of supporting
      an arbitary number of events now as reported by the CPU.
      Also allow arbitary counter widths >32bit while we're at it.
      
      Requires a patched oprofile userland to support the new
      architecture.
      
      v2: update for latest oprofile tree
          remove force_arch_perfmon
      Signed-off-by: NAndi Kleen <ak@linux.intel.com>
      Signed-off-by: NRobert Richter <robert.richter@amd.com>
      b9917028
  18. 24 9月, 2008 1 次提交
  19. 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
  20. 17 4月, 2008 1 次提交
  21. 11 10月, 2007 1 次提交
  22. 13 2月, 2007 1 次提交
  23. 30 9月, 2006 1 次提交
  24. 26 9月, 2006 1 次提交
  25. 27 6月, 2006 1 次提交
  26. 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