1. 22 7月, 2013 1 次提交
  2. 09 7月, 2013 1 次提交
  3. 14 3月, 2013 1 次提交
  4. 30 1月, 2013 1 次提交
    • I
      perf: Add 'perf bench numa mem' NUMA performance measurement suite · 1c13f3c9
      Ingo Molnar 提交于
      Add a suite of NUMA performance benchmarks.
      
      The goal was simulate the behavior and access patterns of real NUMA
      workloads, via a wide range of parameters, so this tool goes well
      beyond simple bzero() measurements that most NUMA micro-benchmarks use:
      
       - It processes the data and creates a chain of data dependencies,
         like a real workload would. Neither the compiler, nor the
         kernel (via KSM and other optimizations) nor the CPU can
         eliminate parts of the workload.
      
       - It randomizes the initial state and also randomizes the target
         addresses of the processing - it's not a simple forward scan
         of addresses.
      
       - It provides flexible options to set process, thread and memory
         relationship information: -G sets "global" memory shared between
         all test processes, -P sets "process" memory shared by all
         threads of a process and -T sets "thread" private memory.
      
       - There's a NUMA convergence monitoring and convergence latency
         measurement option via -c and -m.
      
       - Micro-sleeps and synchronization can be injected to provoke lock
         contention and scheduling, via the -u and -S options. This simulates
         IO and contention.
      
       - The -x option instructs the workload to 'perturb' itself artificially
         every N seconds, by moving to the first and last CPU of the system
         periodically. This way the stability of convergence equilibrium and
         the number of steps taken for the scheduler to reach equilibrium again
         can be measured.
      
       - The amount of work can be specified via the -l loop count, and/or
         via a -s seconds-timeout value.
      
       - CPU and node memory binding options, to test hard binding scenarios.
         THP can be turned on and off via madvise() calls.
      
       - Live reporting of convergence progress in an 'at glance' output format.
         Printing of convergence and deconvergence events.
      
      The 'perf bench numa mem -a' option will start an array of about 30
      individual tests that will each output such measurements:
      
       # Running  5x5-bw-thread, "perf bench numa mem -p 5 -t 5 -P 512 -s 20 -zZ0q --thp  1"
        5x5-bw-thread,                         20.276, secs,           runtime-max/thread
        5x5-bw-thread,                         20.004, secs,           runtime-min/thread
        5x5-bw-thread,                         20.155, secs,           runtime-avg/thread
        5x5-bw-thread,                          0.671, %,              spread-runtime/thread
        5x5-bw-thread,                         21.153, GB,             data/thread
        5x5-bw-thread,                        528.818, GB,             data-total
        5x5-bw-thread,                          0.959, nsecs,          runtime/byte/thread
        5x5-bw-thread,                          1.043, GB/sec,         thread-speed
        5x5-bw-thread,                         26.081, GB/sec,         total-speed
      
      See the help text and the code for more details.
      
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Mike Galbraith <efault@gmx.de>
      Cc: Steven Rostedt <rostedt@goodmis.org>
      Cc: Linus Torvalds <torvalds@linux-foundation.org>
      Cc: Andrew Morton <akpm@linux-foundation.org>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Cc: Andrea Arcangeli <aarcange@redhat.com>
      Cc: Rik van Riel <riel@redhat.com>
      Cc: Mel Gorman <mgorman@suse.de>
      Cc: Hugh Dickins <hughd@google.com>
      Signed-off-by: NIngo Molnar <mingo@kernel.org>
      1c13f3c9
  5. 11 9月, 2012 1 次提交
    • I
      perf tools: Use __maybe_used for unused variables · 1d037ca1
      Irina Tirdea 提交于
      perf defines both __used and __unused variables to use for marking
      unused variables. The variable __used is defined to
      __attribute__((__unused__)), which contradicts the kernel definition to
      __attribute__((__used__)) for new gcc versions. On Android, __used is
      also defined in system headers and this leads to warnings like: warning:
      '__used__' attribute ignored
      
      __unused is not defined in the kernel and is not a standard definition.
      If __unused is included everywhere instead of __used, this leads to
      conflicts with glibc headers, since glibc has a variables with this name
      in its headers.
      
      The best approach is to use __maybe_unused, the definition used in the
      kernel for __attribute__((unused)). In this way there is only one
      definition in perf sources (instead of 2 definitions that point to the
      same thing: __used and __unused) and it works on both Linux and Android.
      This patch simply replaces all instances of __used and __unused with
      __maybe_unused.
      Signed-off-by: NIrina Tirdea <irina.tirdea@intel.com>
      Acked-by: NPekka Enberg <penberg@kernel.org>
      Cc: David Ahern <dsahern@gmail.com>
      Cc: Ingo Molnar <mingo@redhat.com>
      Cc: Namhyung Kim <namhyung.kim@lge.com>
      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/1347315303-29906-7-git-send-email-irina.tirdea@intel.com
      [ committer note: fixed up conflict with a116e05d in builtin-sched.c ]
      Signed-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
      1d037ca1
  6. 09 9月, 2012 1 次提交
  7. 03 7月, 2012 1 次提交
  8. 28 6月, 2012 1 次提交
  9. 07 2月, 2012 2 次提交
  10. 31 1月, 2012 1 次提交
  11. 25 1月, 2012 4 次提交
  12. 07 2月, 2011 1 次提交
    • K
      perf tool: Fix gcc 4.6.0 issues · fb7d0b3c
      Kyle McMartin 提交于
      GCC 4.6.0 in Fedora rawhide turned up some compile errors in tools/perf
      due to the -Werror=unused-but-set-variable flag.
      
      I've gone through and annotated some of the assignments that had side
      effects (ie: return value from a function) with the __used annotation,
      and in some cases, just removed unused code.
      
      In a few cases, we were assigning something useful, but not using it in
      later parts of the function.
      
      kyle@dreadnought:~/src% gcc --version
      gcc (GCC) 4.6.0 20110122 (Red Hat 4.6.0-0.3)
      
      Cc: Ingo Molnar <mingo@redhat.com>
      LKML-Reference: <20110124161304.GK27353@bombadil.infradead.org>
      Signed-off-by: NKyle McMartin <kyle@redhat.com>
      [ committer note: Fixed up the annotation fixes, as that code moved recently ]
      Signed-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
      fb7d0b3c
  13. 26 11月, 2010 2 次提交
    • 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
    • H
      perf bench: Print both of prefaulted and no prefaulted results by default · 49ce8fc6
      Hitoshi Mitake 提交于
      After applying this patch, perf bench mem memcpy prints
      both of prefualted and without prefaulted score of memcpy().
      
      New options --no-prefault and --only-prefault are added
      to print single result, mainly for scripting usage.
      
      Usage example:
      
       | mitake@X201i:~/linux/.../tools/perf% ./perf bench mem memcpy -l 500MB
       | # Running mem/memcpy benchmark...
       | # Copying 500MB Bytes ...
       |
       |      634.969014 MB/Sec
       |        4.828062 GB/Sec (with prefault)
       | mitake@X201i:~/linux/.../tools/perf% ./perf bench mem memcpy -l 500MB --only-prefault
       | # Running mem/memcpy benchmark...
       | # Copying 500MB Bytes ...
       |
       |        4.705192 GB/Sec (with prefault)
       | mitake@X201i:~/linux/.../tools/perf% ./perf bench mem memcpy -l 500MB --no-prefault
       | # Running mem/memcpy benchmark...
       | # Copying 500MB Bytes ...
       |
       |      642.725568 MB/Sec
      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-1-git-send-email-mitake@dcl.info.waseda.ac.jp>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      49ce8fc6
  14. 18 5月, 2010 1 次提交
    • A
      perf options: Check v type in OPT_U?INTEGER · 1967936d
      Arnaldo Carvalho de Melo 提交于
      To avoid problems like the one fixed by Stephane Eranian in 3de29cab, now
      we'll got this instead:
      
      	bench/sched-messaging.c:259: error: negative width in bit-field ‘<anonymous>’
      	bench/sched-messaging.c:261: error: negative width in bit-field ‘<anonymous>’
      
      Which is rather cryptic, but is how BUILD_BUG_ON_ZERO works, so kernel
      hackers should be already used to this.
      
      With it in place found some problems, fixed by changing the affected
      variables to sensible types or changed some OPT_INTEGER to OPT_UINTEGER.
      
      Next csets will go thru converting each of the remaining OPT_ so that
      review can be made easier by grouping changes per type per patch.
      
      Cc: Frédéric 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>
      1967936d
  15. 14 4月, 2010 1 次提交
    • I
      perf: Fix endianness argument compatibility with OPT_BOOLEAN() and introduce OPT_INCR() · c0555642
      Ian Munsie 提交于
      Parsing an option from the command line with OPT_BOOLEAN on a
      bool data type would not work on a big-endian machine due to the
      manner in which the boolean was being cast into an int and
      incremented. For example, running 'perf probe --list' on a
      PowerPC machine would fail to properly set the list_events bool
      and would therefore print out the usage information and
      terminate.
      
      This patch makes OPT_BOOLEAN work as expected with a bool
      datatype. For cases where the original OPT_BOOLEAN was
      intentionally being used to increment an int each time it was
      passed in on the command line, this patch introduces OPT_INCR
      with the old behaviour of OPT_BOOLEAN (the verbose variable is
      currently the only such example of this).
      
      I have reviewed every use of OPT_BOOLEAN to verify that a true
      C99 bool was passed. Where integers were used, I verified that
      they were only being used for boolean logic and changed them to
      bools to ensure that they would not be mistakenly used as ints.
      The major exception was the verbose variable which now uses
      OPT_INCR instead of OPT_BOOLEAN.
      Signed-off-by: NIan Munsie <imunsie@au.ibm.com>
      Acked-by: NDavid S. Miller <davem@davemloft.net>
      Cc: <stable@kernel.org> # NOTE: wont apply to .3[34].x cleanly, please backport
      Cc: Git development list <git@vger.kernel.org>
      Cc: Ian Munsie <imunsie@au1.ibm.com>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
      Cc: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
      Cc: Hitoshi Mitake <mitake@dcl.info.waseda.ac.jp>
      Cc: Rusty Russell <rusty@rustcorp.com.au>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Eric B Munson <ebmunson@us.ibm.com>
      Cc: Valdis.Kletnieks@vt.edu
      Cc: WANG Cong <amwang@redhat.com>
      Cc: Thiago Farina <tfransosi@gmail.com>
      Cc: Masami Hiramatsu <mhiramat@redhat.com>
      Cc: Xiao Guangrong <xiaoguangrong@cn.fujitsu.com>
      Cc: Jaswinder Singh Rajput <jaswinderrajput@gmail.com>
      Cc: Arjan van de Ven <arjan@linux.intel.com>
      Cc: OGAWA Hirofumi <hirofumi@mail.parknet.co.jp>
      Cc: Mike Galbraith <efault@gmx.de>
      Cc: Tom Zanussi <tzanussi@gmail.com>
      Cc: Anton Blanchard <anton@samba.org>
      Cc: John Kacur <jkacur@redhat.com>
      Cc: Li Zefan <lizf@cn.fujitsu.com>
      Cc: Steven Rostedt <rostedt@goodmis.org>
      LKML-Reference: <1271147857-11604-1-git-send-email-imunsie@au.ibm.com>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      c0555642
  16. 08 4月, 2010 1 次提交
  17. 03 4月, 2010 1 次提交
  18. 14 12月, 2009 2 次提交
    • D
      perf sched: Fix build failure on sparc · 2cd9046c
      David Miller 提交于
      Here, tvec->tv_usec is "unsigned int" not "unsigned long".
      
      Since the type is different on every platform, it's probably
      best to just use long printf formats and cast.
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Cc: Mike Galbraith <efault@gmx.de>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      LKML-Reference: <20091213.235622.53363059.davem@davemloft.net>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      2cd9046c
    • H
      perf bench: Add "all" pseudo subsystem and "all" pseudo suite · 2044279d
      Hitoshi Mitake 提交于
      This patch adds a new "all" pseudo subsystem and an "all" pseudo
      suite. These are for testing all subsystem and its all suite, or
      all suite of one subsystem.
      
      (This patch also contains a few trivial comment fixes for
      bench/* and output style fixes. I judged that there are no
      necessity to make them into individual patch.)
      
      Example of use:
      
      | % ./perf bench sched all                      # Test all suites of sched subsystem
      | # Running sched/messaging benchmark...
      | # 20 sender and receiver processes per group
      | # 10 groups == 400 processes run
      |
      |      Total time: 0.414 [sec]
      |
      | # Running sched/pipe benchmark...
      | # Extecuted 1000000 pipe operations between two tasks
      |
      |      Total time: 10.999 [sec]
      |
      |       10.999317 usecs/op
      |           90914 ops/sec
      |
      | % ./perf bench all                            # Test all suites of all subsystems
      | # Running sched/messaging benchmark...
      | # 20 sender and receiver processes per group
      | # 10 groups == 400 processes run
      |
      |      Total time: 0.420 [sec]
      |
      | # Running sched/pipe benchmark...
      | # Extecuted 1000000 pipe operations between two tasks
      |
      |      Total time: 11.741 [sec]
      |
      |       11.741346 usecs/op
      |           85169 ops/sec
      |
      | # Running mem/memcpy benchmark...
      | # Copying 1MB Bytes from 0x7ff33e920010 to 0x7ff3401ae010 ...
      |
      |      808.407437 MB/Sec
      Signed-off-by: NHitoshi Mitake <mitake@dcl.info.waseda.ac.jp>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      LKML-Reference: <1260691319-4683-1-git-send-email-mitake@dcl.info.waseda.ac.jp>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      2044279d
  19. 24 11月, 2009 1 次提交
  20. 22 11月, 2009 1 次提交
    • H
      perf bench: Make the mem/memcpy tests more user-friendly · 12eac0bf
      Hitoshi Mitake 提交于
      mem-memcpy.c uses perf event system calls to obtain CPU clocks.
      And it suddenly dies with BUG_ON() when it running on Linux
      doesn't support perf event.
      
      Also fail at calloc() can occur easily when too large
      length is passed. Fail of calloc() causes sudden death
      with assert().
      
      These behaviours are not friendly. So I fixed the treating of
      errors.
      Signed-off-by: NHitoshi Mitake <mitake@dcl.info.waseda.ac.jp>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      LKML-Reference: <1258688237-3797-1-git-send-email-mitake@dcl.info.waseda.ac.jp>
      [ v2: improved a few small details ]
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      12eac0bf
  21. 19 11月, 2009 1 次提交
    • H
      perf bench: Add memcpy() benchmark · 827f3b49
      Hitoshi Mitake 提交于
      'perf bench mem memcpy' is a benchmark suite for measuring memcpy()
      performance.
      
      Example on a Intel(R) Core(TM)2 Duo CPU E6850 @ 3.00GHz:
      
      | % perf bench mem memcpy -l 1GB
      | # Running mem/memcpy benchmark...
      | # Copying 1MB Bytes from 0xb7d98008 to 0xb7e99008 ...
      |
      |     726.216412 MB/Sec
      Signed-off-by: NHitoshi Mitake <mitake@dcl.info.waseda.ac.jp>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      LKML-Reference: <1258471212-30281-1-git-send-email-mitake@dcl.info.waseda.ac.jp>
      [ v2: updated changelog, clarified history of builtin-bench.c ]
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      827f3b49
  22. 11 11月, 2009 2 次提交
    • H
      perf bench: Improve sched-message.c with more comfortable output · c5659b74
      Hitoshi Mitake 提交于
      This patch improves sched-message.c with more comfortable output.
      
      Change points are comment style description and
      formatting numerical values and its units.
      
      Example:
      
       | % perf bench sched messaging
       | # Running sched/messaging benchmark...
       | # 20 sender and receiver processes per group
       | # 10 groups == 400 processes run
       |
       |      Total time: 1.490 [sec]
      Signed-off-by: NHitoshi Mitake <mitake@dcl.info.waseda.ac.jp>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Cc: Paul Mackerras <paulus@samba.org>
      LKML-Reference: <1257865442-20252-4-git-send-email-mitake@dcl.info.waseda.ac.jp>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Cc: Paul Mackerras <paulus@samba.org>
      c5659b74
    • H
      perf bench: Improve sched-pipe.c with more comfortable output · ff676b19
      Hitoshi Mitake 提交于
      This patch improves sched-pipe.c with more comfortable output.
      
      Change points are comment style description and
      formatting numerical values and its units.
      
      Example:
      
       | % ./perf bench sched pipe
       | # Running sched/pipe benchmark...
       | # Extecuted 1000000 pipe operations between two tasks
       |
       |      Total time:5.822 [sec]
       |
       |        5.822553 usecs/op
       |          171745 ops/sec
      Signed-off-by: NHitoshi Mitake <mitake@dcl.info.waseda.ac.jp>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Cc: Paul Mackerras <paulus@samba.org>
      LKML-Reference: <1257865442-20252-3-git-send-email-mitake@dcl.info.waseda.ac.jp>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      ff676b19
  23. 10 11月, 2009 4 次提交
  24. 09 11月, 2009 1 次提交
    • H
      perf bench: Fix bench/sched-pipe.c to wait for child process · 5ff0cfc6
      Hitoshi Mitake 提交于
      Ingo reported this small 'perf bench sched pipe' output problem:
      
       | $ ./perf bench sched pipe
       | (executing 1000000 pipe operations between two tasks)
       |
       |	Total time:4.898 sec
       | $		4.898586 usecs/op
       |		204140 ops/sec
       |
       | the shell prompt came back before the usecs/op and ops/sec line
       | was printed. Process teardown race, lack of wait() or so?
      
      This caused by lack of calling waitpid() by parent process,
      so I added it.
      Signed-off-by: NHitoshi Mitake <mitake@dcl.info.waseda.ac.jp>
      Cc: Rusty Russell <rusty@rustcorp.com.au>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Mike Galbraith <efault@gmx.de>
      Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Jiri Kosina <jkosina@suse.cz>
      LKML-Reference: <1257737465-7546-1-git-send-email-mitake@dcl.info.waseda.ac.jp>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      5ff0cfc6
  25. 08 11月, 2009 3 次提交
    • H
      perf bench: Add sched-pipe.c: Benchmark for pipe() system call · c7d9300f
      Hitoshi Mitake 提交于
      This patch adds bench/sched-pipe.c.
      
      bench/sched-pipe.c is a benchmark program
      to measure performance of pipe() system call.
      This benchmark is based on pipe-test-1m.c by Ingo Molnar:
      
         http://people.redhat.com/mingo/cfs-scheduler/tools/pipe-test-1m.c
      
      Example of use:
      
      % perf bench sched pipe
        (executing 1000000 pipe operations between two tasks)
      
                Total time:4.499 sec
                        4.499179 usecs/op
                        222262 ops/sec
      
      % perf bench sched pipe -s -l 1000
      0.015
      Signed-off-by: NHitoshi Mitake <mitake@dcl.info.waseda.ac.jp>
      Cc: Rusty Russell <rusty@rustcorp.com.au>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Cc: Mike Galbraith <efault@gmx.de>
      Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
      Cc: fweisbec@gmail.com
      Cc: Jiri Kosina <jkosina@suse.cz>
      LKML-Reference: <1257381097-4743-4-git-send-email-mitake@dcl.info.waseda.ac.jp>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      c7d9300f
    • H
      perf bench: Add sched-messaging.c: Benchmark for scheduler and IPC mechanisms based on hackbench · e27454cc
      Hitoshi Mitake 提交于
      This patch adds bench/sched-messaging.c.
      
      This benchmark measures performance of scheduler and IPC
      mechanisms, and is based on hackbench by Rusty Russell.
      
      Example of usage:
      
        % perf bench sched messaging -g 20 -l 1000 -s
        5.432  	  	       	    	    	     # in sec
      
        % perf bench sched messaging                 # run with default
        options (20 sender and receiver processes per group)
        (10 groups == 400 processes run)
      
              Total time:0.308 sec
      
        % perf bench sched messaging -t -g 20	     # # be multi-thread,
        with 20 groups (20 sender and receiver threads per group)
        (20 groups == 800 threads run)
      
              Total time:0.582 sec
      
      ( Rusty is the original author of hackbench.c and he said the code is
        and was under the GPLv2 so fine to be merged. )
      Signed-off-by: NHitoshi Mitake <mitake@dcl.info.waseda.ac.jp>
      Acked-by: NRusty Russell <rusty@rustcorp.com.au>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Cc: Mike Galbraith <efault@gmx.de>
      Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
      Cc: fweisbec@gmail.com
      Cc: Jiri Kosina <jkosina@suse.cz>
      LKML-Reference: <1257381097-4743-3-git-send-email-mitake@dcl.info.waseda.ac.jp>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      e27454cc
    • H
      perf bench: Add new directory and header for new subcommand 'bench' · c426bba0
      Hitoshi Mitake 提交于
      This patch adds bench/ directory and bench/bench.h.
      
      bench/ directory will contain modules for bench subcommand.
      bench/bench.h is for listing prototypes of module functions.
      Signed-off-by: NHitoshi Mitake <mitake@dcl.info.waseda.ac.jp>
      Cc: Rusty Russell <rusty@rustcorp.com.au>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Cc: Mike Galbraith <efault@gmx.de>
      Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
      Cc: fweisbec@gmail.com
      Cc: Jiri Kosina <jkosina@suse.cz>
      LKML-Reference: <1257381097-4743-2-git-send-email-mitake@dcl.info.waseda.ac.jp>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      c426bba0