1. 08 10月, 2011 7 次提交
    • A
      perf hists browser: Update the browser.nr_entries after the timer · be83f5ed
      Arnaldo Carvalho de Melo 提交于
      Previously the hist_browser dealt with a static tree of entries, now it
      needs to update the nr_entries in the browser after the timer runs.
      
      A better solution will come when moving using another thread for the
      collapse_resort, etc, but for now this is ok.
      
      Cc: David Ahern <dsahern@gmail.com>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Mike Galbraith <efault@gmx.de>
      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-9eno2iq55sjr4iyo899buzaw@git.kernel.orgSigned-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
      be83f5ed
    • A
      perf hists browser: Fix TAB/UNTAB use with multiple events · 7d16320e
      Arnaldo Carvalho de Melo 提交于
      When requesting multiple events, say:
      
        # perf top -e instructions -e cycles -e cache-misses
      
      The first screen lets the user chose what to see first, then to switch
      one can either use the left key to get back to the event menu or simply
      use TAB to go the next and shift+TAB to go the prev.
      
      When using TAB/UNTAB the call to perf_evlist__set_selected(event) was
      missing, fix it.
      
      Cc: David Ahern <dsahern@gmail.com>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Mike Galbraith <efault@gmx.de>
      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-3xqqh3fwmt914gg43frey14y@git.kernel.orgSigned-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
      7d16320e
    • A
      perf hists browser: Don't offer symbol actions when symbols not on --sort · 724c9c9f
      Arnaldo Carvalho de Melo 提交于
      Removing all the entries that only apply to symbols from the menu.
      
      Cc: David Ahern <dsahern@gmail.com>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Mike Galbraith <efault@gmx.de>
      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-7bap0cy2fxtorlj5hgsp48m1@git.kernel.orgSigned-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
      724c9c9f
    • A
      perf annotate browser: Use -> to navigate on assembly lines · 234a5375
      Arnaldo Carvalho de Melo 提交于
      And add better explanations when the line isn't actionable, like non
      assembly lines and on other instructions.
      Suggested-by: NIngo Molnar <mingo@elte.hu>
      Cc: David Ahern <dsahern@gmail.com>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Mike Galbraith <efault@gmx.de>
      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-375n844b5wra7lgq08ou153j@git.kernel.orgSigned-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
      234a5375
    • S
      perf tools: Fix broken number of samples for perf report -n · e39622ce
      Stephane Eranian 提交于
      The perf report -n option was broken because it was not reporting the
      correct number of samples depending on the sorting mode. By default,
      samples are sorted by comm,dso,sym. That means that samples for the same
      command (binary) get collapsed.
      
      The hists__collapse_insert_entry() had a bug whereby it was aggregating
      the number of events observed (periods) but not the number of samples.
      Consequently, the number of samples reported could be below reality. The
      percentage remained correct because based on the periods.
      
      This patch fixes the problem by also aggregating the number of samples.
      Here is an example:
      
      $ perf report -n --stdio
          12.38%        842     pong  [kernel.kallsyms]     [k] __lock_acquire
      
      Here pong (a ctxsw stress test), is the only program running
      and thus it is the only one responsible for the lock_acquire samples.
      
      If we change the sorting mode:
      
      $ perf report -n --stdio --sort=sym
          12.38%       1732  [k] __lock_acquire
      
      The actual number of samples is shown.
      
      With the fix:
      
      $ perf report -n --stdio
          12.38%       1732     pong  [kernel.kallsyms]     [k] __lock_acquire
      
      Cc: David Ahern <dsahern@gmail.com>
      Cc: Ingo Molnar <mingo@elte.hu>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Link: http://lkml.kernel.org/r/20111003093815.GA6393@quadSigned-off-by: NStephane Eranian <eranian@google.com>
      Signed-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
      e39622ce
    • A
      perf annotate browser: Allow navigation to called functions · 34958544
      Arnaldo Carvalho de Melo 提交于
      I.e. when in the annotate TUI window, if Enter is pressed over an
      assembly line with a 'callq' it will try to open another TUI window with
      that symbol.
      
      This is just a proof of concept and works only on x86_64, more work is
      needed to support kernel modules, userland, other arches, etc, but
      should already be useful as-is.
      Suggested-by: NIngo Molnar <mingo@elte.hu>
      Cc: David Ahern <dsahern@gmail.com>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Mike Galbraith <efault@gmx.de>
      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-opyvskw5na3qdmkv8vxi3zbr@git.kernel.orgSigned-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
      34958544
    • A
      perf top: Reuse the 'report' hist_entry/hists classes · ab81f3fd
      Arnaldo Carvalho de Melo 提交于
      This actually fixes several problems we had in the old 'perf top':
      
      1. Unresolved symbols not show, limitation that came from the old
         "KernelTop" codebase, to solve it we would need to do changes
         that would make sym_entry have most of the hist_entry fields.
      2. It was using the number of samples, not the sum of sample->period.
      
      And brings the --sort code that allows us to have all the views in
      'perf report', for instance:
      
      [root@emilia ~]# perf top --sort dso
      PerfTop: 5903 irqs/sec kernel:77.5% exact: 0.0% [1000Hz cycles], (all, 8 CPUs)
      ------------------------------------------------------------------------------
      
          31.59%  libcrypto.so.1.0.0
          21.55%  [kernel]
          18.57%  libpython2.6.so.1.0
           7.04%  libc-2.12.so
           6.99%  _backend_agg.so
           4.72%  sshd
           1.48%  multiarray.so
           1.39%  libfreetype.so.6.3.22
           1.37%  perf
           0.71%  libgobject-2.0.so.0.2200.5
           0.53%  [tg3]
           0.48%  libglib-2.0.so.0.2200.5
           0.44%  libstdc++.so.6.0.13
           0.40%  libcairo.so.2.10800.8
           0.38%  libm-2.12.so
           0.34%  umath.so
           0.30%  libgdk-x11-2.0.so.0.1800.9
           0.22%  libpthread-2.12.so
           0.20%  libgtk-x11-2.0.so.0.1800.9
           0.20%  librt-2.12.so
           0.15%  _path.so
           0.13%  libpango-1.0.so.0.2800.1
           0.11%  libatlas.so.3.0
           0.09%  ft2font.so
           0.09%  libpangoft2-1.0.so.0.2800.1
           0.08%  libX11.so.6.3.0
           0.07%  [vdso]
           0.06%  cyclictest
      ^C
      
      All the filter lists can be used as well: --dsos, --comms, --symbols,
      etc.
      
      The 'perf report' TUI is also reused, being possible to apply all the
      zoom operations, do annotation, etc.
      
      This change will allow multiple simplifications in the symbol system as
      well, that will be detailed in upcoming changesets.
      
      Cc: David Ahern <dsahern@gmail.com>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Mike Galbraith <efault@gmx.de>
      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-xzaaldxq7zhqrrxdxjifk1mh@git.kernel.orgSigned-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
      ab81f3fd
  2. 07 10月, 2011 5 次提交
  3. 30 9月, 2011 6 次提交
  4. 24 9月, 2011 11 次提交
  5. 18 8月, 2011 6 次提交
    • S
      perf stat: Add -o and --append options · 4aa9015f
      Stephane Eranian 提交于
      This patch adds an option (-o) to save the output of perf stat into a
      file. You could do this with perf record but not with perf stat.
      Instead, you had to fiddle with stderr to save the counts into a
      separate file.
      
      The patch also adds the --append option so that results can be
      concatenated into a single file across runs. Each run of the tool is
      clearly separated by a comment line starting with a hash mark. The -A
      option of perf record is already used by perf stat, so we only add a
      long option.
      
      $ perf stat -o res.txt date
      $ cat res.txt
      
       Performance counter stats for 'date':
      
                0.791306 task-clock                #    0.668 CPUs utilized
                       2 context-switches          #    0.003 M/sec
                       0 CPU-migrations            #    0.000 M/sec
                     197 page-faults               #    0.249 M/sec
                 1878143 cycles                    #    2.373 GHz
         <not supported> stalled-cycles-frontend
         <not supported> stalled-cycles-backend
                 1083367 instructions              #    0.58  insns per cycle
                  193027 branches                  #  243.935 M/sec
                    9014 branch-misses             #    4.67% of all branches
      
             0.001184746 seconds time elapsed
      
      The option can be combined with -x to make the output file much easier
      to parse.
      
      Cc: Ingo Molnar <mingo@elte.hu>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Link: http://lkml.kernel.org/r/20110815202233.GA18535@quadSigned-off-by: NStephane Eranian <eranian@google.com>
      Signed-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
      4aa9015f
    • S
      perf annotate: Make output more readable · 3e6a2a7f
      Stephane Eranian 提交于
      This patch adds two new options to perf annotate:
      	- --no-asm-raw : Do not display raw instruction encodings
      	- --no-source  : Do not interleave source code with assembly code
      
      We believe those options make the output of annotate more readable.
      
      Systematically displaying source can make it hard to follow code and
      especially optimized code.
      
      Raw encodings are not useful in most cases.
      
      Cc: Ingo Molnar <mingo@elte.hu>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Link: http://lkml.kernel.org/r/20110517153207.GA9834@quadSigned-off-by: NStephane Eranian <eranian@google.com>
      [committer note: Use the 'no-' option inverting logic]
      Signed-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
      3e6a2a7f
    • J
      perf tools: Fix build against newer glibc · 195bcbf5
      Josh Boyer 提交于
      Upstream glibc commit 295e904 added a definition for __attribute_const__
      to cdefs.h.  This causes the following error when building perf:
      
      util/include/linux/compiler.h:8:0: error: "__attribute_const__"
      redefined [-Werror] /usr/include/sys/cdefs.h:226:0: note: this is the
      location of the previous definition
      
      Wrap __attribute_const__ in #ifndef as we do for __always_inline.
      
      Cc: Ingo Molnar <mingo@elte.hu>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Link: http://lkml.kernel.org/r/20110818113720.GL2227@zod.bos.redhat.comSigned-off-by: NJosh Boyer <jwboyer@redhat.com>
      Signed-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
      195bcbf5
    • S
      perf tools: Fix error handling of unknown events · 777d1d71
      Stephane Eranian 提交于
      There was a problem with the parse_events() code not printing the
      correct event name when an event was unknown and starting with an 'r'.
      The source of the problem was the way raw notation was parsed.
      
      Without the patch:
      	$ perf stat -e retired_foo
      	invalid event modifier: 'tired_foo'
      
      With the patch:
      	$ perf stat -e retired_foo
      	invalid or unsupported event: 'retired_foo'
      
      This also covers the case where the name of the event was not printed at
      all when perf was linked with libpfm4.
      
      Cc: Ingo Molnar <mingo@elte.hu>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Link: http://lkml.kernel.org/r/20110723021043.GA20178@quadSigned-off-by: NStephane Eranian <eranian@google.com>
      Signed-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
      777d1d71
    • S
      perf evlist: Fix missing event name init for default event · cc2d86b0
      Stephane Eranian 提交于
      When no event is given to perf record, perf top, a default event is
      initialized (cycles). However, perf_evlist__add_default() was not
      setting the symbolic name for the event. Perf top worked simply because
      it was reconstructing the name from the event code. But it should not
      have to do this. This patch initializes the evsel->name field properly.
      
      This second version improves the code flow on the non error path.
      
      Cc: Ingo Molnar <mingo@elte.hu>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Link: http://lkml.kernel.org/r/20110607161936.GA8163@quadSigned-off-by: NStephane Eranian <eranian@google.com>
      [committer note: Use perf_evsel__delete() instead of plain free()]
      Signed-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
      cc2d86b0
    • S
      perf list: Fix exit value · 77e57297
      Stephane Eranian 提交于
      This patch fixes an issue with the exit value of perf list:
      
      $ perf list; echo $?
      129
      
      perf list returns an error exit code even though there is no error.
      
      There was a stray exit(129) in print_events(). This patch removes this
      exit().
      
      $ perf list; echo $?
      0
      
      $ perf list hw sw
        cpu-cycles OR cycles                               [Hardware event]
        stalled-cycles-frontend OR idle-cycles-frontend    [Hardware event]
        stalled-cycles-backend OR idle-cycles-backend      [Hardware event]
        instructions                                       [Hardware event]
        cache-references                                   [Hardware event]
        cache-misses                                       [Hardware event]
        branch-instructions OR branches                    [Hardware event]
        branch-misses                                      [Hardware event]
        bus-cycles                                         [Hardware event]
      
        cpu-clock                                          [Software event]
        task-clock                                         [Software event]
        page-faults OR faults                              [Software event]
        minor-faults                                       [Software event]
        major-faults                                       [Software event]
        context-switches OR cs                             [Software event]
        cpu-migrations OR migrations                       [Software event]
        alignment-faults                                   [Software event]
        emulation-faults                                   [Software event]
      $ echo $?
      0
      
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Ingo Molnar <mingo@elte.hu>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Link: http://lkml.kernel.org/r/20110523123917.GA31060@quadSigned-off-by: NStephane Eranian <eranian@google.com>
      Signed-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
      77e57297
  6. 12 8月, 2011 5 次提交
    • M
      perf probe: Filter out redundant inline-instances · 3f4460a2
      Masami Hiramatsu 提交于
      With gcc4.6, some instances of concrete inlined function looks redundant
      and broken, because it appears inside of a concrete instance and its
      call_file and call_line are same as the original abstruct's decl_file
      and decl_line respectively.
      
      e.g.
       [  d1aa]    subprogram
                   external             (flag) Yes
                   name                 (strp) "add_timer"
                   decl_file            (data1) 2		;here is original
                   decl_line            (data2) 847		;line and file
                   prototyped           (flag) Yes
                   inline               (data1) inlined (1)
                   sibling              (ref4) [  d1c6]
      ...
       [ 11d84]    subprogram
                   abstract_origin      (ref4) [  d1aa]	; concrete instance
                   low_pc               (addr) .text+0x000000000000246f <add_timer>
                   high_pc              (addr) .text+0x000000000000248b <mod_timer_pending>
                   frame_base           (block1)               [   0] call_frame_cfa
                   sibling              (ref4) [ 11dd9]
       [ 11d9f]      formal_parameter
                     abstract_origin      (ref4) [  d1b9]
                     location             (data4) location list [  701b]
       [ 11da8]      inlined_subroutine
                     abstract_origin      (ref4) [  d1aa]	; redundant instance
                     low_pc               (addr) .text+0x000000000000247e <add_timer+0xf>
                     high_pc              (addr) .text+0x0000000000002480 <add_timer+0x11>
                     call_file            (data1) 2		; call line and file
                     call_line            (data2) 847		; are same as above
      
      Those redundant instances leads unwilling results;
      
      e.g. find probe points inside of functions even if we specify
      a function entry as below;
      
      $ perf probe -V add_timer
      Available variables at add_timer
              @<add_timer+0>
                      struct timer_list*      timer
              @<add_timer+15>
                      (No matched variables)
      
      So, this filters out those redundant instances based on call-site and
      decl-site information.
      
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Ingo Molnar <mingo@elte.hu>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Pekka Enberg <penberg@kernel.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: yrl.pp-manager.tt@hitachi.com
      Link: http://lkml.kernel.org/r/20110811110317.19900.59525.stgit@fedora15Signed-off-by: NMasami Hiramatsu <masami.hiramatsu.pt@hitachi.com>
      Signed-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
      3f4460a2
    • M
      perf probe: Search concrete out-of-line instances · db0d2c64
      Masami Hiramatsu 提交于
      gcc 4.6 generates a concrete out-of-line instance when there is a
      function which is implicitly inlined somewhere but also has its own
      instance. The concrete out-of-line instance means that it has an
      abstract origin of the function which is referred by not only
      inlined-subroutines but also a concrete subprogram.
      
      Since current dwarf_func_inline_instances() can find only instances of
      inlined-subroutines, this introduces new die_walk_instances() to find
      both of subprogram and inlined-subroutines.
      
      e.g. without this,
      Available variables at sched_group_rt_period
              @<cpu_rt_period_read_uint+9>
                      struct task_group*      tg
      
      perf probe failed to find actual subprogram instance of
      sched_group_rt_period().
      
      With this,
      
      Available variables at sched_group_rt_period
              @<cpu_rt_period_read_uint+9>
                      struct task_group*      tg
              @<sched_group_rt_period+0>
                      struct task_group*      tg
      
      Now it found the sched_group_rt_period() itself.
      
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Ingo Molnar <mingo@elte.hu>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Pekka Enberg <penberg@kernel.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: yrl.pp-manager.tt@hitachi.com
      Link: http://lkml.kernel.org/r/20110811110311.19900.63997.stgit@fedora15Signed-off-by: NMasami Hiramatsu <masami.hiramatsu.pt@hitachi.com>
      Signed-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
      db0d2c64
    • M
      perf probe: Avoid searching variables in intermediate scopes · f182e3e1
      Masami Hiramatsu 提交于
      Fix variable searching logic to search one in inner than local scope or
      global(CU) scope. In the other words, skip searching in intermediate
      scopes.
      
      e.g., in the following code,
      
      int var1;
      
      void inline infunc(int i)
      {
          i++;   <--- [A]
      }
      
      void func(void)
      {
         int var1, var2;
         infunc(var2);
      }
      
      At [A], "var1" should point the global variable "var1", however, if user
      mis-typed as "var2", variable search should be failed. However, current
      logic searches variable infunc() scope, global scope, and then func()
      scope. Thus, it can find "var2" variable in func() scope. This may not
      be what user expects.
      
      So, it would better not search outer scopes except outermost (compile
      unit) scope which contains only global variables, when it failed to find
      given variable in local scope.
      
      E.g.
      
      Without this:
      $ perf probe -V pre_schedule --externs > without.vars
      
      With this:
      $ perf probe -V pre_schedule --externs > with.vars
      
      Check the diff:
      $ diff without.vars with.vars
      88d87
      <               int     cpu
      133d131
      <               long unsigned int*      switch_count
      
      These vars are actually in the scope of schedule(), the caller of
      pre_schedule().
      
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Ingo Molnar <mingo@elte.hu>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Pekka Enberg <penberg@kernel.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: yrl.pp-manager.tt@hitachi.com
      Link: http://lkml.kernel.org/r/20110811110305.19900.94374.stgit@fedora15Signed-off-by: NMasami Hiramatsu <masami.hiramatsu.pt@hitachi.com>
      Signed-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
      f182e3e1
    • M
      perf probe: Fix to search local variables in appropriate scope · 221d0611
      Masami Hiramatsu 提交于
      Fix perf probe to search local variables in appropriate local inlined
      function scope. For example, pre_schedule() has only 2 local variables,
      as below;
      
      $ perf probe -L pre_schedule
      <pre_schedule@/home/mhiramat/ksrc/linux-2.6/kernel/sched.c:0>
            0  static inline void pre_schedule(struct rq *rq, struct task_struct *prev)
               {
            2         if (prev->sched_class->pre_schedule)
            3                 prev->sched_class->pre_schedule(rq, prev);
               }
      
      However, current perf probe shows 4 local variables on pre_schedule(),
      because it searches variables in the caller(schedule()) scope.
      
      $ perf probe -V pre_schedule
      Available variables at pre_schedule
              @<schedule+445>
                      int     cpu
                      long unsigned int*      switch_count
                      struct rq*      rq
                      struct task_struct*     prev
      
      This patch fixes this issue by searching variables in the local scope of
      the instance of inlined function. Here is the result.
      
      $ perf probe -V pre_schedule
      Available variables at pre_schedule
              @<schedule+445>
                      struct rq*      rq
                      struct task_struct*     prev
      
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Ingo Molnar <mingo@elte.hu>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Pekka Enberg <penberg@kernel.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: yrl.pp-manager.tt@hitachi.com
      Link: http://lkml.kernel.org/r/20110811110259.19900.85664.stgit@fedora15Signed-off-by: NMasami Hiramatsu <masami.hiramatsu.pt@hitachi.com>
      Signed-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
      221d0611
    • M
      perf probe: Fix to walk all inline instances · 36c0c588
      Masami Hiramatsu 提交于
      Fix line-range collector to walk all instances of inlined function,
      because some execution paths can be optimized out depending on the
      function argument of instances.
      
      E.g.)
      inline_func (arg) {
      	if (arg)
      		do_something;
      	else
      		do_another;
      }
      
      func_A() {
      	inline_func(1)
      }
      
      func_B() {
      	inline_func(0)
      }
      
      In this case, func_A may have only do_something code and func_B may have
      only do_another.
      
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Ingo Molnar <mingo@elte.hu>
      Cc: Masami Hiramatsu <masami.hiramatsu@gmail.com>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Pekka Enberg <penberg@kernel.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: yrl.pp-manager.tt@hitachi.com
      Link: http://lkml.kernel.org/r/20110811110247.19900.93702.stgit@fedora15Signed-off-by: NMasami Hiramatsu <masami.hiramatsu@gmail.com>
      Signed-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
      36c0c588