1. 21 5月, 2014 1 次提交
  2. 16 5月, 2014 1 次提交
  3. 02 5月, 2014 2 次提交
  4. 30 4月, 2014 1 次提交
  5. 28 4月, 2014 4 次提交
  6. 15 4月, 2014 1 次提交
  7. 14 3月, 2014 3 次提交
    • D
      perf bench: Add futex-requeue microbenchmark · 0fb298cf
      Davidlohr Bueso 提交于
      Block a bunch of threads on a futex and requeue them on another, N at a
      time.
      
      This program is particularly useful to measure the latency of nthread
      requeues without waking up any tasks -- thus mimicking a regular
      futex_wait.
      
      An example run:
      
        $ perf bench futex requeue -r 100 -t 64
        Run summary [PID 151011]: Requeuing 64 threads (from 0x7d15c4 to 0x7d15c8), 1 at a time.
      
        [Run 1]: Requeued 64 of 64 threads in 0.0400 ms
        [Run 2]: Requeued 64 of 64 threads in 0.0390 ms
        [Run 3]: Requeued 64 of 64 threads in 0.0400 ms
        ...
        [Run 100]: Requeued 64 of 64 threads in 0.0390 ms
        Requeued 64 of 64 threads in 0.0399 ms (+-0.37%)
      Signed-off-by: NDavidlohr Bueso <davidlohr@hp.com>
      Acked-by: NDarren Hart <dvhart@linux.intel.com>
      Cc: Aswin Chandramouleeswaran <aswin@hp.com>
      Cc: Darren Hart <dvhart@linux.intel.com>
      Cc: Ingo Molnar <mingo@redhat.com>
      Cc: Jason Low <jason.low2@hp.com>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Scott J Norton <scott.norton@hp.com>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: Waiman Long <Waiman.Long@hp.com>
      Link: http://lkml.kernel.org/r/1387081917-9102-4-git-send-email-davidlohr@hp.comSigned-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
      0fb298cf
    • D
      perf bench: Add futex-wake microbenchmark · 27db7830
      Davidlohr Bueso 提交于
      Block a bunch of threads on a futex and wake them up, N at a time.
      
      This program is particularly useful to measure the latency of nthread
      wakeups in non-error situations:  all waiters are queued and all wake
      calls wakeup one or more tasks.
      
      An example run:
      
        $ perf bench futex wake -t 512 -r 100
        Run summary [PID 27823]: blocking on 512 threads (at futex 0x7e10d4), waking up 1 at a time.
      
        [Run 1]: Wokeup 512 of 512 threads in 6.0080 ms
        [Run 2]: Wokeup 512 of 512 threads in 5.2280 ms
        [Run 3]: Wokeup 512 of 512 threads in 4.8300 ms
        ...
        [Run 100]: Wokeup 512 of 512 threads in 5.0100 ms
        Wokeup 512 of 512 threads in 5.0109 ms (+-2.25%)
      Signed-off-by: NDavidlohr Bueso <davidlohr@hp.com>
      Acked-by: NDarren Hart <dvhart@linux.intel.com>
      Cc: Aswin Chandramouleeswaran <aswin@hp.com>
      Cc: Darren Hart <dvhart@linux.intel.com>
      Cc: Ingo Molnar <mingo@redhat.com>
      Cc: Jason Low <jason.low2@hp.com>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Scott J Norton <scott.norton@hp.com>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: Waiman Long <Waiman.Long@hp.com>
      Link: http://lkml.kernel.org/r/1387081917-9102-3-git-send-email-davidlohr@hp.comSigned-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
      27db7830
    • D
      perf bench: Add futex-hash microbenchmark · a0439711
      Davidlohr Bueso 提交于
      Introduce futexes to perf-bench and add a program that stresses and
      measures the kernel's implementation of the hash table.
      
      This is a multi-threaded program that simply measures the amount of
      failed futex wait calls - we only want to deal with the hashing
      overhead, so a negative return of futex_wait_setup() is enough to do the
      trick.
      
      An example run:
      
        $ perf bench futex hash -t 32
        Run summary [PID 10989]: 32 threads, each operating on 1024 [private] futexes for 10 secs.
      
        [thread  0] futexes: 0x19d9b10 ... 0x19dab0c [ 418713 ops/sec ]
        [thread  1] futexes: 0x19daca0 ... 0x19dbc9c [ 469913 ops/sec ]
        [thread  2] futexes: 0x19dbe30 ... 0x19dce2c [ 479744 ops/sec ]
        ...
        [thread 31] futexes: 0x19fbb80 ... 0x19fcb7c [ 464179 ops/sec ]
      
        Averaged 454310 operations/sec (+- 0.84%), total secs = 10
      Signed-off-by: NDavidlohr Bueso <davidlohr@hp.com>
      Acked-by: NDarren Hart <dvhart@linux.intel.com>
      Cc: Aswin Chandramouleeswaran <aswin@hp.com>
      Cc: Darren Hart <dvhart@linux.intel.com>
      Cc: Ingo Molnar <mingo@redhat.com>
      Cc: Jason Low <jason.low2@hp.com>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Scott J Norton <scott.norton@hp.com>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: Waiman Long <Waiman.Long@hp.com>
      Link: http://lkml.kernel.org/r/1387081917-9102-2-git-send-email-davidlohr@hp.comSigned-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
      a0439711
  8. 24 2月, 2014 4 次提交
    • J
      perf tools: Setup default dwarf post unwinder · 0a4f2b6a
      Jiri Olsa 提交于
      Factor NO_LIBDW_DWARF_UNWIND makefile variable and code that selects
      default DWARf post unwinder based on detected features (libdw and
      libunwind support)
      
      If both are detected the libunwind is selected as default.  Simple
      'make' will try to add:
      
        - libunwind unwinder if present
        - libdw unwinder if present
        - disable dwarf unwind if non of libunwind and libdw
          libraries are present
      
      If one of the DWARF unwind libraries is detected, message is displayed
      which one (libunwind/libdw) is compiled in.
      
      Examples:
        - compile in libdw unwinder if present:
      
          $ make NO_LIBUNWIND=1
      
        - compile in libdw (with libdw installation directory) unwinder if present:
      
          $ make LIBDW_DIR=/opt/elfutils/ NO_LIBUNWIND=1
            BUILD:   Doing 'make -j4' parallel build
      
          Auto-detecting system features:
          ...                         dwarf: [ on  ]
          ...                         glibc: [ on  ]
          ...                          gtk2: [ on  ]
          ...                      libaudit: [ on  ]
          ...                        libbfd: [ on  ]
          ...                        libelf: [ on  ]
          ...                       libnuma: [ on  ]
          ...                       libperl: [ on  ]
          ...                     libpython: [ on  ]
          ...                      libslang: [ on  ]
          ...                     libunwind: [ on  ]
          ...            libdw-dwarf-unwind: [ on  ]
          ...     DWARF post unwind library: libdw
      
        - disable post dwarf unwind completely:
      
          $ make NO_LIBUNWIND=1 NO_LIBDW_DWARF_UNWIND=1
            BUILD:   Doing 'make -j4' parallel build
      
          Auto-detecting system features:
          ...                         dwarf: [ on  ]
          ...                         glibc: [ on  ]
          ...                          gtk2: [ on  ]
          ...                      libaudit: [ on  ]
          ...                        libbfd: [ on  ]
          ...                        libelf: [ on  ]
          ...                       libnuma: [ on  ]
          ...                       libperl: [ on  ]
          ...                     libpython: [ on  ]
          ...                      libslang: [ on  ]
          ...                     libunwind: [ on  ]
          ...            libdw-dwarf-unwind: [ on  ]
          ...     DWARF post unwind library: libunwind
      Signed-off-by: NJiri Olsa <jolsa@redhat.com>
      Cc: Corey Ashford <cjashfor@linux.vnet.ibm.com>
      Cc: David Ahern <dsahern@gmail.com>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Ingo Molnar <mingo@kernel.org>
      Cc: Jean Pihet <jean.pihet@linaro.org>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Link: http://lkml.kernel.org/r/1392825179-5228-6-git-send-email-jolsa@redhat.com
      [ Add suggestion about setting LIBDW_DIR when not finding libdw ]
      Signed-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
      0a4f2b6a
    • J
      perf tools: Add libdw DWARF post unwind support · 5ea84154
      Jiri Olsa 提交于
      Adding libdw DWARF post unwind support, which is part of
      elfutils-devel/libdw-dev package from version 0.158.
      
      The new code is contained in unwin-libdw.c object, and implements
      unwind__get_entries unwind interface function.
      
      New Makefile variable NO_LIBDW_DWARF_UNWIND was added to control its
      compilation, and is marked as disabled now.  It's factored with the rest
      of the Makefile unwind build code in the next patch.
      
      Arch specific code was added for x86.
      Signed-off-by: NJiri Olsa <jolsa@redhat.com>
      Cc: Corey Ashford <cjashfor@linux.vnet.ibm.com>
      Cc: David Ahern <dsahern@gmail.com>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Ingo Molnar <mingo@kernel.org>
      Cc: Jean Pihet <jean.pihet@linaro.org>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Link: http://lkml.kernel.org/r/1392825179-5228-5-git-send-email-jolsa@redhat.comSigned-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
      5ea84154
    • J
      perf tools: Factor features display code · 0695e57b
      Jiri Olsa 提交于
      Currently the we display all detected features/libraries by following
      rules:
      
       - if one of the features is missing
       - if it's build from clean tree
      
      This patch changes changes this behavior in several ways.
      
      - We no longer display all detected features, only detected libraries
        are displayed by default:
      
        $ make
          BUILD:   Doing 'make -j4' parallel build
      
        Auto-detecting system features:
        ...                         dwarf: [ on  ]
        ...                         glibc: [ on  ]
        ...                          gtk2: [ on  ]
        ...                      libaudit: [ on  ]
        ...                        libbfd: [ on  ]
        ...                        libelf: [ on  ]
        ...                       libnuma: [ on  ]
        ...                       libperl: [ on  ]
        ...                     libpython: [ on  ]
        ...                      libslang: [ on  ]
        ...                     libunwind: [ on  ]
      
        The assumption is, that above libraries are the most interesting part
      of the detection, while we don't care much about detection of on-exit
      support.
      
      - If all above libraries are detected, the default is not shown on
        subsequent builds.
      
      - If one of the above libraries is missing, the detection output is
        forced.
      
      - The features status is stored in PERF-FEATURES file and the detection
        output is forced in case the there's difference between the file
        contents and currently detected features.
      
      - If you want to see all detected features, you can use VF=1 make
        variable, that forces the detected features output.
      
        $ make VF=1
          BUILD:   Doing 'make -j4' parallel build
      
        Auto-detecting system features:
        ...                         dwarf: [ on  ]
        ...                         glibc: [ on  ]
        ...                          gtk2: [ on  ]
        ...                      libaudit: [ on  ]
        ...                        libbfd: [ on  ]
        ...                        libelf: [ on  ]
        ...                       libnuma: [ on  ]
        ...                       libperl: [ on  ]
        ...                     libpython: [ on  ]
        ...                      libslang: [ on  ]
        ...                     libunwind: [ on  ]
        ...                     backtrace: [ on  ]
        ...                fortify-source: [ on  ]
        ...                  gtk2-infobar: [ on  ]
        ...             libelf-getphdrnum: [ on  ]
        ...                   libelf-mmap: [ on  ]
        ...             libpython-version: [ on  ]
        ...                       on-exit: [ on  ]
        ...            stackprotector-all: [ on  ]
        ...                       timerfd: [ on  ]
        ...         libunwind-debug-frame: [ OFF ]
        ...                        bionic: [ OFF ]
      Signed-off-by: NJiri Olsa <jolsa@redhat.com>
      Cc: Corey Ashford <cjashfor@linux.vnet.ibm.com>
      Cc: David Ahern <dsahern@gmail.com>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Ingo Molnar <mingo@kernel.org>
      Cc: Jean Pihet <jean.pihet@linaro.org>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Link: http://lkml.kernel.org/r/1392825179-5228-2-git-send-email-jolsa@redhat.comSigned-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
      0695e57b
    • J
      perf tools: Fix bison OUTPUT directories dependency · da237ed0
      Jiri Olsa 提交于
      The bison and flex C objects don't have dependency for creating output
      directories.
      
      This could lead to build failure if the one of those objects is picked
      up by make to be build as the first one (reported by Arnaldo).
      
      Also following make fails:
        $ rm -rf /tmp/krava; mkdir /tmp/krava; make O=/tmp/krava util/pmu-bison.o
        BUILD:   Doing 'make -j4' parallel build
        [ SNIP ]
        BISON    /tmp/krava/util/pmu-bison.c
        FLAGS:   * new build flags or prefix
      bison: /tmp/krava/util/pmu-bison.output: cannot open: No such file or directory
      make[1]: *** [/tmp/krava/util/pmu-bison.c] Error 1
      make[1]: *** Waiting for unfinished jobs....
      make: *** [util/pmu-bison.o] Error 2
      
      Adding bison objects dependency for output directories (flex objects
      depends on bisons').
      
      This fixies the make_util_pmu_bison_o_O make test.
      Reported-by: NArnaldo Carvalho de Melo <acme@redhat.com>
      Signed-off-by: NJiri Olsa <jolsa@redhat.com>
      Cc: Corey Ashford <cjashfor@linux.vnet.ibm.com>
      Cc: David Ahern <dsahern@gmail.com>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Ingo Molnar <mingo@elte.hu>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Link: http://lkml.kernel.org/r/1392805300-14610-3-git-send-email-jolsa@redhat.comSigned-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
      da237ed0
  9. 18 2月, 2014 6 次提交
  10. 16 1月, 2014 1 次提交
    • M
      perf: tools: Fix cross building · a8a5cd8b
      Mark Rutland 提交于
      Currently the feature-checks Makefile does not inherit $(CC), and calls
      cc rather than $(CROSS_COMPILE)gcc. Thus the feature checks invoke the
      native toolchain rather than the cross toolchain, and can identify
      features as available when they are not. This can break the build.
      
      Additionally the native pkg-config is always called as opposed to
      $(CROSS_COMPILE)pkg-config, so the wrong flags and paths may be passed
      to the cross compiler.
      
      This patch passes CROSS_COMPILE down to the feature-checks Makefile, and
      forces its use. Additionally pkg-config is replaced with
      $(CROSS_COMPILE)pkg-config via a new $(PKG_CONFIG) variable. This patch
      has been build tested on x86_64 and arm.
      Signed-off-by: NMark Rutland <mark.rutland@arm.com>
      Cc: Ingo Molnar <mingo@redhat.com>
      Cc: Jiri Olsa <jolsa@redhat.com>
      Cc: Will Deacon <will.deacon@arm.com>
      Link: http://lkml.kernel.org/r/1389782648-4417-4-git-send-email-mark.rutland@arm.comSigned-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
      a8a5cd8b
  11. 13 1月, 2014 2 次提交
  12. 26 12月, 2013 1 次提交
  13. 17 12月, 2013 1 次提交
    • B
      tools/: Convert to new topic libraries · 553873e1
      Borislav Petkov 提交于
      Move debugfs.* to api/fs/. We have a common tools/lib/api/ place where
      the Makefile lives and then we place the headers in subdirs.
      
      For example, all the fs-related stuff goes to tools/lib/api/fs/ from
      which we get libapikfs.a (acme got almost the naming he wanted :-)) and
      we link it into the tools which need it - in this case perf and
      tools/vm/page-types.
      
      acme:
      
      "Looking at the implementation, I think some tools can even link
      directly to the .o files, avoiding the .a file altogether.
      
      But that is just an optimization/finer granularity tools/lib/
      cherrypicking that toolers can make use of."
      
      Fixup documentation cleaning target while at it.
      Signed-off-by: NBorislav Petkov <bp@suse.de>
      Acked-by: NIngo Molnar <mingo@kernel.org>
      Cc: Adrian Hunter <adrian.hunter@intel.com>
      Cc: Andi Kleen <ak@linux.intel.com>
      Cc: Arjan van de Ven <arjan@linux.intel.com>
      Cc: David Ahern <dsahern@gmail.com>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Ingo Molnar <mingo@kernel.org>
      Cc: Jiri Olsa <jolsa@redhat.com>
      Cc: Mike Galbraith <efault@gmx.de>
      Cc: Namhyung Kim <namhyung@gmail.com>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Pekka Enberg <penberg@kernel.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Robert Richter <rric@kernel.org>
      Cc: Stanislav Fomichev <stfomichev@yandex-team.ru>
      Cc: Stephane Eranian <eranian@google.com>
      Cc: Steven Rostedt <rostedt@goodmis.org>
      Link: http://lkml.kernel.org/r/1386605664-24041-2-git-send-email-bp@alien8.deSigned-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
      553873e1
  14. 13 12月, 2013 1 次提交
  15. 05 12月, 2013 3 次提交
    • J
      tools/perf/build: Fix install dependency · 78979079
      Jiri Olsa 提交于
      The traceevents-plugins install targets needs a proper dependency,
      otherwise it might be executed prematurely and in parallel to an
      actual build.
      Signed-off-by: NJiri Olsa <jolsa@redhat.com>
      Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: David Ahern <dsahern@gmail.com>
      Link: http://lkml.kernel.org/n/tip-rvlbzena4ovzgqiPm6teBofz@git.kernel.orgSigned-off-by: NIngo Molnar <mingo@kernel.org>
      78979079
    • J
      perf tools: Add trace-event object · 29f5ffd3
      Jiri Olsa 提交于
      Add trace-event object to keep together 'struct pevent' object with its
      loaded plugins with following interface:
      
      int trace_event__init(struct trace_event *t);
      
        - Initalizes 'struct pevent' object and loads plugins for it
      
      void trace_event__cleanup(struct trace_event *t);
      
        - Cleanups both 'struct pevent' and plugins
      Signed-off-by: NJiri Olsa <jolsa@redhat.com>
      Cc: Corey Ashford <cjashfor@linux.vnet.ibm.com>
      Cc: David Ahern <dsahern@gmail.com>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Ingo Molnar <mingo@elte.hu>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Cc: Steven Rostedt <rostedt@goodmis.org>
      Link: http://lkml.kernel.org/r/1386076182-14484-10-git-send-email-jolsa@redhat.comSigned-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
      29f5ffd3
    • J
      perf tools: Add build and install plugins targets · 3d7c0144
      Jiri Olsa 提交于
      Adding 'plugins' target along with the libtraceevent.a, so plugins are
      built together with traceevent library.
      
      Adding 'install-traceevent-plugins' Makefile install target, instructing
      perf to install plugins into:
      
        $(HOME)/.traceevent/plugins
          - If installed localy under $HOME
      
        $(DESTDIR)/$(prefix)/$(libdir)/traceevent/plugins
          - If installed globally
      
      Examples:
        $ make install
        ...
        $ find ~/.traceevent/plugins/
        /home/jolsa/.traceevent/plugins/
        /home/jolsa/.traceevent/plugins/plugin_mac80211.so
        /home/jolsa/.traceevent/plugins/plugin_kvm.so
        /home/jolsa/.traceevent/plugins/plugin_scsi.so
        /home/jolsa/.traceevent/plugins/plugin_sched_switch.so
        /home/jolsa/.traceevent/plugins/plugin_xen.so
        /home/jolsa/.traceevent/plugins/plugin_cfg80211.so
        /home/jolsa/.traceevent/plugins/plugin_function.so
        /home/jolsa/.traceevent/plugins/plugin_kmem.so
        /home/jolsa/.traceevent/plugins/plugin_hrtimer.so
        /home/jolsa/.traceevent/plugins/plugin_jbd2.so
      
        $ sudo make install DESTDIR=/opt/perf/
        ...
        $ find /opt/perf/lib64/traceevent/plugins/
        /opt/perf/lib64/traceevent/plugins/
        /opt/perf/lib64/traceevent/plugins/plugin_kvm.so
        /opt/perf/lib64/traceevent/plugins/plugin_scsi.so
        /opt/perf/lib64/traceevent/plugins/plugin_mac80211.so
        /opt/perf/lib64/traceevent/plugins/plugin_hrtimer.so
        /opt/perf/lib64/traceevent/plugins/plugin_kmem.so
        /opt/perf/lib64/traceevent/plugins/plugin_jbd2.so
        /opt/perf/lib64/traceevent/plugins/plugin_sched_switch.so
        /opt/perf/lib64/traceevent/plugins/plugin_function.so
        /opt/perf/lib64/traceevent/plugins/plugin_cfg80211.so
        /opt/perf/lib64/traceevent/plugins/plugin_xen.so
      Signed-off-by: NJiri Olsa <jolsa@redhat.com>
      Cc: Corey Ashford <cjashfor@linux.vnet.ibm.com>
      Cc: David Ahern <dsahern@gmail.com>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Ingo Molnar <mingo@elte.hu>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Cc: Steven Rostedt <rostedt@goodmis.org>
      Link: http://lkml.kernel.org/r/1386076182-14484-8-git-send-email-jolsa@redhat.comSigned-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
      3d7c0144
  16. 28 11月, 2013 1 次提交
  17. 06 11月, 2013 1 次提交
  18. 04 11月, 2013 3 次提交
  19. 24 10月, 2013 1 次提交
  20. 22 10月, 2013 1 次提交
  21. 11 10月, 2013 1 次提交