1. 30 3月, 2011 1 次提交
    • R
      perf tools: Fix NO_NEWT=1 python build error · 1b7155f7
      Robert Richter 提交于
      Fix the following build error:
      
           GEN python/perf.so
       In file included from util/evsel.h:10,
                        from util/python.c:6:
       util/hist.h:106:18: error: newt.h: No such file or directory
       error: command 'x86_64-pc-linux-gnu-gcc' failed with exit status 1
       make: *** [python/perf.so] Error 1
      
      by passing BASIC_CFLAGS to setup.py. BASIC_CFLAGS variable contains
      the -DNO_NEWT_SUPPORT switch which prevents building python c
      extension with newt.
      
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Ingo Molnar <mingo@elte.hu>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Stephane Eranian <eranian@google.com>
      LKML-Reference: <20110329180236.GA19366@erda.amd.com>
      Signed-off-by: NRobert Richter <robert.richter@amd.com>
      Signed-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
      1b7155f7
  2. 15 3月, 2011 1 次提交
    • A
      perf evlist: New command to list the names of events present in a perf.data file · 43adec95
      Arnaldo Carvalho de Melo 提交于
      [root@emilia ~]# perf record -a -e sched:* -e timer:timer* sleep 5
      [ perf record: Woken up 1 times to write data ]
      [ perf record: Captured and wrote 0.172 MB perf.data (~7530 samples) ]
      [root@emilia ~]# perf evlist
      sched:sched_kthread_stop
      sched:sched_kthread_stop_ret
      sched:sched_wakeup
      sched:sched_wakeup_new
      sched:sched_switch
      sched:sched_migrate_task
      sched:sched_process_free
      sched:sched_process_exit
      sched:sched_wait_task
      sched:sched_process_wait
      sched:sched_process_fork
      sched:sched_stat_wait
      sched:sched_stat_sleep
      sched:sched_stat_iowait
      sched:sched_stat_runtime
      sched:sched_pi_setprio
      timer:timer_init
      timer:timer_start
      timer:timer_expire_entry
      timer:timer_expire_exit
      timer:timer_cancel
      [root@emilia ~]#
      
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Ingo Molnar <mingo@elte.hu>
      Cc: Mike Galbraith <efault@gmx.de>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Stephane Eranian <eranian@google.com>
      Cc: Tom Zanussi <tzanussi@gmail.com>
      LKML-Reference: <new-submission>
      Signed-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
      43adec95
  3. 18 2月, 2011 4 次提交
    • M
      perf tools: Makefile: Remove various and sundry cruft · a3d1ee10
      Michael Witten 提交于
      This commit squashes several commits that remove:
      
       unnecessary uname calls
       `sh -c'
       BUILT_INS and QUIET_BUILT_IN
      
          They have no effect, and the `fixup-builtins' and `check-builtins.sh'
          scripts don't even exist.
      
       RUNTIME_PREFIX
      
          It's currently never anything but unset, and it's apparently
          only meaningful when Microsoft Windows is the operating system
          (according to the source for git).
      
       TEST_PROGRAMS
       EXTRA_PROGRAMS
       unused SHELL_PATH_SQ portions
       unused test for V=2
       useless exports
      
          Only when `V' is undefined (that is, only when the value of `V'
          is empty) is `export V' performed, which just has the effect of
          placing the empty-valued variable `V' in the environment.
      
          The only other script to make use of `V' is `Documentation/Makefile',
          which only checks whether `V' is undefined (that is, whether the value
          of `V' is empty); hence, the `export V' has no effect whatsoever.
      
          Similarly, `export QUIET_GEN' is useless because it will only have
          a non-empty value when `V' has an empty-value, and when `V' has
          an empty-value, `QUIET_GEN' is always explicitly set in every
          script in which it is used.
      
          `DESTDIR' is only ever defined by the user via the environment
          or the command line, both of which are automatically exported
          to sub-make processes. Furthermore, no non-make sub-scripts
          make use of `DESTDIR' as an environment variable.
      
          No other scripts use `perfexec_instdir'.
      
       unused QUIET_SUBDIR{0,1}
       TAR and RPMBUILD
       PTHREAD_LIBS
       Maintainer's dist rules and commands
       distclean target
       Test suite coverage testing
       PRINT_DIR and NO_SUBDIR
       `configure' target
       NO_CURL
       @@PERF_VERSION@@ substitution
      
          Without the sed command, all of the rule's commands can be reduced
          to a single line that copies a file and sets the permissions properly
          in the process.
      
       `make test' echo line
       template_instdir
       PERF-BUILD-OPTIONS
       double-colon rules
      
          The use of double-colon rules seems misguided or vestigial git.
      
       Essentially hard-coded $(SCRIPTS) expansion
      Signed-off-by: NMichael Witten <mfwitten@gmail.com>
      LKML-Reference: <new-submission>
      Signed-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
      a3d1ee10
    • M
      perf tools: Makefile: Remove tool-specific cruft · 0a54fb63
      Michael Witten 提交于
      This commit squashes several commits that remove:
      
       NO_C99_FORMAT
       CURLDIR and EXPATDIR
       NO_DEFLATE_BOUND
       CC_LD_DYNPATH and NO_R_TO_GCC_LINKER
       NO_PERL_MAKEMAKER
       INTERNAL_QSORT
       NO_EXTERNAL_GREP
       NO_PERL
       SCRIPT_PERL
       PERL_PATH_SQ
      Signed-off-by: NMichael Witten <mfwitten@gmail.com>
      LKML-Reference: <new-submission>
      Signed-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
      0a54fb63
    • M
      perf tools: Makefile: Remove platform-specific cruft · 8796cb9d
      Michael Witten 提交于
      While it makes sense that this tool could be used on
      other platforms at least to parse data, there doesn't
      appear to be any real support for such usage.
      
      This commit squashes several commits that remove:
      
       SNPRINTF_RETURNS_BOGUS
       FREAD_READS_DIRECTORIES
       NO_D_{INO,TYPE}_IN_DIRENT
       NO_STRCASESTR
       NO_MEMMEM
       NO_STRTOUMAX and NO_STRTOULL
       NO_SETENV
       NO_UNSETENV
       NO_MKDTEMP
       NEEDS_LIBICONV
       NEEDS_SOCKET
       NO_MMAP
       NO_PTHREADS
       NO_PREAD
       NO_TRUSTABLE_FILEMODE
       NO_IPV6 and NO_SOCKADDR_STORAGE
       NO_ICONV and OLD_ICONV
       NO_NSEC, USE_NSEC, and USE_ST_TIMESPEC
       NO_ST_BLOCKS_IN_STRUCT_STAT
       NO_FINK and NO_DARWIN_PORTS
       NO_SYS_SELECT_H
       NO_HSTRERROR
       DIR_HAS_BSD_GROUP_SEMANTICS and FORCE_DIR_SET_GID
       NEEDS_NSL, NO_UINTMAX_T, NO_INET_{N,P}TON
       COMPAT_{CFLAGS,OBJS}
       Executable extension `X'
      Signed-off-by: NMichael Witten <mfwitten@gmail.com>
      LKML-Reference: <new-submission>
      Signed-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
      8796cb9d
    • M
      perf tools: Makefile: Remove vestigial git-specific cruft · 006cdc32
      Michael Witten 提交于
      This commit squashes several commits that remove:
      
       NO_SYMLINK_HEAD
       NO_SVN_TESTS
       NO_FAST_WORKING_DIRECTORY
       USE_STDEV
       SHA1/SSL cruft
       makefile rules
      Signed-off-by: NMichael Witten <mfwitten@gmail.com>
      LKML-Reference: <new-submission>
      Signed-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
      006cdc32
  4. 17 2月, 2011 2 次提交
  5. 16 2月, 2011 1 次提交
    • S
      perf tool: Add cgroup support · 023695d9
      Stephane Eranian 提交于
      This patch adds the ability to filter monitoring based on container groups
      (cgroups) for both perf stat and perf record. It is possible to monitor
      multiple cgroup in parallel. There is one cgroup per event. The cgroups to
      monitor are passed via a new -G option followed by a comma separated list of
      cgroup names.
      
      The cgroup filesystem has to be mounted. Given a cgroup name, the perf tool
      finds the corresponding directory in the cgroup filesystem and opens it. It
      then passes that file descriptor to the kernel.
      
      Example:
      
      $ perf stat -B -a -e cycles:u,cycles:u,cycles:u -G test1,,test2 -- sleep 1
       Performance counter stats for 'sleep 1':
      
            2,368,667,414  cycles                   test1
            2,369,661,459  cycles
            <not counted>  cycles                   test2
      
              1.001856890  seconds time elapsed
      Signed-off-by: NStephane Eranian <eranian@google.com>
      Signed-off-by: NPeter Zijlstra <a.p.zijlstra@chello.nl>
      LKML-Reference: <4d590290.825bdf0a.7d0a.4890@mx.google.com>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      023695d9
  6. 07 2月, 2011 1 次提交
  7. 05 2月, 2011 1 次提交
    • A
      perf annotate: Move annotate functions to util/ · 78f7defe
      Arnaldo Carvalho de Melo 提交于
      They will be used by perf top, so that we have just one set of routines
      to do annotation.
      
      Rename "struct sym_priv" to "struct annotation", etc, to clarify this
      code a bit.
      
      Rename "struct sym_ext" to "struct source_line", to give it a meaningful
      name, that clarifies that it is a the result of an addr2line call, that
      is sorted by percentage one particular source code line appeared in the
      annotation.
      
      And since we're moving things around also rename 'sym_hist->ip' to
      'sym_hist->addr' as we want to do data structure annotation at some
      point.
      
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Ingo Molnar <mingo@elte.hu>
      Cc: Mike Galbraith <efault@gmx.de>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Stephane Eranian <eranian@google.com>
      Cc: Tom Zanussi <tzanussi@gmail.com>
      LKML-Reference: <new-submission>
      Signed-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
      78f7defe
  8. 02 2月, 2011 3 次提交
    • A
      perf tools: Don't try to build python bindings if Python.h not available · 978f626c
      Arnaldo Carvalho de Melo 提交于
      Just leverage the test done for python support in 'python script',
      emitting a warning about losing those features if python-dev[el] is not
      installed.
      Reported-by: NPeter Zijlstra <a.p.zijlstra@chello.nl>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Mike Galbraith <efault@gmx.de>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Cc: Stephane Eranian <eranian@google.com>
      Cc: Tom Zanussi <tzanussi@gmail.com>
      LKML-Reference: <new-submission>
      Signed-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
      978f626c
    • A
      perf tools: Fix up 'make clean' target · 568bb7b8
      Arnaldo Carvalho de Melo 提交于
      It wasn't using $(OUTPUT) to rm *.o and there were some funny looking
      automake files that never get created but were being deleted anyway.
      
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Ingo Molnar <mingo@elte.hu>
      Cc: Mike Galbraith <efault@gmx.de>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Stephane Eranian <eranian@google.com>
      Cc: Tom Zanussi <tzanussi@gmail.com>
      LKML-Reference: <new-submission>
      Signed-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
      568bb7b8
    • A
      perf tools: Remove verbose build messages for the python binding · 067187fc
      Arnaldo Carvalho de Melo 提交于
      Also now it builds it in a well known location:
      
      [acme@felicio linux]$ rm -rf ../build/perf/
      [acme@felicio linux]$ mkdir ../build/perf
      [acme@felicio linux]$ make -j2 O=~acme/git/build/perf -C tools/perf/
      <SNIP>
      [acme@felicio linux]$ ls -la ../build/perf/python/
      total 152
      -rwxrwxr-x 1 acme acme 147957 Feb  1 14:56 perf.so
      drwxrwxr-x 3 acme acme     17 Feb  1 14:56 temp
      [acme@felicio linux]$
      
      [root@felicio ~]# strip ~acme/git/build/perf/python/perf.so
      [root@felicio ~]# ls -la ~acme/git/build/perf/python/perf.so
      -rwxrwxr-x 1 acme acme 46264 Feb  1 14:58 /home/acme/git/build/perf/python/perf.so
      
      [root@felicio ~]# export PYTHONPATH=~acme/git/build/perf/python/
      [root@felicio ~]# ~acme/git/linux/tools/perf/python/twatch.py
      cpu:  0, pid: 7751, tid: 7751 { type: exit, pid: 7751, ppid: 7751, tid: 7751, ptid: 7751, time: 54562393512356}
      cpu:  0, pid: 13700, tid: 13700 { type: fork, pid: 7756, ppid: 13700, tid: 7756, ptid: 13700, time: 54562393746739}
      cpu:  1, pid: 7756, tid: 7756 { type: fork, pid: 7757, ppid: 7756, tid: 7757, ptid: 7756, time: 54562394246152}
      cpu:  1, pid: 7757, tid: 7757 { type: comm, pid: 7757, tid: 7757, comm: awk }
      cpu:  1, pid: 7757, tid: 7757 { type: exit, pid: 7757, ppid: 7757, tid: 7757, ptid: 7757, time: 54562395456813}
      Reported-by: NIngo Molnar <mingo@elte.hu>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Ingo Molnar <mingo@elte.hu>
      Cc: Mike Galbraith <efault@gmx.de>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Stephane Eranian <eranian@google.com>
      Cc: Tom Zanussi <tzanussi@gmail.com>
      LKML-Reference: <new-submission>
      Signed-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
      067187fc
  9. 01 2月, 2011 2 次提交
    • A
      perf top: Introduce slang based TUI · c0443df1
      Arnaldo Carvalho de Melo 提交于
      Disabled by default as there are features found in the stdio based one
      that aren't implemented, like live annotation, filtering knobs data
      entry.
      
      Annotation hopefully will get somehow merged with the 'perf annotate'
      code.
      
      To use it:
      
      perf top --tui
      
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Ingo Molnar <mingo@elte.hu>
      Cc: Mike Galbraith <efault@gmx.de>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Stephane Eranian <eranian@google.com>
      Cc: Tom Zanussi <tzanussi@gmail.com>
      LKML-Reference: <new-submission>
      Signed-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
      c0443df1
    • A
      perf top: Move display agnostic routines to util/top.[ch] · 8c3e10eb
      Arnaldo Carvalho de Melo 提交于
      Paving the way for a slang browser a la 'perf report --tui'.
      
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Ingo Molnar <mingo@elte.hu>
      Cc: Mike Galbraith <efault@gmx.de>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Stephane Eranian <eranian@google.com>
      Cc: Tom Zanussi <tzanussi@gmail.com>
      LKML-Reference: <new-submission>
      Signed-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
      8c3e10eb
  10. 30 1月, 2011 1 次提交
    • A
      perf tools: Initial python binding · 877108e4
      Arnaldo Carvalho de Melo 提交于
      First clarifying that this kind of binding is not a replacement or an
      equivalent to the 'perf script' way of using python with perf.
      
      The 'perf script' way is to process events and look at a given script
      for some python function that matches the events to pass each event for
      processing.
      
      This is a python module, i.e. everything is driven from the python
      script, that merely uses "import perf" or "from perf import".
      
      perf script is focused on tracepoints, this binding is focused on profiling as
      an initial target. More work is needed to make available tracepoint specific
      variables as event variables accessible via this binding.
      
      There is one example of such usage model, in
      tools/perf/python/twatch.py, a tool to watch "cycles" events together
      with task (fork, exit) and comm perf events.
      
      For now, due to me not being able to grok how python distutils cope with
      building C extensions outside the sources dir the install target just
      builds it, I'm using it as:
      
      [root@emilia linux]# export PYTHONPATH=~acme/git/build/perf/lib.linux-x86_64-2.6/
      [root@emilia linux]# tools/perf/python/twatch.py
      cpu:  4, pid: 30126, tid: 30126 { type: mmap, pid: 30126, tid: 30126, start: 0x4, length: 0x82e9ca03, offset: 0, filename:  }
      cpu:  6, pid:   47, tid:   47 { type: mmap, pid: 47, tid: 47, start: 0x6, length: 0xbef87c36, offset: 0, filename:  }
      cpu:  1, pid:    0, tid:    0 { type: mmap, pid: 0, tid: 0, start: 0x1, length: 0x775d1904, offset: 0, filename:  }
      cpu:  7, pid:    0, tid:    0 { type: mmap, pid: 0, tid: 0, start: 0x7, length: 0xc750aeb6, offset: 0, filename:  }
      cpu:  5, pid: 2255, tid: 2255 { type: mmap, pid: 2255, tid: 2255, start: 0x5, length: 0x76669635, offset: 0, filename:  }
      cpu:  0, pid:    0, tid:    0 { type: mmap, pid: 0, tid: 0, start: 0, length: 0x6422ef6b, offset: 0, filename:  }
      cpu:  2, pid: 2255, tid: 2255 { type: mmap, pid: 2255, tid: 2255, start: 0x2, length: 0xe078757a, offset: 0, filename:  }
      cpu:  1, pid: 5769, tid: 5769 { type: fork, pid: 30127, ppid: 5769, tid: 30127, ptid: 5769, time: 103893991270534}
      cpu:  6, pid: 30127, tid: 30127 { type: comm, pid: 30127, tid: 30127, comm: ls }
      cpu:  6, pid: 30127, tid: 30127 { type: exit, pid: 30127, ppid: 30127, tid: 30127, ptid: 30127, time: 103893993273024}
      
      The first 8 mmap events in this 8 way machine are a mistery that is still being
      investigated.
      
      More of the tools/perf/util/ APIs will be exposed via this python binding as
      the need arises. For now the focus is on creating events and processing them,
      symbol resolution is an obvious next step, with tracepoint variables as a close
      second step.
      
      Cc: Clark Williams <williams@redhat.com>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Ingo Molnar <mingo@elte.hu>
      Cc: Mike Galbraith <efault@gmx.de>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Stephane Eranian <eranian@google.com>
      Cc: Tom Zanussi <tzanussi@gmail.com>
      LKML-Reference: <new-submission>
      Signed-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
      877108e4
  11. 28 1月, 2011 1 次提交
    • M
      perf tools: Add strfilter for general purpose string filter · 68baa431
      Masami Hiramatsu 提交于
      Add strfilter for general purpose string filter.
      
      Every filter rules are descrived by glob matching pattern and '!' prefix
      which means Logical NOT.
      
      A strfilter consists of those filter rules connected with '&' and '|'.
      
      A set of rules can be folded by using '(' and ')'.
      
      It also accepts spaces around rules and those operators.
      
      Format:
      <rule> ::= <glob-exp> | "!" <rule> | <rule> <op> <rule> | "(" <rule> ")"
      <op> ::= "&" | "|"
      
      e.g.:
      
       "(add* | del*) & *timer" filter rules pass strings which start with add
       or del and end with timer.
      
      This will be used by perf probe --filter.
      
      Changes in V2:
       - Fix to check result of strdup() and strfilter__alloc().
       - Encapsulate and simplify interfaces as like regex(3).
      
      Cc: 2nddept-manager@sdl.hitachi.co.jp
      Cc: Franck Bui-Huu <fbuihuu@gmail.com>
      Cc: Ingo Molnar <mingo@elte.hu>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Cc: Srikar Dronamraju <srikar@linux.vnet.ibm.com>
      Cc: Steven Rostedt <rostedt@goodmis.org>
      LKML-Reference: <20110120141530.25915.12673.stgit@ltc236.sdl.hitachi.co.jp>
      Signed-off-by: NMasami Hiramatsu <masami.hiramatsu.pt@hitachi.com>
      Signed-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
      68baa431
  12. 24 1月, 2011 1 次提交
    • A
      perf threads: Move thread_map to separate file · fd78260b
      Arnaldo Carvalho de Melo 提交于
      To untangle it from struct thread handling, that is tied to symbols, etc.
      
      Right now in the python bindings I'm working on I need just a subset of
      the util/ files, untangling it allows me to do that.
      
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Ingo Molnar <mingo@elte.hu>
      Cc: Mike Galbraith <efault@gmx.de>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Stephane Eranian <eranian@google.com>
      Cc: Tom Zanussi <tzanussi@gmail.com>
      LKML-Reference: <new-submission>
      Signed-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
      fd78260b
  13. 23 1月, 2011 2 次提交
    • A
      perf evsel: Introduce perf_evlist · 361c99a6
      Arnaldo Carvalho de Melo 提交于
      Killing two more perf wide global variables: nr_counters and evsel_list
      as a list_head.
      
      There are more operations that will need more fields in perf_evlist,
      like the pollfd for polling all the fds in a list of evsel instances.
      
      Use option->value to pass the evsel_list to parse_{events,filters}.
      
      LKML-Reference: <new-submission>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Ingo Molnar <mingo@elte.hu>
      Cc: Mike Galbraith <efault@gmx.de>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Stephane Eranian <eranian@google.com>
      Cc: Tom Zanussi <tzanussi@gmail.com>
      Signed-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
      361c99a6
    • A
      perf tools: Fix build by checking if extra warnings are supported · 065bef5a
      Arnaldo Carvalho de Melo 提交于
      The -Wstack-protector and -Wvolatile-register-var warnings, for
      instance, are not supported by gcc 3.4.6.
      
      So fix by doing the same check we already do for -fstack-protector-all.
      
      With this and the other patches in this series, perf builds unmodified
      on, for instance, RHEL4.
      
      Cc: Eric Dumazet <eric.dumazet@gmail.com>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Ingo Molnar <mingo@elte.hu>
      Cc: Mike Galbraith <efault@gmx.de>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Stephane Eranian <eranian@google.com>
      Cc: Tom Zanussi <tzanussi@gmail.com>
      LKML-Reference: <new-submission>
      Signed-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
      065bef5a
  14. 07 1月, 2011 1 次提交
  15. 04 1月, 2011 1 次提交
    • A
      perf tools: Introduce event selectors · 69aad6f1
      Arnaldo Carvalho de Melo 提交于
      Out of ad-hoc code and global arrays with hard coded sizes.
      
      This is the first step on having a library that will be first
      used on regression tests in the 'perf test' tool.
      
      [acme@felicio linux]$ size /tmp/perf.before
         text	   data	    bss	    dec	    hex	filename
      1273776	  97384	5104416	6475576	 62cf38	/tmp/perf.before
      [acme@felicio linux]$ size /tmp/perf.new
         text	   data	    bss	    dec	    hex	filename
      1275422	  97416	1392416	2765254	 2a31c6	/tmp/perf.new
      
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Ingo Molnar <mingo@elte.hu>
      Cc: Mike Galbraith <efault@gmx.de>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Stephane Eranian <eranian@google.com>
      Cc: Tom Zanussi <tzanussi@gmail.com>
      LKML-Reference: <new-submission>
      Signed-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
      69aad6f1
  16. 07 12月, 2010 1 次提交
    • I
      perf makefile: Allow strong and weak functions in LIB_OBJS · b38aa896
      Ian Munsie 提交于
      When we build perf we place all of the .o files from the library files
      (util, arch/x/util, etc) into libperf.a which is then linked into perf.
      
      The problem is that the linker will by default only consider .o files
      within the .a archive if they are necessary to satisfy an unresolved
      symbol. As weak functions are not unresolved, it will not consider a .o
      file from the archive containing the strong versions of weak functions
      unless it requires it for another reason.
      
      This patch adds the --whole-archive flags to the linker when passing in
      the libperf.a file to ensure that it will consider every .o file in the
      archive, not just what it believes that it needs. The end result is that
      weak functions can now be overridden by strong variants of them in the
      libperf.a file.
      
      Cc: "tom.leiming" <tom.leiming@gmail.com>
      Cc: Ingo Molnar <mingo@elte.hu>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      LKML-Reference: <1290991642-sup-5890@au1.ibm.com>
      Signed-off-by: NIan Munsie <imunsie@au1.ibm.com>
      Signed-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
      b38aa896
  17. 26 11月, 2010 1 次提交
    • H
      perf bench: Add feature that measures the performance of the... · ea7872b9
      Hitoshi Mitake 提交于
      perf bench: Add feature that measures the performance of the arch/x86/lib/memcpy_64.S memcpy routines via 'perf bench mem'
      
      This patch ports arch/x86/lib/memcpy_64.S to perf bench mem
      memcpy for benchmarking memcpy() in userland with tricky and
      dirty way.
      
      util/include/asm/cpufeature.h, util/include/asm/dwarf2.h, and
      util/include/linux/linkage.h are mostly dummy files with small
      wrappers, so that we are able to include memcpy_64.S
      unmodified.
      Signed-off-by: NHitoshi Mitake <mitake@dcl.info.waseda.ac.jp>
      Cc: h.mitake@gmail.com
      Cc: Miao Xie <miaox@cn.fujitsu.com>
      Cc: Ma Ling <ling.ma@intel.com>
      Cc: Zhao Yakui <yakui.zhao@intel.com>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Steven Rostedt <rostedt@goodmis.org>
      Cc: Andi Kleen <andi@firstfloor.org>
      LKML-Reference: <1290668693-27068-2-git-send-email-mitake@dcl.info.waseda.ac.jp>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      ea7872b9
  18. 20 11月, 2010 1 次提交
    • R
      perf tools: Remove hardcoded include paths for elfutils · a7112397
      Robert Morell 提交于
      This change removes the use of hardcoded absolute "/usr/include/elfutils" paths
      from the perf build.  The problem with hardcoded paths is that it prevents them
      from being overridden by $prefix or by -I in CFLAGS (e.g., for cross-compiling
      purposes).
      
      Instead, just include the "elfutils/" subdirectory as a relative path when
      files are needed from that directory.
      
      Tested by building perf:
      - Cross-compiled for ARM on x86_64
      - Built natively on x86_64
      - Built on x86_64 with /usr/include/elfutils moved to another location
        and manually included in CFLAGS
      Acked-by: NMasami Hiramatsu <masami.hiramatsu.pt@hitachi.com>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Ingo Molnar <mingo@elte.hu>
      Cc: Masami Hiramatsu <masami.hiramatsu.pt@hitachi.com>
      LKML-Reference: <1289945793-31441-1-git-send-email-rmorell@nvidia.com>
      Signed-off-by: NRobert Morell <rmorell@nvidia.com>
      Signed-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
      a7112397
  19. 17 11月, 2010 1 次提交
  20. 04 10月, 2010 1 次提交
  21. 26 8月, 2010 1 次提交
  22. 21 8月, 2010 1 次提交
  23. 19 8月, 2010 1 次提交
    • K
      perf tools: Fix build error on read only source. · ecafda60
      Kusanagi Kouichi 提交于
      Parts of the build process were generating files outside the specified
      O= directory, causing the build to fail on systems where the sources are
      in a read only file system.
      
      Fix it by using $(OUTPUT) on these locations.
      
      Also check that $(OUTPUT) actually exists, just like the top level
      kernel Makefile does. Otherwise the failure message emitted is
      completely misleading.
      
      Cc: Ingo Molnar <mingo@elte.hu>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Cc: Paul Mackerras <paulus@samba.org>
      LKML-Reference: <20100817140841.0859362C03A@msa106.auone-net.jp>
      Signed-off-by: NKusanagi Kouichi <slash@ac.auone-net.jp>
      Signed-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
      ecafda60
  24. 17 8月, 2010 1 次提交
  25. 11 8月, 2010 6 次提交
  26. 07 8月, 2010 1 次提交
  27. 23 7月, 2010 1 次提交