07 Feb, 2013

2 commits

  • Currently the setup_sorting() is called for parsing sort keys and exits
    if it failed to add the sort key. As it's included in libperf it'd be
    better returning an error code rather than exiting application inside of
    the library.

    Signed-off-by: Namhyung Kim
    Suggested-by: Arnaldo Carvalho de Melo
    Cc: Ingo Molnar
    Cc: Jiri Olsa
    Cc: Paul Mackerras
    Cc: Peter Zijlstra
    Cc: Stephane Eranian
    Link: http://lkml.kernel.org/r/1360130237-9963-2-git-send-email-namhyung@kernel.org
    Signed-off-by: Arnaldo Carvalho de Melo

    Namhyung Kim
     
  • This is for tui browser only. This patch will check the returned key of
    tui hists browser, if it's K_SWITH_INPUT_DATA, then recreate a session
    for the new selected data file.

    V2: Move the setup_brower() before the "repeat" jump point.

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

    Feng Tang
     

01 Feb, 2013

5 commits

  • Add report.group config option for setting default value of event
    group view. It affects the report output only if perf.data contains
    event group info.

    A user can write .perfconfig file like below to enable group view by
    default:

    $ cat ~/.perfconfig
    [report]
    group = true

    And it can be disabled through command line:

    $ perf report --no-group

    Signed-off-by: Namhyung Kim
    Cc: Ingo Molnar
    Cc: Jiri Olsa
    Cc: Paul Mackerras
    Cc: Peter Zijlstra
    Cc: Stephane Eranian
    Link: http://lkml.kernel.org/r/1358845787-1350-19-git-send-email-namhyung@kernel.org
    Signed-off-by: Arnaldo Carvalho de Melo

    Namhyung Kim
     
  • Add --group option to enable event grouping. When enabled, all the
    group members information will be shown together with the leader.

    $ perf report --group
    ...
    # group: {ref-cycles,cycles}
    # ========
    #
    # Samples: 7K of event 'anon group { ref-cycles, cycles }'
    # Event count (approx.): 6876107743
    #
    # Overhead Command Shared Object Symbol
    # ................ ....... ................. ..........................
    #
    99.84% 99.76% noploop noploop [.] main
    0.07% 0.00% noploop ld-2.15.so [.] strcmp
    0.03% 0.00% noploop [kernel.kallsyms] [k] timerqueue_del
    0.03% 0.03% noploop [kernel.kallsyms] [k] sched_clock_cpu
    0.02% 0.00% noploop [kernel.kallsyms] [k] account_user_time
    0.01% 0.00% noploop [kernel.kallsyms] [k] __alloc_pages_nodemask
    0.00% 0.00% noploop [kernel.kallsyms] [k] native_write_msr_safe
    0.00% 0.11% noploop [kernel.kallsyms] [k] _raw_spin_lock
    0.00% 0.06% noploop [kernel.kallsyms] [k] find_get_page
    0.00% 0.02% noploop [kernel.kallsyms] [k] rcu_check_callbacks
    0.00% 0.02% noploop [kernel.kallsyms] [k] __current_kernel_time

    Signed-off-by: Namhyung Kim
    Acked-by: Jiri Olsa
    Cc: Ingo Molnar
    Cc: Jiri Olsa
    Cc: Paul Mackerras
    Cc: Peter Zijlstra
    Cc: Stephane Eranian
    Link: http://lkml.kernel.org/r/1358845787-1350-18-git-send-email-namhyung@kernel.org
    Signed-off-by: Arnaldo Carvalho de Melo

    Namhyung Kim
     
  • When using event group viewer, it's better to show the group description
    rather than the leader information alone.

    If a leader did not contain any member, it's a non-group event.

    Signed-off-by: Namhyung Kim
    Acked-by: Jiri Olsa
    Cc: Ingo Molnar
    Cc: Jiri Olsa
    Cc: Paul Mackerras
    Cc: Pekka Enberg
    Cc: Peter Zijlstra
    Cc: Stephane Eranian
    Link: http://lkml.kernel.org/r/1358845787-1350-17-git-send-email-namhyung@kernel.org
    Signed-off-by: Arnaldo Carvalho de Melo

    Namhyung Kim
     
  • Since we have all necessary information in the leader events and other
    members don't, bypass members. Member events will be shown along with
    the leaders if event group is enabled.

    Signed-off-by: Namhyung Kim
    Acked-by: Jiri Olsa
    Cc: Ingo Molnar
    Cc: Jiri Olsa
    Cc: Paul Mackerras
    Cc: Pekka Enberg
    Cc: Peter Zijlstra
    Cc: Stephane Eranian
    Link: http://lkml.kernel.org/r/1358845787-1350-16-git-send-email-namhyung@kernel.org
    Signed-off-by: Arnaldo Carvalho de Melo

    Namhyung Kim
     
  • Now the event grouping viewing requires linking all member hists in a
    group to the leader's. Thus hists__output_resort should be called after
    linking all events in evlist.

    Introduce symbol_conf.event_group flag to determine whether the feature
    is enabled or not.

    Signed-off-by: Namhyung Kim
    Acked-by: Jiri Olsa
    Cc: Ingo Molnar
    Cc: Jiri Olsa
    Cc: Paul Mackerras
    Cc: Peter Zijlstra
    Cc: Stephane Eranian
    Link: http://lkml.kernel.org/r/1358845787-1350-5-git-send-email-namhyung@kernel.org
    Signed-off-by: Arnaldo Carvalho de Melo

    Namhyung Kim
     

25 Jan, 2013

2 commits

  • Add description of sort keys to the perf-report document and also add
    missing cpu and srcline keys to the command line help string.

    Signed-off-by: Namhyung Kim
    Acked-by: Jiri Olsa
    Cc: David Ahern
    Cc: Ingo Molnar
    Cc: Jiri Olsa
    Cc: Paul Mackerras
    Cc: Peter Zijlstra
    Cc: Stephane Eranian
    Link: http://lkml.kernel.org/r/1356599507-14226-11-git-send-email-namhyung@kernel.org
    Signed-off-by: Arnaldo Carvalho de Melo

    Namhyung Kim
     
  • That consolidates the grouping of host + guests, isolating a bit more of
    functionality now centered on 'perf_session' that can be used
    independently in tools that don't need a 'perf_session' instance, but
    needs to have all the thread/map/symbol machinery.

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

    Arnaldo Carvalho de Melo
     

09 Dec, 2012

1 commit

  • Adding perf_hpp__list list to register and contain all period related
    columns the command is interested in.

    This way we get rid of static array holding all possible columns and
    enable commands to register their own columns.

    It'll be handy for diff command in future to process and display data
    for multiple files.

    Signed-off-by: Jiri Olsa
    Cc: Peter Zijlstra
    Cc: Ingo Molnar
    Cc: Paul Mackerras
    Cc: Corey Ashford
    Cc: Frederic Weisbecker
    Cc: Namhyung Kim
    Link: http://lkml.kernel.org/n/tip-kiykge4igrcl7etmpmveto1h@git.kernel.org
    Signed-off-by: Arnaldo Carvalho de Melo

    Jiri Olsa
     

06 Nov, 2012

2 commits

  • David reported that current perf report refused to run on a data file
    captured from a different machine because of objdump.

    Since the objdump tools won't be used unless annotation was requested,
    checking its presence at init time doesn't make sense.

    Reported-by: David Ahern
    Signed-off-by: Namhyung Kim
    Reviewed-by: David Ahern
    Tested-by: David Ahern
    Cc: Ingo Molnar
    Cc: Irina Tirdea
    Cc: Paul Mackerras
    Cc: Peter Zijlstra
    Link: http://lkml.kernel.org/r/1351835406-15208-3-git-send-email-namhyung@kernel.org
    Signed-off-by: Arnaldo Carvalho de Melo

    Namhyung Kim
     
  • Currently various hist browser functions receive 3 arguments for
    refreshing histogram but only used from a few places. Also it's only
    for perf top command so that it can be NULL for other (and probably
    most) cases. Pack them into a struct in order to reduce number of those
    unused arguments.

    This is a mechanical change and does not intend a functional change.

    Signed-off-by: Namhyung Kim
    Tested-by: David Ahern
    Cc: David Ahern
    Cc: Ingo Molnar
    Cc: Irina Tirdea
    Cc: Paul Mackerras
    Cc: Peter Zijlstra
    Link: http://lkml.kernel.org/r/1351835406-15208-2-git-send-email-namhyung@kernel.org
    Signed-off-by: Arnaldo Carvalho de Melo

    Namhyung Kim
     

29 Oct, 2012

1 commit

  • Currently many perf commands annotate/evlist/report/script/lock etc all
    support "-i" option to chose a specific perf data, and all of them
    create a local "input_name" to save the file name for that perf data.

    Since most of these commands need it, we can add a global variable for
    it, also it can some other benefits:

    1. When calling script browser inside hists/annotation browser, it needs
    to know the perf data file name to run that script.

    2. For further feature like runtime switching to another perf data file,
    this variable can also help.

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

    Feng Tang
     

25 Oct, 2012

1 commit

  • As we have architecture information of saved perf.data file, we can try
    to find cross-built objdump path.

    The triplets include support for Android (arm, x86 and mips
    architectures).

    Signed-off-by: Irina Tirdea
    Originally-by: Namhyung Kim
    Acked-by: Namhyung Kim
    Cc: David Ahern
    Cc: Ingo Molnar
    Cc: Jiri Olsa
    Cc: Namhyung Kim
    Cc: Paul Mackerras
    Cc: Pekka Enberg
    Cc: Peter Zijlstra
    Cc: Steven Rostedt
    Link: http://lkml.kernel.org/r/1350344020-8071-5-git-send-email-irina.tirdea@gmail.com
    Signed-off-by: Arnaldo Carvalho de Melo

    Irina Tirdea
     

07 Oct, 2012

1 commit

  • When we were processing a PERF_RECORD_EXIT event we first used
    machine__findnew_thread for both the thread exiting and for its parent,
    only to use just the thread struct associated with the one exiting, and
    to just delete it.

    If it existed, i.e. not created at this very moment in
    machine__findnew_thread, it will be moved to the machine->dead_threads
    linked list, because we may have hist_entries pointing to it, but if it
    was created just do be deleted, it will just sit there with no
    references at all.

    Use the new machine__find_thread() method so that if it is not there, we
    don't create it.

    As a bonus the parent thread will also not be created at this point.

    Create process_fork() and process_exit() helpers to use this and make
    the builtins use it instead of the generic process_task(), ditched by
    this patch.

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

    Arnaldo Carvalho de Melo
     

05 Oct, 2012

3 commits

  • Adding perf_hpp__column_enable function to enable/disable hists column
    and removing diff command specific stuff 'need_pair and
    show_displacement' from hpp code.

    The diff command now enables/disables columns separately according to
    the user arguments. This will be helpful in future patches where more
    columns are added into diff output.

    Signed-off-by: Jiri Olsa
    Cc: Corey Ashford
    Cc: Frederic Weisbecker
    Cc: Ingo Molnar
    Cc: Ingo Molnar
    Cc: Namhyung Kim
    Cc: Paul Mackerras
    Cc: Peter Zijlstra
    Cc: Peter Zijlstra
    Cc: Stephane Eranian
    Link: http://lkml.kernel.org/r/1349354994-17853-6-git-send-email-namhyung@kernel.org
    Signed-off-by: Namhyung Kim
    Signed-off-by: Arnaldo Carvalho de Melo

    Jiri Olsa
     
  • The hists pointer is now part of the 'struct hist_entry'.

    And since the overhead and baseline columns are split now, there's no
    reason to pass it through the output path.

    Signed-off-by: Jiri Olsa
    Cc: Corey Ashford
    Cc: Frederic Weisbecker
    Cc: Ingo Molnar
    Cc: Namhyung Kim
    Cc: Paul Mackerras
    Cc: Peter Zijlstra
    Cc: Stephane Eranian
    Link: http://lkml.kernel.org/r/1349354994-17853-5-git-send-email-namhyung@kernel.org
    Signed-off-by: Namhyung Kim
    Signed-off-by: Arnaldo Carvalho de Melo

    Jiri Olsa
     
  • Moving the position calculation into the diff command, so the position
    as prepared inside struct hist_entry data and there's no need to compute
    in the output display path.

    Removing 'displacement' from struct perf_hpp as it is no longer needed.

    Signed-off-by: Jiri Olsa
    Cc: Corey Ashford
    Cc: Frederic Weisbecker
    Cc: Ingo Molnar
    Cc: Namhyung Kim
    Cc: Paul Mackerras
    Cc: Peter Zijlstra
    Cc: Stephane Eranian
    Link: http://lkml.kernel.org/r/1349354994-17853-3-git-send-email-namhyung@kernel.org
    Signed-off-by: Namhyung Kim
    Signed-off-by: Arnaldo Carvalho de Melo

    Jiri Olsa
     

18 Sep, 2012

2 commits

  • 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
     
  • 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
     

11 Sep, 2012

1 commit

  • 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: Irina Tirdea
    Acked-by: Pekka Enberg
    Cc: David Ahern
    Cc: Ingo Molnar
    Cc: Namhyung Kim
    Cc: Paul Mackerras
    Cc: Peter Zijlstra
    Cc: Steven Rostedt
    Link: http://lkml.kernel.org/r/1347315303-29906-7-git-send-email-irina.tirdea@intel.com
    [ committer note: fixed up conflict with a116e05 in builtin-sched.c ]
    Signed-off-by: Arnaldo Carvalho de Melo

    Irina Tirdea
     

06 Sep, 2012

1 commit

  • When analyzing perf data from hosts of other architecture than one of
    the local host it's useful to call objdump that is part of a toolchain
    for that architecture. Instead of calling regular objdump, call one that
    user specified in command line.

    Signed-off-by: Maciek Borzecki
    Acked-by: David Ahern
    Link: http://lkml.kernel.org/r/1346754750.16299.3.camel@localhost.localdomain
    Signed-off-by: Arnaldo Carvalho de Melo

    Maciek Borzecki
     

12 Aug, 2012

1 commit

  • This brings the support for DWARF cfi unwinding on perf post
    processing. Call frame informations are retrieved and then passed
    to libunwind that requests memory and register content from the
    applications.

    Adding unwind object to handle the user stack backtrace based
    on the user register values and user stack dump.

    The unwind object access the libunwind via remote interface
    and provides to it all the necessary data to unwind the stack.

    The unwind interface provides following function:
    unwind__get_entries

    And callback (specified in above function) to retrieve
    the backtrace entries:
    typedef int (*unwind_entry_cb_t)(struct unwind_entry *entry,
    void *arg);

    Signed-off-by: Jiri Olsa
    Original-patch-by: Frederic Weisbecker
    Cc: "Frank Ch. Eigler"
    Cc: Arun Sharma
    Cc: Benjamin Redelings
    Cc: Corey Ashford
    Cc: Cyrill Gorcunov
    Cc: Frank Ch. Eigler
    Cc: Frederic Weisbecker
    Cc: Ingo Molnar
    Cc: Masami Hiramatsu
    Cc: Paul Mackerras
    Cc: Peter Zijlstra
    Cc: Robert Richter
    Cc: Stephane Eranian
    Cc: Tom Zanussi
    Cc: Ulrich Drepper
    Link: http://lkml.kernel.org/r/1344345647-11536-12-git-send-email-jolsa@redhat.com
    [ Replaced use of perf_session by usage of perf_evsel ]
    Signed-off-by: Arnaldo Carvalho de Melo

    Jiri Olsa
     

02 Aug, 2012

1 commit


28 Jun, 2012

1 commit

  • The pipeline:
    perf record -a -g -o - sleep 5 |perf inject -v -b | perf report -g -i -

    generates the warning:
    Selected -g but no callchain data. Did you call 'perf record' without -g?

    The problem is that the header data is not written to the pipe, so the
    sample_type has not been available when perf_report__setup_sample_type
    is called. For pipe mode, record dumps the sample type as part of the
    synthesized events stream -- perf_event__synthesize_attrs(). Handle this
    be detecting pipe mode and not doing early sanity checks on sample_type.

    Signed-off-by: David Ahern
    Tested-by: Tim Chen
    Cc: Frederic Weisbecker
    Cc: Ingo Molnar
    Cc: Paul Mackerras
    Cc: Peter Zijlstra
    Cc: Thomas Gleixner
    Cc: Tim Chen
    Link: http://lkml.kernel.org/r/1339444121-26236-1-git-send-email-dsahern@gmail.com
    Signed-off-by: Arnaldo Carvalho de Melo

    David Ahern
     

20 Jun, 2012

2 commits

  • Removing unused evsel parameter from machine__resolve_callchain
    function. Plus related header file and callers changes.

    The evsel parameter is unused since following commit:
    perf callchain: Make callchain cursors TLS
    commit 472606458f3e1ced5fe3cc5f04e90a6b5a4732cf
    Author: Namhyung Kim
    Date: Thu May 31 14:43:26 2012 +0900

    Signed-off-by: Jiri Olsa
    Cc: Arun Sharma
    Cc: Benjamin Redelings
    Cc: Corey Ashford
    Cc: Cyrill Gorcunov
    Cc: Frank Ch. Eigler
    Cc: Frederic Weisbecker
    Cc: Ingo Molnar
    Cc: Masami Hiramatsu
    Cc: Paul Mackerras
    Cc: Peter Zijlstra
    Cc: Robert Richter
    Cc: Stephane Eranian
    Cc: Tom Zanussi
    Cc: Ulrich Drepper
    Link: http://lkml.kernel.org/r/1339420814-7379-9-git-send-email-jolsa@redhat.com
    Signed-off-by: Arnaldo Carvalho de Melo

    Jiri Olsa
     
  • So that we don't use global variables that could make us misreport event
    names when having a multi window top, for instance.

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

    Arnaldo Carvalho de Melo
     

31 May, 2012

1 commit

  • perf top -G has a race on callchain cursor between main thread and
    display thread. Since the callchain cursors are used locally make them
    thread-local data would solve the problem.

    Signed-off-by: Namhyung Kim
    Reported-by: Sunjin Yang
    Suggested-by: Arnaldo Carvalho de Melo
    Cc: Ingo Molnar
    Cc: Namhyung Kim
    Cc: Paul Mackerras
    Cc: Peter Zijlstra
    Cc: Sunjin Yang
    Link: http://lkml.kernel.org/r/1338443007-24857-1-git-send-email-namhyung.kim@lge.com
    Signed-off-by: Arnaldo Carvalho de Melo

    Namhyung Kim
     

30 May, 2012

1 commit

  • In non symbolic views, i.e. --sort without "symbol", as in:

    perf report --sort comm

    We're segfaulting in the --tui because we're testing the symbol resolved
    and then trying to use the symbol on the histogram entry where we're
    coalescing all hits for a COMM, and the first hist_entry for a comm may
    have a NULL symbol, i.e. the RIP didn't resolve to any symbol.

    In this case we're segfaulting, fix it by testing against the symbol in
    the histogram entry.

    Reported-by: William Cohen
    Cc: David Ahern
    Cc: Frederic Weisbecker
    Cc: Jiri Olsa
    Cc: Mike Galbraith
    Cc: Namhyung Kim
    Cc: Paul Mackerras
    Cc: Peter Zijlstra
    Cc: Stephane Eranian
    Link: http://lkml.kernel.org/n/tip-8ylwubbcmu27ucc9ffrku3yv@git.kernel.org
    Signed-off-by: Arnaldo Carvalho de Melo

    Arnaldo Carvalho de Melo
     

29 May, 2012

1 commit

  • There were places where use ui__warning (or even fprintf) to show
    critical messages. This patch converts them to ui__error so that the
    front-end code can implement appropriate behavior.

    Signed-off-by: Namhyung Kim
    Cc: Paul Mackerras
    Cc: Pekka Enberg
    Cc: Peter Zijlstra
    Link: http://lkml.kernel.org/r/1338265382-6872-3-git-send-email-namhyung@gmail.com
    Signed-off-by: Arnaldo Carvalho de Melo

    Namhyung Kim
     

19 May, 2012

1 commit

  • Merge reason: We are going to queue up a dependent patch:

    "perf tools: Move parse event automated tests to separated object"

    That depends on:

    commit e7c72d8
    perf tools: Add 'G' and 'H' modifiers to event parsing

    Conflicts:
    tools/perf/builtin-stat.c

    Conflicted with the recent 'perf_target' patches when checking the
    result of perf_evsel open routines to see if a retry is needed to cope
    with older kernels where the exclude guest/host perf_event_attr bits
    were not used.

    Signed-off-by: Arnaldo Carvalho de Melo

    Arnaldo Carvalho de Melo
     

09 May, 2012

1 commit

  • Using PRIu64 for printing out u64 nr_events to fix compilation
    for x86 32 bits.

    Cc: Arun Sharma
    Cc: Corey Ashford
    Cc: Cyrill Gorcunov
    Cc: Frank C. Eigler
    Cc: Frederic Weisbecker
    Cc: Ingo Molnar
    Cc: Masami Hiramatsu
    Cc: Paul Mackerras
    Cc: Peter Zijlstra
    Cc: Robert Richter
    Cc: Stephane Eranian
    Cc: Tom Zanussi
    Cc: Ulrich Drepper
    Link: http://lkml.kernel.org/r/1335958638-5160-7-git-send-email-jolsa@redhat.com
    Signed-off-by: Jiri Olsa
    Signed-off-by: Arnaldo Carvalho de Melo

    Jiri Olsa
     

03 May, 2012

3 commits

  • Now setup_browser can handle gtk2 front-end so split the TUI code to
    ui/tui/setup.c in order to remove dependency.

    To this end, make ui__init/exit global symbols and take an argument.
    Also split gtk code to ui/gtk/setup.c.

    Signed-off-by: Namhyung Kim
    Acked-by: Pekka Enberg
    Cc: Ingo Molnar
    Cc: Namhyung Kim
    Cc: Paul Mackerras
    Cc: Pekka Enberg
    Cc: Peter Zijlstra
    Link: http://lkml.kernel.org/r/1335761711-31403-5-git-send-email-namhyung.kim@lge.com
    Signed-off-by: Arnaldo Carvalho de Melo

    Namhyung Kim
     
  • We use double underscore characters to distinguish its subsystem and
    actual function name.

    Signed-off-by: Namhyung Kim
    Acked-by: Pekka Enberg
    Cc: Ingo Molnar
    Cc: Namhyung Kim
    Cc: Paul Mackerras
    Cc: Pekka Enberg
    Cc: Peter Zijlstra
    Link: http://lkml.kernel.org/r/1335761711-31403-4-git-send-email-namhyung.kim@lge.com
    Signed-off-by: Arnaldo Carvalho de Melo

    Namhyung Kim
     
  • As perf doesn't allow to specify gtk command-line option, drop the
    arguments and pass NULL to gtk_init().

    This makes the function easier to be called from setup_browser().

    Signed-off-by: Namhyung Kim
    Acked-by: Pekka Enberg
    Cc: Ingo Molnar
    Cc: Namhyung Kim
    Cc: Paul Mackerras
    Cc: Pekka Enberg
    Cc: Peter Zijlstra
    Link: http://lkml.kernel.org/r/1335761711-31403-3-git-send-email-namhyung.kim@lge.com
    Signed-off-by: Arnaldo Carvalho de Melo

    Namhyung Kim
     

16 Apr, 2012

1 commit

  • While testing https://lkml.org/lkml/2012/4/10/123 I hit this crash:

    (gdb) bt
    0 0x000000000042000f in __cmd_report (rep=0x7fff80cec580) at builtin-report.c:380
    1 cmd_report (argc=0, argv=, prefix=) at builtin-report.c:759
    2 0x0000000000414513 in run_builtin (p=0x7724a8, argc=3, argv=0x7fff80ceca70) at perf.c:273
    3 0x0000000000413d41 in handle_internal_command (argv=0x7fff80ceca70, argc=3) at perf.c:345
    4 run_argv (argv=0x7fff80cec880, argcp=0x7fff80cec88c) at perf.c:389
    5 main (argc=3, argv=0x7fff80ceca70) at perf.c:487

    kernel_map can be NULL, so need to handle it while dumping a warning
    to user.

    v2:
    - fixed RB_EMPTY_ROOT check -- desc takes the altnerative output when RB_EMPTY_ROOT is false.

    Signed-off-by: David Ahern
    Cc: Ingo Molnar
    Cc: Peter Zijlstra
    Cc: Stephane Eranian
    Cc: Namhyung Kim
    Link: http://lkml.kernel.org/r/1334544855-55021-1-git-send-email-dsahern@gmail.com
    Signed-off-by: Arnaldo Carvalho de Melo

    David Ahern
     

08 Apr, 2012

1 commit

  • This patch prints the number of samples and the count of performance
    events separately.

    This allows comparing performance of different applications with each
    other.

    Previously, the sample count was displayed against an 'Events:' heading.
    With this patch, the header now reads (for example):

    Samples: 5K of event 'instructions'
    Event count (approx.): 2993026545

    The patch covers both the stdio and the browser interface.

    Signed-off-by: Ashay Rane
    [ committer note: Fixed wrt e7f01d1 ]
    Link: http://lkml.kernel.org/n/tip-h4nfjm8msedlk8gxkzivfh5y@git.kernel.org
    Signed-off-by: Arnaldo Carvalho de Melo

    Ashay Rane
     

20 Mar, 2012

1 commit

  • This patch adds a simple GTK2-based browser to 'perf report' that's
    based on the TTY-based browser in builtin-report.c.

    To launch "perf report" using the new GTK interface just type:

    $ perf report --gtk

    The interface is somewhat limited in features at the moment:

    - No callgraph support

    - No KVM guest profiling support

    - No color coding for percentages

    - No sorting from the UI

    - ..and many, many more!

    That said, I think this patch a reasonable start to build future features on.

    Signed-off-by: Pekka Enberg
    Cc: Colin Walters
    Cc: Peter Zijlstra
    Cc: Paul Mackerras
    Cc: Ingo Molnar
    Link: http://lkml.kernel.org/r/alpine.LFD.2.02.1202231952410.6689@tux.localdomain
    [ committer note: Added #pragma to make gtk no strict prototype problem go
    away as suggested by Colin Walters modulo avoiding push/pop ]
    Signed-off-by: Arnaldo Carvalho de Melo

    Pekka Enberg
     

17 Mar, 2012

2 commits

  • As Ingo requested, it'd be better off treating first (and the only)
    argument as a symbol filter, so that user doesn't need to input the
    symbol on the dialog window on TUI.

    Cc: Ingo Molnar
    Cc: Namhyung Kim
    Cc: Paul Mackerras
    Cc: Peter Zijlstra
    Link: http://lkml.kernel.org/r/1331887855-874-5-git-send-email-namhyung.kim@lge.com
    Signed-off-by: Namhyung Kim
    Signed-off-by: Arnaldo Carvalho de Melo

    Namhyung Kim
     
  • Add new --symbol-filter command line option to set appropriate filter
    string.

    Its short version is missing as I couldn't find an ideal one and
    --filter option of perf record also has no short version.

    Cc: Ingo Molnar
    Cc: Namhyung Kim
    Cc: Paul Mackerras
    Cc: Peter Zijlstra
    Link: http://lkml.kernel.org/r/1331887855-874-4-git-send-email-namhyung.kim@lge.com
    Signed-off-by: Namhyung Kim
    Signed-off-by: Arnaldo Carvalho de Melo

    Namhyung Kim