21 Sep, 2012

4 commits

  • Add 'perf kvm stat' support to analyze kvm vmexit/mmio/ioport smartly

    Usage:
    - kvm stat
    run a command and gather performance counter statistics, it is the alias of
    perf stat

    - trace kvm events:
    perf kvm stat record, or, if other tracepoints are interesting as well, we
    can append the events like this:
    perf kvm stat record -e timer:* -a

    If many guests are running, we can track the specified guest by using -p or
    --pid, -a is used to track events generated by all guests.

    - show the result:
    perf kvm stat report

    The output example is following:
    13005
    13059

    total 2 guests are running on the host

    Then, track the guest whose pid is 13059:
    ^C[ perf record: Woken up 1 times to write data ]
    [ perf record: Captured and wrote 0.253 MB perf.data.guest (~11065 samples) ]

    See the vmexit events:

    Analyze events for all VCPUs:

    VM-EXIT Samples Samples% Time% Avg time

    APIC_ACCESS 460 70.55% 0.01% 22.44us ( +- 1.75% )
    HLT 93 14.26% 99.98% 832077.26us ( +- 10.42% )
    EXTERNAL_INTERRUPT 64 9.82% 0.00% 35.35us ( +- 14.21% )
    PENDING_INTERRUPT 24 3.68% 0.00% 9.29us ( +- 31.39% )
    CR_ACCESS 7 1.07% 0.00% 8.12us ( +- 5.76% )
    IO_INSTRUCTION 3 0.46% 0.00% 18.00us ( +- 11.79% )
    EXCEPTION_NMI 1 0.15% 0.00% 5.83us ( +- -nan% )

    Total Samples:652, Total events handled time:77396109.80us.

    See the mmio events:

    Analyze events for all VCPUs:

    MMIO Access Samples Samples% Time% Avg time

    0xfee00380:W 387 84.31% 79.28% 8.29us ( +- 3.32% )
    0xfee00300:W 24 5.23% 9.96% 16.79us ( +- 1.97% )
    0xfee00300:R 24 5.23% 7.83% 13.20us ( +- 3.00% )
    0xfee00310:W 24 5.23% 2.93% 4.94us ( +- 3.84% )

    Total Samples:459, Total events handled time:4044.59us.

    See the ioport event:

    Analyze events for all VCPUs:

    IO Port Access Samples Samples% Time% Avg time

    0xc050:POUT 3 100.00% 100.00% 13.75us ( +- 10.83% )

    Total Samples:3, Total events handled time:41.26us.

    And, --vcpu is used to track the specified vcpu and --key is used to sort the
    result:

    Analyze events for VCPU 0:

    VM-EXIT Samples Samples% Time% Avg time

    HLT 27 13.85% 99.97% 405790.24us ( +- 12.70% )
    EXTERNAL_INTERRUPT 13 6.67% 0.00% 27.94us ( +- 22.26% )
    APIC_ACCESS 146 74.87% 0.03% 21.69us ( +- 2.91% )
    IO_INSTRUCTION 2 1.03% 0.00% 17.77us ( +- 20.56% )
    CR_ACCESS 2 1.03% 0.00% 8.55us ( +- 6.47% )
    PENDING_INTERRUPT 5 2.56% 0.00% 6.27us ( +- 3.94% )

    Total Samples:195, Total events handled time:10959950.90us.

    Signed-off-by: Dong Hao
    Signed-off-by: Runzhen Wang
    [ Dong Hao
    Runzhen Wang :
    - rebase it on current acme's tree
    - fix the compiling-error on i386 ]
    Signed-off-by: Xiao Guangrong
    Acked-by: David Ahern
    Cc: Avi Kivity
    Cc: David Ahern
    Cc: Ingo Molnar
    Cc: Marcelo Tosatti
    Cc: kvm@vger.kernel.org
    Cc: Runzhen Wang
    Link: http://lkml.kernel.org/r/1347870675-31495-4-git-send-email-haodong@linux.vnet.ibm.com
    Signed-off-by: Arnaldo Carvalho de Melo

    Xiao Guangrong
     
  • Exporting KVM exit information to userspace to be consumed by perf.

    Signed-off-by: Dong Hao
    [ Dong Hao : rebase it on acme's git tree ]
    Signed-off-by: Xiao Guangrong
    Acked-by: Marcelo Tosatti
    Cc: Avi Kivity
    Cc: David Ahern
    Cc: Ingo Molnar
    Cc: Marcelo Tosatti
    Cc: kvm@vger.kernel.org
    Cc: Runzhen Wang
    Link: http://lkml.kernel.org/r/1347870675-31495-2-git-send-email-haodong@linux.vnet.ibm.com
    Signed-off-by: Arnaldo Carvalho de Melo

    Xiao Guangrong
     
  • Parallel builds of perf were failing for me on a 32p box, with:

    * new build flags or prefix
    util/pmu.l:7:23: error: pmu-bison.h: No such file or directory

    ...

    make: *** [util/pmu-flex.o] Error 1
    make: *** Waiting for unfinished jobs....

    This can pretty quickly be seen by adding a sleep in front of the bison
    calls in tools/perf/Makefile and running make -j4 on a smaller box i.e.:

    sleep 10; $(QUIET_BISON)$(BISON) -v util/pmu.y -d -o $(OUTPUT)util/pmu-bison.c

    Adding the following dependencies fixes it for me.

    Signed-off-by: Eric Sandeen
    Reviewed-by: Namhyung Kim
    Cc: Namhyung Kim
    Link: http://lkml.kernel.org/r/505BD190.40707@redhat.com
    Signed-off-by: Arnaldo Carvalho de Melo

    Eric Sandeen
     
  • Got tired of not getting the event that caused the perf_event_open()
    syscall to fail. So I fixed the error message. This is very useful when
    monitoring lots of events in a single run.

    Signed-off-by: Stephane Eranian
    Cc: David Ahern
    Cc: Ingo Molnar
    Cc: Peter Zijlstra
    Link: http://lkml.kernel.org/r/20120920161945.GA7064@quad
    Signed-off-by: Arnaldo Carvalho de Melo

    Stephane Eranian
     

20 Sep, 2012

2 commits

  • This patch fix a compile warning taken as error:

    CC util/map.o
    cc1: warnings being treated as errors
    util/map.c: In function ‘map__fprintf_dsoname’:
    util/map.c:240: error: ‘dsoname’ may be used uninitialized in this function
    make: *** [util/map.o] Error 1

    Signed-off-by: Feng Tang
    Cc: David Ahern
    Cc: Ingo Molnar
    Cc: Namhyung Kim
    Cc: Peter Zijlstra
    Link: http://lkml.kernel.org/r/1346053107-11946-3-git-send-email-feng.tang@intel.com
    Signed-off-by: Arnaldo Carvalho de Melo

    Feng Tang
     
  • On my x86_32 mahcine, there is a compile error:

    CC util/scripting-engines/trace-event-perl.o
    cc1: warnings being treated as errors
    util/scripting-engines/trace-event-perl.c: In function
    perl_process_tracepoint:
    util/scripting-engines/trace-event-perl.c:285: error: format
    expects type 'int', but argument 2 has type '__u64'
    make: *** [util/scripting-engines/trace-event-perl.o] Error 1

    Fix it by using the "%PRIu64" for __u64.

    v2: use PRIu64 as suggested by Arnaldo.

    Signed-off-by: Feng Tang
    Cc: David Ahern
    Cc: Namhyung Kim
    Cc: Peter Zijlstra
    Link: http://lkml.kernel.org/r/20120828101730.6b2fd97e@feng-i7
    Signed-off-by: Arnaldo Carvalho de Melo

    Feng Tang
     

19 Sep, 2012

3 commits

  • The test should be >= ARRAY_SIZE() instead of > ARRAY_SIZE().

    Signed-off-by: Dan Carpenter
    Acked-by: Jiri Olsa
    Acked-by: Peter Zijlstra
    Cc: Frederic Weisbecker
    Cc: Arnaldo Carvalho de Melo
    Link: http://lkml.kernel.org/r/20120905123126.GC6128@elgon.mountain
    Signed-off-by: Ingo Molnar

    Dan Carpenter
     
  • …g/misc into perf/core

    Pull uprobes fixes + cleanups from Oleg Nesterov.

    Signed-off-by: Ingo Molnar <mingo@kernel.org>

    Ingo Molnar
     
  • …/acme/linux into perf/core

    Pull perf/core improvements and fixes from Arnaldo Carvalho de Melo:

    * Fix handling of unresolved samples when --symbols is used in 'report',
    from Feng Tang.

    * Add --symbols to 'script', similar to the one in 'report', from Feng Tang.

    * Add union member access support to 'probe', from Hyeoncheol Lee.

    * Make 'archive' work on Android, tweaking some of the utility parameters
    used (tar, rm), from Irina Tirdea.

    * Fixups to die() removal, from Namhyung Kim.

    * Render fixes for the TUI, from Namhyung Kim.

    * Don't enable annotation in non symbolic view, from Namhyung Kim.

    * Fix pipe mode in 'report', from Namhyung Kim.

    * Move related stats code from stat to util/, will be used by the 'stat'
    kvm tool, from Xiao Guangrong.

    * Add cpumask for uncore pmu, use it in 'stat', from Yan, Zheng.

    Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
    Signed-off-by: Ingo Molnar <mingo@kernel.org>

    Ingo Molnar
     

18 Sep, 2012

12 commits

  • If user doesn't explicitly specify CPU list, perf-stat only collects
    events on CPUs listed in the PMU cpumask file.

    Signed-off-by: "Yah, Zheng"
    Cc: Andi Kleen
    Cc: Ingo Molnar
    Cc: Jiri Olsa
    Cc: Peter Zijlstra
    Cc: Stephane Eranian
    Link: http://lkml.kernel.org/r/1347263631-23175-3-git-send-email-zheng.z.yan@intel.com
    Signed-off-by: Arnaldo Carvalho de Melo

    Yan, Zheng
     
  • This patch adds a cpumask file to the uncore pmu sysfs directory. The
    cpumask file contains one active cpu for every socket.

    Signed-off-by: "Yan, Zheng"
    Acked-by: Peter Zijlstra
    Acked-by: Ingo Molnar
    Cc: Andi Kleen
    Cc: Jiri Olsa
    Cc: Peter Zijlstra
    Cc: Stephane Eranian
    Cc: "Yan, Zheng"
    Link: http://lkml.kernel.org/r/1347263631-23175-2-git-send-email-zheng.z.yan@intel.com
    Signed-off-by: Arnaldo Carvalho de Melo

    Yan, Zheng
     
  • The perf_hpp__init() function was only called from setup_browser() so
    that the pipe-mode missed the initialization thus didn't respond to
    related options. Fix it.

    Reported-by: Robert Richter
    Tested-by: Robert Richter
    Signed-off-by: Namhyung Kim
    Cc: H. Peter Anvin
    Cc: Ingo Molnar
    Cc: Paul Mackerras
    Cc: Peter Zijlstra
    Cc: Robert Richter
    Cc: Thomas Gleixner
    Cc: linux-tip-commits@vger.kernel.org
    Link: http://lkml.kernel.org/r/87txv28spl.fsf_-_@sejong.aot.lge.com
    Signed-off-by: Arnaldo Carvalho de Melo

    Namhyung Kim
     
  • So that other perf commands/browser has a way to dig out the available
    scripts info in system, this is a preparation for the script browser.

    Signed-off-by: Feng Tang
    Cc: Andi Kleen
    Cc: David Ahern
    Cc: Ingo Molnar
    Cc: Namhyung Kim
    Cc: Peter Zijlstra
    Link: http://lkml.kernel.org/r/1347007349-3102-5-git-send-email-feng.tang@intel.com
    Signed-off-by: Arnaldo Carvalho de Melo

    Feng Tang
     
  • So that event_analyzing_sample.py can be shown by "perf script -l"

    Signed-off-by: Feng Tang
    Cc: Andi Kleen
    Cc: David Ahern
    Cc: Ingo Molnar
    Cc: Namhyung Kim
    Cc: Peter Zijlstra
    Link: http://lkml.kernel.org/r/1347007349-3102-4-git-send-email-feng.tang@intel.com
    Signed-off-by: Arnaldo Carvalho de Melo

    Feng Tang
     
  • Since perf script no longer only handle the trace points, we can add the
    symbol filter option so that scripts can handle specified samples.

    Signed-off-by: Feng Tang
    Cc: Andi Kleen
    Cc: David Ahern
    Cc: Ingo Molnar
    Cc: Namhyung Kim
    Cc: Peter Zijlstra
    Link: http://lkml.kernel.org/r/1347007349-3102-3-git-send-email-feng.tang@intel.com
    Signed-off-by: Arnaldo Carvalho de Melo

    Feng Tang
     
  • Report/top commands support to only handle specific symbols with
    "--symbols" option, but current code will keep those samples whose
    symbol can't be resolved, which should actually be filtered.

    If we run following commands:
    $perf record -a tree
    $perf report --symbols intel_idle -n
    the output will be:

    Without the patch:
    ==================
    46.27% 156 sshd [unknown]
    26.05% 48 swapper [kernel.kallsyms]
    17.26% 38 tree libc-2.12.1.so
    7.69% 17 tree tree
    2.73% 6 tree ld-2.12.1.so

    With the patch:
    ===============
    100.00% 48 swapper [kernel.kallsyms]

    Signed-off-by: Feng Tang
    Cc: Andi Kleen
    Cc: David Ahern
    Cc: Ingo Molnar
    Cc: Namhyung Kim
    Cc: Peter Zijlstra
    Link: http://lkml.kernel.org/r/1347007349-3102-2-git-send-email-feng.tang@intel.com
    Signed-off-by: Arnaldo Carvalho de Melo

    Feng Tang
     
  • On some systems, tar needs to specify the name of the archive immediately
    after the -f parameter.

    Change the order of the parameters so tar can run properly.

    Signed-off-by: Irina Tirdea
    Cc: David Ahern
    Cc: Ingo Molnar
    Cc: Namhyung Kim
    Cc: Paul Mackerras
    Cc: Peter Zijlstra
    Cc: Steven Rostedt
    Link: http://lkml.kernel.org/r/1347574063-22521-5-git-send-email-irina.tirdea@intel.com
    Signed-off-by: Arnaldo Carvalho de Melo

    Irina Tirdea
     
  • In Android, rm does not support the -f parameter.

    Remove -f from rm and make sure rm does not fail even if the files to be
    removed are not found.

    Signed-off-by: Irina Tirdea
    Cc: David Ahern
    Cc: Ingo Molnar
    Cc: Namhyung Kim
    Cc: Paul Mackerras
    Cc: Peter Zijlstra
    Cc: Steven Rostedt
    Link: http://lkml.kernel.org/r/1347574063-22521-4-git-send-email-irina.tirdea@intel.com
    Signed-off-by: Arnaldo Carvalho de Melo

    Irina Tirdea
     
  • Then, the code can be shared between kvm events and perf stat.

    Signed-off-by: Xiao Guangrong
    [ Dong Hao : rebase it on acme's git tree ]
    Signed-off-by: Dong Hao
    Cc: Avi Kivity
    Cc: David Ahern
    Cc: Ingo Molnar
    Cc: kvm@vger.kernel.org
    Cc: Marcelo Tosatti
    Cc: Runzhen Wang
    Cc: Xiao Guangrong

    Xiao Guangrong
     
  • The integrated annotation feature is supported only in TUI mode. Also
    it should be enabled with 'symbol' sort key otherwise resulting hist
    entry doesn't need to have same symbol as of a sample so that it can
    fail on hist_entry__inc_addr_samples with -ERANGE.

    You can easily see it when start perf report TUI without symbol* sort
    key. This patch fixes the problem.

    Signed-off-by: Namhyung Kim
    Cc: Ingo Molnar
    Cc: Paul Mackerras
    Cc: Peter Zijlstra
    Link: http://lkml.kernel.org/r/1347611729-16994-2-git-send-email-namhyung@kernel.org
    Signed-off-by: Arnaldo Carvalho de Melo

    Namhyung Kim
     
  • The sort__has_sym variable is for checking whether the sort_list
    includes 'symbol' as a sort key. It will be used for later patch.

    Signed-off-by: Namhyung Kim
    Cc: Ingo Molnar
    Cc: Paul Mackerras
    Cc: Peter Zijlstra
    Link: http://lkml.kernel.org/r/1347611729-16994-1-git-send-email-namhyung@kernel.org
    Signed-off-by: Arnaldo Carvalho de Melo

    Namhyung Kim
     

15 Sep, 2012

18 commits

  • Make arch_uprobe_task->saved_trap_nr "unsigned int" and move it down
    after ->saved_scratch_register, this changes sizeof() from 24 to 16.

    Signed-off-by: Oleg Nesterov
    Acked-by: Srikar Dronamraju

    Oleg Nesterov
     
  • arch_uprobe_disable_step() should also take UTASK_SSTEP_TRAPPED into
    account. In this case the probed insn was not executed, we need to
    clear X86_EFLAGS_TF if it was set by us and that is all.

    Again, this code will look more clean when we move it into
    arch_uprobe_post_xol() and arch_uprobe_abort_xol().

    Signed-off-by: Oleg Nesterov
    Acked-by: Srikar Dronamraju

    Oleg Nesterov
     
  • arch_uprobe_disable_step() correctly preserves X86_EFLAGS_TF and
    returns to user-mode. But this means the application gets SIGTRAP
    only after the next insn.

    This means that UPROBE_CLEAR_TF logic is not really right. _enable
    should only record the state of X86_EFLAGS_TF, and _disable should
    check it separately from UPROBE_FIX_SETF.

    Remove arch_uprobe_task->restore_flags, add ->saved_tf instead, and
    change enable/disable accordingly. This assumes that the probed insn
    was not trapped, see the next patch.

    arch_uprobe_skip_sstep() logic has the same problem, change it to
    check X86_EFLAGS_TF and send SIGTRAP as well. We will cleanup this
    all after we fold enable/disable_step into pre/post_hol hooks.

    Note: send_sig(SIGTRAP) is not actually right, we need send_sigtrap().
    But this needs more changes, handle_swbp() does the same and this is
    equally wrong.

    Signed-off-by: Oleg Nesterov
    Acked-by: Srikar Dronamraju

    Oleg Nesterov
     
  • user_enable/disable_single_step() was designed for ptrace, it assumes
    a single user and does unnecessary and wrong things for uprobes. For
    example:

    - arch_uprobe_enable_step() can't trust TIF_SINGLESTEP, an
    application itself can set X86_EFLAGS_TF which must be
    preserved after arch_uprobe_disable_step().

    - we do not want to set TIF_SINGLESTEP/TIF_FORCED_TF in
    arch_uprobe_enable_step(), this only makes sense for ptrace.

    - otoh we leak TIF_SINGLESTEP if arch_uprobe_disable_step()
    doesn't do user_disable_single_step(), the application will
    be killed after the next syscall.

    - arch_uprobe_enable_step() does access_process_vm() we do
    not need/want.

    Change arch_uprobe_enable/disable_step() to set/clear X86_EFLAGS_TF
    directly, this is much simpler and more correct. However, we need to
    clear TIF_BLOCKSTEP/DEBUGCTLMSR_BTF before executing the probed insn,
    add set_task_blockstep(false).

    Note: with or without this patch, there is another (hopefully minor)
    problem. A probed "pushf" insn can see the wrong X86_EFLAGS_TF set by
    uprobes. Perhaps we should change _disable to update the stack, or
    teach arch_uprobe_skip_sstep() to emulate this insn.

    Signed-off-by: Oleg Nesterov
    Acked-by: Srikar Dronamraju

    Oleg Nesterov
     
  • Afaics the usage of update_debugctlmsr() and TIF_BLOCKSTEP in
    step.c was always very wrong.

    1. update_debugctlmsr() was simply unneeded. The child sleeps
    TASK_TRACED, __switch_to_xtra(next_p => child) should notice
    TIF_BLOCKSTEP and set/clear DEBUGCTLMSR_BTF after resume if
    needed.

    2. It is wrong. The state of DEBUGCTLMSR_BTF bit in CPU register
    should always match the state of current's TIF_BLOCKSTEP bit.

    3. Even get_debugctlmsr() + update_debugctlmsr() itself does not
    look right. Irq can change other bits in MSR_IA32_DEBUGCTLMSR
    register or the caller can be preempted in between.

    4. It is not safe to play with TIF_BLOCKSTEP if task != current.
    DEBUGCTLMSR_BTF and TIF_BLOCKSTEP should always match each
    other if the task is running. The tracee is stopped but it
    can be SIGKILL'ed right before set/clear_tsk_thread_flag().

    However, now that uprobes uses user_enable_single_step(current)
    we can't simply remove update_debugctlmsr(). So this patch adds
    the additional "task == current" check and disables irqs to avoid
    the race with interrupts/preemption.

    Unfortunately this patch doesn't solve the last problem, we need
    another fix. Probably we should teach ptrace_stop() to set/clear
    single/block stepping after resume.

    And afaics there is yet another problem: perf can play with
    MSR_IA32_DEBUGCTLMSR from nmi, this obviously means that even
    __switch_to_xtra() has problems.

    Signed-off-by: Oleg Nesterov

    Oleg Nesterov
     
  • No functional changes, preparation for the next fix and for uprobes
    single-step fixes.

    Move the code playing with TIF_BLOCKSTEP/DEBUGCTLMSR_BTF into the
    new helper, set_task_blockstep().

    Signed-off-by: Oleg Nesterov
    Acked-by: Srikar Dronamraju

    Oleg Nesterov
     
  • The arch specific implementation behaves like user_enable_single_step()
    except that it does not disable single stepping if it was already
    enabled by ptrace. This allows the debugger to single step over an
    uprobe. The state of block stepping is not restored. It makes only sense
    together with TF and if that was enabled then the debugger is notified.

    Note: this is still not correct. For example, TIF_SINGLESTEP check
    is not right, the application itself can set X86_EFLAGS_TF. And otoh
    we leak TIF_SINGLESTEP (set by enable) if the probed insn is "popf".
    See the next patches, we need the changes in arch/x86/kernel/step.c
    first.

    Signed-off-by: Sebastian Andrzej Siewior
    Signed-off-by: Oleg Nesterov
    Acked-by: Srikar Dronamraju

    Sebastian Andrzej Siewior
     
  • As Oleg pointed out in [0] uprobe should not use the ptrace interface
    for enabling/disabling single stepping.

    [0] http://lkml.kernel.org/r/20120730141638.GA5306@redhat.com

    Add the new "__weak arch" helpers which simply call user_*_single_step()
    as a preparation. This is only needed to not break the powerpc port, we
    will fold this logic into arch_uprobe_pre/post_xol() hooks later.

    We should also change handle_singlestep(), _disable_step(&uprobe->arch)
    should be called before put_uprobe().

    Signed-off-by: Sebastian Andrzej Siewior
    Signed-off-by: Oleg Nesterov
    Acked-by: Srikar Dronamraju

    Sebastian Andrzej Siewior
     
  • The wrong MMF_HAS_UPROBES doesn't really hurt, just it triggers
    the "slow" and unnecessary handle_swbp() path if the task hits
    the non-uprobe breakpoint.

    So this patch changes find_active_uprobe() to check every valid
    vma and clear MMF_HAS_UPROBES if no uprobes were found. This is
    adds the slow O(n) path, but it is only called in unlikely case
    when the task hits the normal breakpoint first time after
    uprobe_unregister().

    Note the "not strictly accurate" comment in mmf_recalc_uprobes().
    We can fix this, we only need to teach vma_has_uprobes() to return
    a bit more more info, but I am not sure this worth the trouble.

    Signed-off-by: Oleg Nesterov
    Acked-by: Srikar Dronamraju

    Oleg Nesterov
     
  • Add the new MMF_RECALC_UPROBES flag, it means that MMF_HAS_UPROBES
    can be false positive after remove_breakpoint() or uprobe_munmap().
    It is also set by uprobe_dup_mmap(), this is not optimal but simple.
    We could add the new hook, uprobe_dup_vma(), to set MMF_HAS_UPROBES
    only if the new mm actually has uprobes, but I don't think this
    makes sense.

    The next patch will use this flag to clear MMF_HAS_UPROBES.

    Signed-off-by: Oleg Nesterov
    Acked-by: Srikar Dronamraju

    Oleg Nesterov
     
  • Nobody plays with uprobes_tree/uprobes_treelock in interrupt context,
    no need to disable irqs.

    Signed-off-by: Oleg Nesterov
    Acked-by: Srikar Dronamraju

    Oleg Nesterov
     
  • alloc_uprobe() might return a NULL pointer, put_uprobe() can't deal with
    this.

    Signed-off-by: Sebastian Andrzej Siewior
    Signed-off-by: Oleg Nesterov
    Acked-by: Srikar Dronamraju

    Sebastian Andrzej Siewior
     
  • As a side effect of commit f5951d56a2ab ("perf hists browser: Use
    perf_hpp__format functions") perf report TUI got a problem of not
    refreshing the first character.

    Since the previous patch restores the column width of "overhead" to 7
    we can start at column 0 now.

    Reported-by: Ingo Molnar
    Signed-off-by: Namhyung Kim
    Cc: Ingo Molnar
    Cc: Paul Mackerras
    Cc: Peter Zijlstra
    Link: http://lkml.kernel.org/r/1347431706-7839-2-git-send-email-namhyung@kernel.org
    Signed-off-by: Arnaldo Carvalho de Melo

    Namhyung Kim
     
  • Current hpp format functions assume that the output will fit to 6
    character including % sign (XX.YY%) so used "%5.2f%%" as a format
    string. However it might be the case if collapsing resulted in a single
    entry which has 100.00% (7 character) of period. In this case the output
    will be shifted by 1 character.

    Signed-off-by: Namhyung Kim
    Cc: Ingo Molnar
    Cc: Paul Mackerras
    Cc: Peter Zijlstra
    Link: http://lkml.kernel.org/r/1347431706-7839-1-git-send-email-namhyung@kernel.org
    Signed-off-by: Arnaldo Carvalho de Melo

    Namhyung Kim
     
  • For the reasons stated on:

    commit 0a84f00
    Author: David Daney

    perf tools: Fix broken build by defining _GNU_SOURCE in Makefile

    Acked-by: Steven Rostedt
    Cc: David Ahern
    Cc: David Daney
    Cc: Frederic Weisbecker
    Cc: Jiri Olsa
    Cc: Mike Galbraith
    Cc: Namhyung Kim
    Cc: Paul Mackerras
    Cc: Peter Zijlstra
    Cc: Stephane Eranian
    Cc: Steven Rostedt
    Link: http://lkml.kernel.org/n/tip-e2nofbmj4uf0ykgsytxvt9pu@git.kernel.org
    Signed-off-by: Arnaldo Carvalho de Melo

    Arnaldo Carvalho de Melo
     
  • The commit a116e05dcf61 ("perf sched: Remove die() calls") replaced
    die() call to pr_debug + return -1, but it should be pr_err otherwise
    it'll not show up unless -v option is given. Fix it.

    Signed-off-by: Namhyung Kim
    Cc: Ingo Molnar
    Cc: Paul Mackerras
    Cc: Peter Zijlstra
    Link: http://lkml.kernel.org/r/1347415866-303-2-git-send-email-namhyung@kernel.org
    Signed-off-by: Arnaldo Carvalho de Melo

    Namhyung Kim
     
  • The commit 32c7f7383a09 ("perf test: Remove die() calls") replaced die()
    call to pr_debug + return -1, but it should be pr_err otherwise it'll
    not show up unless -v option is given. Fix it.

    Signed-off-by: Namhyung Kim
    Cc: Ingo Molnar
    Cc: Paul Mackerras
    Cc: Peter Zijlstra
    Link: http://lkml.kernel.org/r/1347415866-303-1-git-send-email-namhyung@kernel.org
    Signed-off-by: Arnaldo Carvalho de Melo

    Namhyung Kim
     
  • Union members can be accessed with '.' or '->' like data structure
    member access

    Signed-off-by: Hyunchul Lee
    Acked-by: Masami Hiramatsu
    Cc: Masami Hiramatsu
    Cc: Srikar Dronamraju
    Link: http://lkml.kernel.org/r/CANFS6baeuSBxPGQ8SUZWZErJ2bWs-Nojg+FSo138E1QK8bJJig@mail.gmail.com
    Signed-off-by: Arnaldo Carvalho de Melo

    Hyeoncheol Lee
     

14 Sep, 2012

1 commit