1. 07 11月, 2015 1 次提交
  2. 06 10月, 2015 2 次提交
  3. 14 9月, 2015 1 次提交
  4. 04 9月, 2015 1 次提交
    • A
      perf tools: Add a test for decoding of new x86 instructions · 98e4619f
      Adrian Hunter 提交于
      Add a new test titled:
      
      	Test x86 instruction decoder - new instructions
      
      The purpose of this test is to check the instruction decoder after new
      instructions have been added.  Initially, MPX instructions are tested
      which are already supported, but the definitions in x86-opcode-map.txt
      will be tweaked in a subsequent patch, after which this test can be run
      to verify those changes.
      
      The data for the test comes from assembly language instructions in
      insn-x86-dat-src.c which is converted into bytes by the scripts
      gen-insn-x86-dat.sh and gen-insn-x86-dat.awk, and included into the test
      program insn-x86.c as insn-x86-dat-32.c and insn-x86-dat-64.c.
      
      The conversion is not done as part of the perf tools build because the
      test data must be under (git) change control in order for the test to be
      repeatably-correct.  Also it may require a recent version of binutils.
      
      Commiter notes:
      
      Using it:
      
        # perf test decoder
        39: Test x86 instruction decoder - new instructions          : Ok
        # perf test -v decoder
        39: Test x86 instruction decoder - new instructions          :
        --- start ---
        test child forked, pid 21970
        Decoded ok: 0f 31                	rdtsc
        Decoded ok: f3 0f 1b 00          	bndmk  (%eax),%bnd0
        Decoded ok: f3 0f 1b 05 78 56 34 12 	bndmk  0x12345678,%bnd0
        Decoded ok: f3 0f 1b 18          	bndmk  (%eax),%bnd3
        <SNIP>
        Decoded ok: f2 e9 00 00 00 00    	bnd jmpq 402 <main+0x402>
        Decoded ok: f2 e9 00 00 00 00    	bnd jmpq 408 <main+0x408>
        Decoded ok: 67 f2 ff 21          	bnd jmpq *(%ecx)
        Decoded ok: f2 0f 85 00 00 00 00 	bnd jne 413 <main+0x413>
        test child finished with 0
        ---- end ----
        Test x86 instruction decoder - new instructions: Ok
        #
      Signed-off-by: NAdrian Hunter <adrian.hunter@intel.com>
      Acked-by: NMasami Hiramatsu <masami.hiramatsu.pt@hitachi.com>
      Tested-by: NArnaldo Carvalho de Melo <acme@redhat.com>
      Cc: "H. Peter Anvin" <hpa@zytor.com>
      Cc: Andy Lutomirski <luto@amacapital.net>
      Cc: Dave Hansen <dave.hansen@linux.intel.com>
      Cc: Denys Vlasenko <dvlasenk@redhat.com>
      Cc: Jiri Olsa <jolsa@redhat.com>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Qiaowei Ren <qiaowei.ren@intel.com>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Link: http://lkml.kernel.org/r/1441196131-20632-3-git-send-email-adrian.hunter@intel.comSigned-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
      98e4619f
  5. 07 8月, 2015 1 次提交
    • W
      perf tests: Add LLVM test for eBPF on-the-fly compiling · 9bc898c7
      Wang Nan 提交于
      Previous patches introduce llvm__compile_bpf() to compile source file to
      eBPF object. This patch adds testcase to test it. It also tests libbpf
      by opening generated object after applying next patch which introduces
      HAVE_LIBBPF_SUPPORT option.
      
      Since llvm__compile_bpf() prints long messages which users who don't
      explicitly test llvm doesn't care, this patch set verbose to -1 to
      suppress all debug, warning and error message, and hint user use 'perf
      test -v' to see the full output.
      
      For the same reason, if clang is not found in PATH and there's no [llvm]
      section in .perfconfig, skip this test.
      Signed-off-by: NWang Nan <wangnan0@huawei.com>
      Acked-by: NAlexei Starovoitov <ast@plumgrid.com>
      Cc: Brendan Gregg <brendan.d.gregg@gmail.com>
      Cc: Daniel Borkmann <daniel@iogearbox.net>
      Cc: David Ahern <dsahern@gmail.com>
      Cc: He Kuang <hekuang@huawei.com>
      Cc: Jiri Olsa <jolsa@kernel.org>
      Cc: Kaixu Xia <xiakaixu@huawei.com>
      Cc: Masami Hiramatsu <masami.hiramatsu.pt@hitachi.com>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Cc: Zefan Li <lizefan@huawei.com>
      Cc: pi3orama@163.com
      Link: http://lkml.kernel.org/n/1436445342-1402-17-git-send-email-wangnan0@huawei.com
      [ Add tools/lib/bpf/ to tools/perf/MANIFEST, so that the tarball targets build ]
      Signed-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
      9bc898c7
  6. 26 6月, 2015 1 次提交
  7. 29 5月, 2015 2 次提交
  8. 12 5月, 2015 1 次提交
    • A
      perf tests: Show refcounting broken expectations in thread-mg-share test · 8f196013
      Arnaldo Carvalho de Melo 提交于
      To help understand the failure.
      
        [acme@zoo linux]$ perf test -v 30
        30: Test thread mg sharing                                 :
        --- start ---
        test child forked, pid 12275
        FAILED tests/thread-mg-share.c:68 wrong refcnt (4 != 3)
        test child finished with -1
        ---- end ----
        Test thread mg sharing: FAILED!
        [acme@zoo linux]$
      
      This is under investigation, the thread__delete() calls were replaced
      with thread__put(), and those cause mismatches because now we need to be
      more judicious with the thread lifetime management.
      
      I.e. previously the thread__delete() would drop the map_group refcount,
      but now since thread__put doesn't call thread__delete() necessarily.
      because we have other refcount holders, the map_group refcount will not
      be as we expected when this test was implemented.
      
      Will be fixed soon...
      
      Cc: Adrian Hunter <adrian.hunter@intel.com>
      Cc: Borislav Petkov <bp@suse.de>
      Cc: David Ahern <dsahern@gmail.com>
      Cc: Don Zickus <dzickus@redhat.com>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Jiri Olsa <jolsa@redhat.com>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Stephane Eranian <eranian@google.com>
      Link: http://lkml.kernel.org/n/tip-9y8e3f7ukzco5loxvnlitpfq@git.kernel.orgSigned-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
      8f196013
  9. 22 3月, 2015 1 次提交
    • J
      perf tools: Add kmod_path__parse function · 3c8a67f5
      Jiri Olsa 提交于
      Provides united way of parsing kernel module path
      into several components.
      
      The new kmod_path__parse function and few defines:
      
        int __kmod_path__parse(struct kmod_path *m, const char *path,
                               bool alloc_name, bool alloc_ext);
      
        #define kmod_path__parse(__m, __p)      __kmod_path__parse(__m, __p, false, false)
        #define kmod_path__parse_name(__m, __p) __kmod_path__parse(__m, __p, true , false)
        #define kmod_path__parse_ext(__m, __p)  __kmod_path__parse(__m, __p, false, true)
      
      parse kernel module @path and updates @m argument like:
      
        @comp - true if @path contains supported compression suffix,
                false otherwise
        @kmod - true if @path contains '.ko' suffix in right position,
                false otherwise
        @name - if (@alloc_name && @kmod) is true, it contains strdup-ed base name
                of the kernel module without suffixes, otherwise strudup-ed
                base name of @path
        @ext  - if (@alloc_ext && @comp) is true, it contains strdup-ed string
                the compression suffix
      
      It returns 0 if there's no strdup error, -ENOMEM otherwise.
      Signed-off-by: NJiri Olsa <jolsa@kernel.org>
      Acked-by: NNamhyung Kim <namhyung@kernel.org>
      Cc: Adrian Hunter <adrian.hunter@intel.com>
      Cc: Corey Ashford <cjashfor@linux.vnet.ibm.com>
      Cc: David Ahern <dsahern@gmail.com>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Cc: Stephane Eranian <eranian@google.com>
      Link: http://lkml.kernel.org/n/tip-9t6eqg8j610r94l743hkntiv@git.kernel.orgSigned-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
      3c8a67f5
  10. 26 9月, 2014 3 次提交
    • A
      tools lib api: Adopt fdarray class from perf's evlist · 1b85337d
      Arnaldo Carvalho de Melo 提交于
      The extensible file description array that grew in the perf_evlist class
      can be useful for other tools, as it is not something that only evlists
      need, so move it to tools/lib/api/fd to ease sharing it.
      
      v2: Don't use {} like in:
      
       libapi_dirs:
      	$(QUIET_MKDIR)mkdir -p $(OUTPUT){fs,fd}/
      
      in Makefiles, as it will not work in some systems, as in ubuntu13.10.
      
      v3: Add fd/*.[ch] to LIBAPIKFS_SOURCES (Fix from Jiri Olsa)
      
      v4: Leave the fcntl(fd, O_NONBLOCK) in the evlist layer, remains to
          be checked if it is really needed there, but has no place in the
          fdarray class (Fix from Jiri Olsa)
      
      v5: Remove evlist details from fdarray grow/filter tests. Improve it a
          bit doing more tests about expected internal state.
      
      Cc: Adrian Hunter <adrian.hunter@intel.com>
      Cc: Borislav Petkov <bp@suse.de>
      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: Jiri Olsa <jolsa@kernel.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/n/tip-kleuni3hckbc3s0lu6yb9x40@git.kernel.orgSigned-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
      1b85337d
    • A
      perf tests: Add pollfd growing test · 9ae28035
      Arnaldo Carvalho de Melo 提交于
        [acme@ssdandy linux]$ perf test "Add fd"
        34: Add fd to pollfd array, making it autogrow             : Ok
        [acme@ssdandy linux]$ perf test -v "Add fd"
        34: Add fd to pollfd array, making it autogrow             :
        --- start ---
        test child forked, pid 19817
      
        before growing array:   2 [ 1, 2 ]
        after 3rd add_pollfd:   3 [ 1, 2, 35 ]
        after 4th add_pollfd:   4 [ 1, 2, 35, 88 ]
        test child finished with 0
        ---- end ----
        Add fd to pollfd array, making it autogrow: Ok
        [acme@ssdandy linux]$
      Acked-by: NJiri Olsa <jolsa@kernel.org>
      Cc: Adrian Hunter <adrian.hunter@intel.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: Jiri Olsa <jolsa@kernel.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/n/tip-smflpyta146bzog7z0effjss@git.kernel.orgSigned-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
      9ae28035
    • A
      perf tests: Add test for perf_evlist__filter_pollfd() · 54dbfae3
      Arnaldo Carvalho de Melo 提交于
      That will use a synthetic evlist with just what is touched by this new
      method to check that it works as expected.
      
      Output in verbose mode:
      
        $ perf test -v pollfd
        33: Filter fds with revents mask in a pollfd array         :
        --- start ---
        filtering all but pollfd[2]:
        before:   5 [ 5, 4, 3, 2, 1 ]
         after:   1 [ 3 ]
        filtering all but (pollfd[0], pollfd[3]):
        before:   5 [ 5, 4, 3, 2, 1 ]
         after:   2 [ 5, 2 ]
        test child finished with 0
        ---- end ----
        Filter fds with revents mask in a pollfd array: Ok
        $
      Acked-by: NJiri Olsa <jolsa@kernel.org>
      Cc: Adrian Hunter <adrian.hunter@intel.com>
      Cc: David Ahern <dsahern@gmail.com>
      Cc: Don Zickus <dzickus@redhat.com>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Jiri Olsa <jolsa@redhat.com>
      Cc: Mike Galbraith <efault@gmx.de>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Stephane Eranian <eranian@google.com>
      Link: http://lkml.kernel.org/n/tip-x7c8liszdvc3ocmanf2cet8p@git.kernel.orgSigned-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
      54dbfae3
  11. 23 8月, 2014 1 次提交
  12. 12 6月, 2014 2 次提交
  13. 01 6月, 2014 1 次提交
  14. 21 5月, 2014 1 次提交
  15. 16 5月, 2014 1 次提交
  16. 28 4月, 2014 3 次提交
  17. 18 2月, 2014 2 次提交
  18. 06 9月, 2013 1 次提交
  19. 03 9月, 2013 1 次提交
  20. 30 8月, 2013 1 次提交
  21. 08 8月, 2013 1 次提交
  22. 23 7月, 2013 1 次提交
  23. 13 7月, 2013 1 次提交
  24. 18 3月, 2013 1 次提交
  25. 16 3月, 2013 3 次提交
    • N
      perf test: Add test case for checking number of EXIT events · d723a550
      Namhyung Kim 提交于
      The new test__task_exit() test runs a simple "/usr/bin/true" workload and then
      checks whether the number of EXIT event is 1 or not.
      Signed-off-by: NNamhyung Kim <namhyung@kernel.org>
      Cc: Ingo Molnar <mingo@kernel.org>
      Cc: Jiri Olsa <jolsa@redhat.com>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Link: http://lkml.kernel.org/r/87obeljax4.fsf@sejong.aot.lge.com
      [ committer note: Fixup conflicts with f4c66b4 ( bp overflow tests ) ]
      Signed-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
      d723a550
    • J
      perf tests: Test breakpoint overflow signal handler counts · 06933e3a
      Jiri Olsa 提交于
      Adding automated test to check the exact number of breakpoint event
      overflows and counts.
      
      This test was originally done by Vince Weaver for perf_event_tests.
      Signed-off-by: NJiri Olsa <jolsa@redhat.com>
      Cc: "H. Peter Anvin" <hpa@zytor.com>
      Cc: Andi Kleen <andi@firstfloor.org>
      Cc: Corey Ashford <cjashfor@linux.vnet.ibm.com>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: H. Peter Anvin <hpa@zytor.com>
      Cc: Ingo Molnar <mingo@elte.hu>
      Cc: Oleg Nesterov <oleg@redhat.com>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Cc: Stephane Eranian <eranian@google.com>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: Vince Weaver <vincent.weaver@maine.edu>
      Link: http://lkml.kernel.org/r/1362940871-24486-7-git-send-email-jolsa@redhat.com
      [ committer note: s/pr_err/pr_debug/g i.e. print just OK or FAILED in non verbose mode ]
      Signed-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
      06933e3a
    • J
      perf tests: Test breakpoint overflow signal handler · 5a6bef47
      Jiri Olsa 提交于
      Adding automated test for breakpoint event signal handler checking if
      it's executed properly.
      
      The test is related to the proper handling of the RF EFLAGS bit on
      x86_64, but it's generic for all archs.
      
      First we check the signal handler is properly called and that the
      following debug exception return to user space wouldn't trigger
      recursive breakpoint.
      
      This is related to x86_64 RF EFLAGS bit being managed in a wrong way.
      
      Second we check that we can set breakpoint in signal handler, which is
      not possible on x86_64 if the signal handler is executed with RF EFLAG
      set.
      
      This test is inpired by overflow tests done by Vince Weaver.
      Signed-off-by: NJiri Olsa <jolsa@redhat.com>
      Cc: "H. Peter Anvin" <hpa@zytor.com>
      Cc: Andi Kleen <andi@firstfloor.org>
      Cc: Corey Ashford <cjashfor@linux.vnet.ibm.com>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: H. Peter Anvin <hpa@zytor.com>
      Cc: Ingo Molnar <mingo@elte.hu>
      Cc: Oleg Nesterov <oleg@redhat.com>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Cc: Stephane Eranian <eranian@google.com>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: Vince Weaver <vincent.weaver@maine.edu>
      Link: http://lkml.kernel.org/r/1362940871-24486-6-git-send-email-jolsa@redhat.com
      [ committer note: s/pr_err/pr_debug/g i.e. print just OK or FAILED in non verbose mode ]
      Signed-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
      5a6bef47
  26. 25 1月, 2013 3 次提交
    • J
      perf tests: Add return states enum for tests · f4c1ea5f
      Jiri Olsa 提交于
      Test can currently return one of 3 states: ok, fail, skip.
      
      The ok and fail states are self-explanatory. The skip state means that
      some of the conditions for running the test was not met, making it
      impossible to even run the test. For instance, if the hardware doesn't
      support the 'precise' level required by a test, it will be skipped.
      Signed-off-by: NJiri Olsa <jolsa@redhat.com>
      Cc: Corey Ashford <cjashfor@linux.vnet.ibm.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: Arnaldo Carvalho de Melo <acme@redhat.com>
      Link: http://lkml.kernel.org/n/tip-04vnsdndarctfb1eii5c9hcy@git.kernel.orgSigned-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
      f4c1ea5f
    • A
      perf test: Check for linking problems in the python binding · 54359d33
      Arnaldo Carvalho de Melo 提交于
      It just will add the O= builddir to PYTHONPATH and try to 'use perf',
      which will, in verbose mode show the python backtrace with the missing
      symbols, such as in the problem fixed in the patch after this one:
      
        # perf test -v 15
        15: Try 'use perf' in python, checking link problems       :
        --- start ---
        Traceback (most recent call last):
          File "<stdin>", line 1, in <module>
        ImportError: /home/acme/git/build/perf//python/perf.so: undefined symbol: test_attr__enabled
        ---- end ----
        Try 'use perf' in python, checking link problems: FAILED!
        #
      
      Loooong overdue, done.
      
      Cc: David Ahern <dsahern@gmail.com>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      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: Peter Zijlstra <peterz@infradead.org>
      Cc: Stephane Eranian <eranian@google.com>
      Link: http://lkml.kernel.org/n/tip-zmd2oq9gz6t1u145ub7qm2nv@git.kernel.orgSigned-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
      54359d33
    • N
      perf test: Add a test case for hists__{match,link} · f8ebb0cd
      Namhyung Kim 提交于
      As they are used from diff and event group report, add a test case to
      verify their behaviors.
      
      In this test I made a fake machine and two evsel.  Each evsel got 10
      samples (so hist entries) - 5 are common and the rests are not.  So
      after hists__match() both of them will have 5 entries with pair set.
      
      And the second evsel has a collapsed entry so that the total number is 9
      - I made it in order to simulate more realistic case.  Thus after
      hists__link the first entry will have 14 entries - 5 are common (w/
      pair), 5 are unmatch (w/o pair) and 4 are dummy (w/ pair).  And the
      second entry will have 9 entries all have its pair.
      Signed-off-by: NNamhyung Kim <namhyung@kernel.org>
      Cc: Ingo Molnar <mingo@kernel.org>
      Cc: Jiri Olsa <jolsa@redhat.com>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Cc: Stephane Eranian <eranian@google.com>
      Link: http://lkml.kernel.org/r/1355128197-18193-5-git-send-email-namhyung@kernel.org
      [ committer note: fixed up clashes with cset that moved methods to machine.h ]
      Signed-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
      f8ebb0cd
  27. 11 12月, 2012 1 次提交
  28. 15 11月, 2012 1 次提交