* [GIT PULL 00/16] perf/core improvements and fixes
@ 2011-09-29 22:47 Arnaldo Carvalho de Melo
2011-10-04 7:57 ` Ingo Molnar
0 siblings, 1 reply; 57+ messages in thread
From: Arnaldo Carvalho de Melo @ 2011-09-29 22:47 UTC (permalink / raw)
To: Ingo Molnar
Cc: linux-kernel, Arnaldo Carvalho de Melo, Andi Kleen, David Ahern,
Frederic Weisbecker, Jim Cromie, Jiri Olsa, Mike Galbraith,
Neil Horman, Paul Mackerras, Peter Zijlstra, Stephane Eranian,
Thomas Gleixner, arnaldo.melo
Hi Ingo,
Please consider pulling from:
git://github.com/acmel/linux.git perf/core
This was rebased against your perf/core on tesla.
Regards,
- Arnaldo
Andi Kleen (2):
perf tools: Make stat/record print fatal signals of the target program
perf: Support setting the disassembler style
Arnaldo Carvalho de Melo (6):
perf symbols: Stop using 'self' in map_groups__ methods
perf buildid-list: Add option to show the running kernel build id
perf buildid-list: Support showing the build id in an ELF file
perf top browser: Fix up line width calculation
perf top: Improve lost events warning
perf report: Fix stdio event name header printing
Jim Cromie (5):
perf stat: Add --log-fd <N> option to redirect stderr elsewhere
perf stat: Fix +- nan% in --no-aggr runs
perf stat: Suppress printing std-dev when its 0
perf stat: Allow tab as cvs delimiter
perf stat: Fix spelling in comment
Jiri Olsa (2):
perf sched: Fix script command documentation
perf symbols: Treat all memory maps without dso file as loaded
Neil Horman (1):
perf script: Add drop monitor script
tools/perf/Documentation/perf-annotate.txt | 3 +
tools/perf/Documentation/perf-buildid-list.txt | 6 +
tools/perf/Documentation/perf-report.txt | 3 +
tools/perf/Documentation/perf-sched.txt | 6 +-
tools/perf/Documentation/perf-stat.txt | 11 ++-
tools/perf/builtin-annotate.c | 2 +
tools/perf/builtin-buildid-list.c | 52 ++++++++++-
tools/perf/builtin-record.c | 19 ++++-
tools/perf/builtin-report.c | 7 +-
tools/perf/builtin-stat.c | 35 ++++++-
tools/perf/builtin-top.c | 34 ++++----
.../perf/scripts/python/bin/net_dropmonitor-record | 2 +
.../perf/scripts/python/bin/net_dropmonitor-report | 4 +
tools/perf/scripts/python/net_dropmonitor.py | 72 ++++++++++++++
tools/perf/util/annotate.c | 6 +-
tools/perf/util/annotate.h | 2 +
tools/perf/util/map.c | 98 +++++++++++---------
tools/perf/util/map.h | 42 ++++----
tools/perf/util/top.h | 3 +
tools/perf/util/ui/browsers/top.c | 28 +++++-
20 files changed, 333 insertions(+), 102 deletions(-)
create mode 100755 tools/perf/scripts/python/bin/net_dropmonitor-record
create mode 100755 tools/perf/scripts/python/bin/net_dropmonitor-report
create mode 100755 tools/perf/scripts/python/net_dropmonitor.py
^ permalink raw reply [flat|nested] 57+ messages in thread
* Re: [GIT PULL 00/16] perf/core improvements and fixes
2011-09-29 22:47 Arnaldo Carvalho de Melo
@ 2011-10-04 7:57 ` Ingo Molnar
0 siblings, 0 replies; 57+ messages in thread
From: Ingo Molnar @ 2011-10-04 7:57 UTC (permalink / raw)
To: Arnaldo Carvalho de Melo
Cc: linux-kernel, Andi Kleen, David Ahern, Frederic Weisbecker,
Jim Cromie, Jiri Olsa, Mike Galbraith, Neil Horman,
Paul Mackerras, Peter Zijlstra, Stephane Eranian, Thomas Gleixner,
arnaldo.melo
* Arnaldo Carvalho de Melo <acme@infradead.org> wrote:
> Hi Ingo,
>
> Please consider pulling from:
>
> git://github.com/acmel/linux.git perf/core
>
> This was rebased against your perf/core on tesla.
>
> Regards,
>
> - Arnaldo
>
> Andi Kleen (2):
> perf tools: Make stat/record print fatal signals of the target program
> perf: Support setting the disassembler style
>
> Arnaldo Carvalho de Melo (6):
> perf symbols: Stop using 'self' in map_groups__ methods
> perf buildid-list: Add option to show the running kernel build id
> perf buildid-list: Support showing the build id in an ELF file
> perf top browser: Fix up line width calculation
> perf top: Improve lost events warning
> perf report: Fix stdio event name header printing
>
> Jim Cromie (5):
> perf stat: Add --log-fd <N> option to redirect stderr elsewhere
> perf stat: Fix +- nan% in --no-aggr runs
> perf stat: Suppress printing std-dev when its 0
> perf stat: Allow tab as cvs delimiter
> perf stat: Fix spelling in comment
>
> Jiri Olsa (2):
> perf sched: Fix script command documentation
> perf symbols: Treat all memory maps without dso file as loaded
>
> Neil Horman (1):
> perf script: Add drop monitor script
>
> tools/perf/Documentation/perf-annotate.txt | 3 +
> tools/perf/Documentation/perf-buildid-list.txt | 6 +
> tools/perf/Documentation/perf-report.txt | 3 +
> tools/perf/Documentation/perf-sched.txt | 6 +-
> tools/perf/Documentation/perf-stat.txt | 11 ++-
> tools/perf/builtin-annotate.c | 2 +
> tools/perf/builtin-buildid-list.c | 52 ++++++++++-
> tools/perf/builtin-record.c | 19 ++++-
> tools/perf/builtin-report.c | 7 +-
> tools/perf/builtin-stat.c | 35 ++++++-
> tools/perf/builtin-top.c | 34 ++++----
> .../perf/scripts/python/bin/net_dropmonitor-record | 2 +
> .../perf/scripts/python/bin/net_dropmonitor-report | 4 +
> tools/perf/scripts/python/net_dropmonitor.py | 72 ++++++++++++++
> tools/perf/util/annotate.c | 6 +-
> tools/perf/util/annotate.h | 2 +
> tools/perf/util/map.c | 98 +++++++++++---------
> tools/perf/util/map.h | 42 ++++----
> tools/perf/util/top.h | 3 +
> tools/perf/util/ui/browsers/top.c | 28 +++++-
> 20 files changed, 333 insertions(+), 102 deletions(-)
> create mode 100755 tools/perf/scripts/python/bin/net_dropmonitor-record
> create mode 100755 tools/perf/scripts/python/bin/net_dropmonitor-report
> create mode 100755 tools/perf/scripts/python/net_dropmonitor.py
Pulled, thanks a lot Arnaldo!
Ingo
^ permalink raw reply [flat|nested] 57+ messages in thread
* [GIT PULL 00/16] perf/core improvements and fixes
@ 2012-02-14 1:52 Arnaldo Carvalho de Melo
2012-02-14 2:50 ` Namhyung Kim
0 siblings, 1 reply; 57+ messages in thread
From: Arnaldo Carvalho de Melo @ 2012-02-14 1:52 UTC (permalink / raw)
To: Ingo Molnar
Cc: linux-kernel, Arnaldo Carvalho de Melo, Andi Kleen,
Anshuman Khandual, Arun Sharma, Corey Ashford, David Ahern,
Frederic Weisbecker, Jason Wang, Jiri Olsa, Joerg Roedel,
Lin Ming, Namhyung Kim, Namhyung Kim, Paul Mackerras,
Peter Zijlstra, Roberto Agostino Vitillo, Robert Richter,
Stephane Eranian, Thomas Gleixner, Vince Weaver, arnaldo.melo,
Arnaldo Carvalho de Melo
The following changes since commit c98fdeaa92731308ed80386261fa2589addefa47:
x86/sched/perf/AMD: Set sched_clock_stable (2012-02-07 13:12:08 +0100)
are available in the git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux perf-core-for-mingo
for you to fetch changes up to 7e1ccd3804281fc0755eb726b654469c40a96d89:
perf tools: cleanup initialization of attr->size (2012-02-13 23:35:04 -0200)
----------------------------------------------------------------
perf/core fixes and improvements.
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
----------------------------------------------------------------
David Ahern (3):
perf record: No build id option fails
perf tools: Fix out of tree compiles
perf tools: Allow multiple threads or processes in record, stat, top
Jiri Olsa (3):
perf tools: Remove unused functions from debugfs object
perf tools: Add sysfs mountpoint interface
perf tools: Add bitmap_or function into bitmap object
Joerg Roedel (2):
perf top: Don't process samples with no valid machine object
perf tools: Change perf_guest default back to false
Namhyung Kim (4):
perf tools: Fix build dependency of perf python extension
perf tools: Implement islower/isupper macro into util.h
perf tools: ctype.c only wants util.h
perf tools: Get rid of ctype.h in symbol.c
Robert Richter (2):
perf tools: Moving code in header.c
perf tools: Factor out feature op to process header sections
Stephane Eranian (2):
perf tools: fix endianness detection in perf.data
perf tools: cleanup initialization of attr->size
tools/perf/Documentation/perf-record.txt | 4 +-
tools/perf/Documentation/perf-stat.txt | 4 +-
tools/perf/Documentation/perf-top.txt | 4 +-
tools/perf/MANIFEST | 1 +
tools/perf/Makefile | 7 +-
tools/perf/builtin-record.c | 14 +-
tools/perf/builtin-stat.c | 31 ++-
tools/perf/builtin-test.c | 2 -
tools/perf/builtin-top.c | 18 +-
tools/perf/perf.h | 5 +-
tools/perf/util/bitmap.c | 10 +
tools/perf/util/ctype.c | 2 +-
tools/perf/util/debugfs.c | 141 ----------
tools/perf/util/debugfs.h | 6 -
tools/perf/util/evlist.c | 10 +-
tools/perf/util/evlist.h | 4 +-
tools/perf/util/evsel.c | 2 +-
tools/perf/util/header.c | 421 +++++++++++++++++-------------
tools/perf/util/hist.h | 1 +
tools/perf/util/include/linux/bitmap.h | 11 +
tools/perf/util/python-ext-sources | 19 ++
tools/perf/util/session.c | 10 +
tools/perf/util/setup.py | 8 +-
tools/perf/util/symbol.c | 2 +-
tools/perf/util/sysfs.c | 60 +++++
tools/perf/util/sysfs.h | 6 +
tools/perf/util/thread_map.c | 128 +++++++++
tools/perf/util/thread_map.h | 4 +
tools/perf/util/top.c | 10 +-
tools/perf/util/top.h | 2 +-
tools/perf/util/usage.c | 6 +-
tools/perf/util/util.c | 4 +-
tools/perf/util/util.h | 6 +-
33 files changed, 571 insertions(+), 392 deletions(-)
create mode 100644 tools/perf/util/python-ext-sources
create mode 100644 tools/perf/util/sysfs.c
create mode 100644 tools/perf/util/sysfs.h
^ permalink raw reply [flat|nested] 57+ messages in thread
* Re: [GIT PULL 00/16] perf/core improvements and fixes
2012-02-14 1:52 Arnaldo Carvalho de Melo
@ 2012-02-14 2:50 ` Namhyung Kim
2012-02-14 3:07 ` Namhyung Kim
0 siblings, 1 reply; 57+ messages in thread
From: Namhyung Kim @ 2012-02-14 2:50 UTC (permalink / raw)
To: Arnaldo Carvalho de Melo
Cc: Ingo Molnar, linux-kernel, Andi Kleen, Anshuman Khandual,
Arun Sharma, Corey Ashford, David Ahern, Frederic Weisbecker,
Jason Wang, Jiri Olsa, Joerg Roedel, Lin Ming, Namhyung Kim,
Paul Mackerras, Peter Zijlstra, Roberto Agostino Vitillo,
Robert Richter, Stephane Eranian, Thomas Gleixner, Vince Weaver,
arnaldo.melo, Arnaldo Carvalho de Melo
Hello,
2012-02-14 10:52 AM, Arnaldo Carvalho de Melo wrote:
> The following changes since commit c98fdeaa92731308ed80386261fa2589addefa47:
>
> x86/sched/perf/AMD: Set sched_clock_stable (2012-02-07 13:12:08 +0100)
>
> are available in the git repository at:
>
> git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux perf-core-for-mingo
>
> for you to fetch changes up to 7e1ccd3804281fc0755eb726b654469c40a96d89:
>
> perf tools: cleanup initialization of attr->size (2012-02-13 23:35:04 -0200)
>
> ----------------------------------------------------------------
> perf/core fixes and improvements.
>
> Signed-off-by: Arnaldo Carvalho de Melo<acme@redhat.com>
>
I've got a following error during a simple test:
$ ./perf record -- sleep 1
Error: sys_perf_event_open() syscall returned with 22 (Invalid argument).
/bin/dmesg may provide additional information.
Fatal: No CONFIG_PERF_EVENTS=y kernel support configured?
sleep: Terminated
Any thoughts?
Thanks,
Namhyung
> ----------------------------------------------------------------
> David Ahern (3):
> perf record: No build id option fails
> perf tools: Fix out of tree compiles
> perf tools: Allow multiple threads or processes in record, stat, top
>
> Jiri Olsa (3):
> perf tools: Remove unused functions from debugfs object
> perf tools: Add sysfs mountpoint interface
> perf tools: Add bitmap_or function into bitmap object
>
> Joerg Roedel (2):
> perf top: Don't process samples with no valid machine object
> perf tools: Change perf_guest default back to false
>
> Namhyung Kim (4):
> perf tools: Fix build dependency of perf python extension
> perf tools: Implement islower/isupper macro into util.h
> perf tools: ctype.c only wants util.h
> perf tools: Get rid of ctype.h in symbol.c
>
> Robert Richter (2):
> perf tools: Moving code in header.c
> perf tools: Factor out feature op to process header sections
>
> Stephane Eranian (2):
> perf tools: fix endianness detection in perf.data
> perf tools: cleanup initialization of attr->size
>
> tools/perf/Documentation/perf-record.txt | 4 +-
> tools/perf/Documentation/perf-stat.txt | 4 +-
> tools/perf/Documentation/perf-top.txt | 4 +-
> tools/perf/MANIFEST | 1 +
> tools/perf/Makefile | 7 +-
> tools/perf/builtin-record.c | 14 +-
> tools/perf/builtin-stat.c | 31 ++-
> tools/perf/builtin-test.c | 2 -
> tools/perf/builtin-top.c | 18 +-
> tools/perf/perf.h | 5 +-
> tools/perf/util/bitmap.c | 10 +
> tools/perf/util/ctype.c | 2 +-
> tools/perf/util/debugfs.c | 141 ----------
> tools/perf/util/debugfs.h | 6 -
> tools/perf/util/evlist.c | 10 +-
> tools/perf/util/evlist.h | 4 +-
> tools/perf/util/evsel.c | 2 +-
> tools/perf/util/header.c | 421 +++++++++++++++++-------------
> tools/perf/util/hist.h | 1 +
> tools/perf/util/include/linux/bitmap.h | 11 +
> tools/perf/util/python-ext-sources | 19 ++
> tools/perf/util/session.c | 10 +
> tools/perf/util/setup.py | 8 +-
> tools/perf/util/symbol.c | 2 +-
> tools/perf/util/sysfs.c | 60 +++++
> tools/perf/util/sysfs.h | 6 +
> tools/perf/util/thread_map.c | 128 +++++++++
> tools/perf/util/thread_map.h | 4 +
> tools/perf/util/top.c | 10 +-
> tools/perf/util/top.h | 2 +-
> tools/perf/util/usage.c | 6 +-
> tools/perf/util/util.c | 4 +-
> tools/perf/util/util.h | 6 +-
> 33 files changed, 571 insertions(+), 392 deletions(-)
> create mode 100644 tools/perf/util/python-ext-sources
> create mode 100644 tools/perf/util/sysfs.c
> create mode 100644 tools/perf/util/sysfs.h
^ permalink raw reply [flat|nested] 57+ messages in thread
* Re: [GIT PULL 00/16] perf/core improvements and fixes
2012-02-14 2:50 ` Namhyung Kim
@ 2012-02-14 3:07 ` Namhyung Kim
2012-02-14 5:10 ` Namhyung Kim
0 siblings, 1 reply; 57+ messages in thread
From: Namhyung Kim @ 2012-02-14 3:07 UTC (permalink / raw)
To: linux-kernel
Cc: linux-kernel, Ingo Molnar, Andi Kleen, Anshuman Khandual,
Arun Sharma, Corey Ashford, David Ahern, Frederic Weisbecker,
Jason Wang, Jiri Olsa, Joerg Roedel, Lin Ming, Namhyung Kim,
Paul Mackerras, Peter Zijlstra, Roberto Agostino Vitillo,
Robert Richter, Stephane Eranian, Thomas Gleixner, Vince Weaver,
arnaldo.melo, Arnaldo Carvalho de Melo
2012-02-14 오전 11:50, Namhyung Kim 쓴 글:
> Hello,
>
> 2012-02-14 10:52 AM, Arnaldo Carvalho de Melo wrote:
>> The following changes since commit c98fdeaa92731308ed80386261fa2589addefa47:
>>
>> x86/sched/perf/AMD: Set sched_clock_stable (2012-02-07 13:12:08 +0100)
>>
>> are available in the git repository at:
>>
>> git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux perf-core-for-mingo
>>
>> for you to fetch changes up to 7e1ccd3804281fc0755eb726b654469c40a96d89:
>>
>> perf tools: cleanup initialization of attr->size (2012-02-13 23:35:04 -0200)
>>
>> ----------------------------------------------------------------
>> perf/core fixes and improvements.
>>
>> Signed-off-by: Arnaldo Carvalho de Melo<acme@redhat.com>
>>
>
> I've got a following error during a simple test:
>
> $ ./perf record -- sleep 1
>
> Error: sys_perf_event_open() syscall returned with 22 (Invalid argument).
> /bin/dmesg may provide additional information.
>
> Fatal: No CONFIG_PERF_EVENTS=y kernel support configured?
>
> sleep: Terminated
>
>
> Any thoughts?
>
> Thanks,
> Namhyung
>
git bisect told me:
c4a7dca92bbb9881a5d678720f1d0c2153499749 is the first bad commit
commit c4a7dca92bbb9881a5d678720f1d0c2153499749
Author: Joerg Roedel <joerg.roedel@amd.com>
Date: Fri Feb 10 18:05:05 2012 +0100
perf tools: Change perf_guest default back to false
Setting perf_guest to true by default makes no sense because the perf
subcommands can not setup guest symbol information and thus not process
and guest samples. The only exception is perf-kvm which changes the
perf_guest value on its own. So change the default for perf_guest back
to false.
Cc: David Ahern <dsahern@gmail.com>
Cc: Ingo Molnar <mingo@elte.hu>
Cc: Jason Wang <jasowang@redhat.com>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Link: http://lkml.kernel.org/r/1328893505-4115-3-git-send-email-joerg.roedel@amd.com
Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
:040000 040000 64d65944c9081dfd9ace65dbc19fca655cbdc708 4f0e86ab85314ba68f2295ae1e599f3bb5ab9484 M tools
Thanks,
Namhyung
^ permalink raw reply [flat|nested] 57+ messages in thread
* Re: [GIT PULL 00/16] perf/core improvements and fixes
2012-02-14 3:07 ` Namhyung Kim
@ 2012-02-14 5:10 ` Namhyung Kim
2012-02-14 5:23 ` David Ahern
0 siblings, 1 reply; 57+ messages in thread
From: Namhyung Kim @ 2012-02-14 5:10 UTC (permalink / raw)
To: Namhyung Kim
Cc: linux-kernel, Ingo Molnar, Andi Kleen, Anshuman Khandual,
Arun Sharma, Corey Ashford, David Ahern, Frederic Weisbecker,
Jason Wang, Jiri Olsa, Joerg Roedel, Lin Ming, Paul Mackerras,
Peter Zijlstra, Roberto Agostino Vitillo, Robert Richter,
Stephane Eranian, Thomas Gleixner, Vince Weaver, arnaldo.melo,
Arnaldo Carvalho de Melo
2012-02-14 12:07 PM, Namhyung Kim wrote:
> 2012-02-14 오전 11:50, Namhyung Kim 쓴 글:
>> Hello,
>>
>> 2012-02-14 10:52 AM, Arnaldo Carvalho de Melo wrote:
>>> The following changes since commit c98fdeaa92731308ed80386261fa2589addefa47:
>>>
>>> x86/sched/perf/AMD: Set sched_clock_stable (2012-02-07 13:12:08 +0100)
>>>
>>> are available in the git repository at:
>>>
>>> git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux perf-core-for-mingo
>>>
>>> for you to fetch changes up to 7e1ccd3804281fc0755eb726b654469c40a96d89:
>>>
>>> perf tools: cleanup initialization of attr->size (2012-02-13 23:35:04 -0200)
>>>
>>> ----------------------------------------------------------------
>>> perf/core fixes and improvements.
>>>
>>> Signed-off-by: Arnaldo Carvalho de Melo<acme@redhat.com>
>>>
>>
>> I've got a following error during a simple test:
>>
>> $ ./perf record -- sleep 1
>>
>> Error: sys_perf_event_open() syscall returned with 22 (Invalid argument).
>> /bin/dmesg may provide additional information.
>>
>> Fatal: No CONFIG_PERF_EVENTS=y kernel support configured?
>>
>> sleep: Terminated
>>
>>
>> Any thoughts?
>>
>> Thanks,
>> Namhyung
>>
>
> git bisect told me:
>
> c4a7dca92bbb9881a5d678720f1d0c2153499749 is the first bad commit
> commit c4a7dca92bbb9881a5d678720f1d0c2153499749
> Author: Joerg Roedel<joerg.roedel@amd.com>
> Date: Fri Feb 10 18:05:05 2012 +0100
>
> perf tools: Change perf_guest default back to false
>
> Setting perf_guest to true by default makes no sense because the perf
> subcommands can not setup guest symbol information and thus not process
> and guest samples. The only exception is perf-kvm which changes the
> perf_guest value on its own. So change the default for perf_guest back
> to false.
>
> Cc: David Ahern<dsahern@gmail.com>
> Cc: Ingo Molnar<mingo@elte.hu>
> Cc: Jason Wang<jasowang@redhat.com>
> Cc: Paul Mackerras<paulus@samba.org>
> Cc: Peter Zijlstra<a.p.zijlstra@chello.nl>
> Link: http://lkml.kernel.org/r/1328893505-4115-3-git-send-email-joerg.roedel@amd.com
> Signed-off-by: Joerg Roedel<joerg.roedel@amd.com>
> Signed-off-by: Arnaldo Carvalho de Melo<acme@redhat.com>
>
> :040000 040000 64d65944c9081dfd9ace65dbc19fca655cbdc708 4f0e86ab85314ba68f2295ae1e599f3bb5ab9484 M tools
>
>
> Thanks,
> Namhyung
>
It happened because I used old kernel version that isn't aware of the
exclude_guest bit. So the check on attr->__reserved_1 in
core.c::perf_copy_attr() failed and then ended up seeing EINVAL at
perf_evsel__open().
So I think it should be handled in the same way of handling sample_id_all bit
in perf record and top if we want to set perf_guest to false by default. I'll
send patches for them soon.
Thanks,
Namhyung
^ permalink raw reply [flat|nested] 57+ messages in thread
* Re: [GIT PULL 00/16] perf/core improvements and fixes
2012-02-14 5:10 ` Namhyung Kim
@ 2012-02-14 5:23 ` David Ahern
2012-02-14 5:48 ` Namhyung Kim
2012-02-14 10:50 ` Joerg Roedel
0 siblings, 2 replies; 57+ messages in thread
From: David Ahern @ 2012-02-14 5:23 UTC (permalink / raw)
To: Namhyung Kim, Joerg Roedel
Cc: Namhyung Kim, linux-kernel, Ingo Molnar, Andi Kleen,
Anshuman Khandual, Arun Sharma, Corey Ashford,
Frederic Weisbecker, Jason Wang, Jiri Olsa, Lin Ming,
Paul Mackerras, Peter Zijlstra, Roberto Agostino Vitillo,
Robert Richter, Stephane Eranian, Thomas Gleixner, Vince Weaver,
arnaldo.melo, Arnaldo Carvalho de Melo
On 2/13/12 10:10 PM, Namhyung Kim wrote:
>>
>
> It happened because I used old kernel version that isn't aware of the
> exclude_guest bit. So the check on attr->__reserved_1 in
> core.c::perf_copy_attr() failed and then ended up seeing EINVAL at
> perf_evsel__open().
comes back to 1aed2671738785e8f5aea663a6fda91aa7ef59b5 again. See
https://lkml.org/lkml/2012/2/8/234
>
> So I think it should be handled in the same way of handling
> sample_id_all bit in perf record and top if we want to set perf_guest to
> false by default. I'll send patches for them soon.
>
> Thanks,
> Namhyung
^ permalink raw reply [flat|nested] 57+ messages in thread
* Re: [GIT PULL 00/16] perf/core improvements and fixes
2012-02-14 5:23 ` David Ahern
@ 2012-02-14 5:48 ` Namhyung Kim
2012-02-14 5:52 ` David Ahern
2012-02-14 10:50 ` Joerg Roedel
1 sibling, 1 reply; 57+ messages in thread
From: Namhyung Kim @ 2012-02-14 5:48 UTC (permalink / raw)
To: David Ahern
Cc: Joerg Roedel, Namhyung Kim, linux-kernel, Ingo Molnar, Andi Kleen,
Anshuman Khandual, Arun Sharma, Corey Ashford,
Frederic Weisbecker, Jason Wang, Jiri Olsa, Lin Ming,
Paul Mackerras, Peter Zijlstra, Roberto Agostino Vitillo,
Robert Richter, Stephane Eranian, Thomas Gleixner, Vince Weaver,
arnaldo.melo, Arnaldo Carvalho de Melo
Hi,
2012-02-14 2:23 PM, David Ahern wrote:
> On 2/13/12 10:10 PM, Namhyung Kim wrote:
>>>
>>
>> It happened because I used old kernel version that isn't aware of the
>> exclude_guest bit. So the check on attr->__reserved_1 in
>> core.c::perf_copy_attr() failed and then ended up seeing EINVAL at
>> perf_evsel__open().
>
> comes back to 1aed2671738785e8f5aea663a6fda91aa7ef59b5 again. See
>
> https://lkml.org/lkml/2012/2/8/234
>
Thanks for the pointer, then I'll wait until the guys figure out what the
correct fix is :)
Thanks,
Namhyung
^ permalink raw reply [flat|nested] 57+ messages in thread
* Re: [GIT PULL 00/16] perf/core improvements and fixes
2012-02-14 5:48 ` Namhyung Kim
@ 2012-02-14 5:52 ` David Ahern
2012-02-14 5:58 ` Namhyung Kim
0 siblings, 1 reply; 57+ messages in thread
From: David Ahern @ 2012-02-14 5:52 UTC (permalink / raw)
To: Namhyung Kim
Cc: Joerg Roedel, Namhyung Kim, linux-kernel, Ingo Molnar, Andi Kleen,
Anshuman Khandual, Arun Sharma, Corey Ashford,
Frederic Weisbecker, Jason Wang, Jiri Olsa, Lin Ming,
Paul Mackerras, Peter Zijlstra, Roberto Agostino Vitillo,
Robert Richter, Stephane Eranian, Thomas Gleixner, Vince Weaver,
arnaldo.melo, Arnaldo Carvalho de Melo
On 2/13/12 10:48 PM, Namhyung Kim wrote:
> Hi,
>
> 2012-02-14 2:23 PM, David Ahern wrote:
>> On 2/13/12 10:10 PM, Namhyung Kim wrote:
>>>>
>>>
>>> It happened because I used old kernel version that isn't aware of the
>>> exclude_guest bit. So the check on attr->__reserved_1 in
>>> core.c::perf_copy_attr() failed and then ended up seeing EINVAL at
>>> perf_evsel__open().
>>
>> comes back to 1aed2671738785e8f5aea663a6fda91aa7ef59b5 again. See
>>
>> https://lkml.org/lkml/2012/2/8/234
>>
>
> Thanks for the pointer, then I'll wait until the guys figure out what
> the correct fix is :)
>
> Thanks,
> Namhyung
Resetting that default was it. :-)
Does reverting the entire patch fix your problem?
David
^ permalink raw reply [flat|nested] 57+ messages in thread
* Re: [GIT PULL 00/16] perf/core improvements and fixes
2012-02-14 5:52 ` David Ahern
@ 2012-02-14 5:58 ` Namhyung Kim
0 siblings, 0 replies; 57+ messages in thread
From: Namhyung Kim @ 2012-02-14 5:58 UTC (permalink / raw)
To: David Ahern
Cc: Joerg Roedel, Namhyung Kim, linux-kernel, Ingo Molnar, Andi Kleen,
Anshuman Khandual, Arun Sharma, Corey Ashford,
Frederic Weisbecker, Jason Wang, Jiri Olsa, Lin Ming,
Paul Mackerras, Peter Zijlstra, Roberto Agostino Vitillo,
Robert Richter, Stephane Eranian, Thomas Gleixner, Vince Weaver,
arnaldo.melo, Arnaldo Carvalho de Melo
2012-02-14 2:52 PM, David Ahern wrote:
> On 2/13/12 10:48 PM, Namhyung Kim wrote:
>> Hi,
>>
>> 2012-02-14 2:23 PM, David Ahern wrote:
>>> On 2/13/12 10:10 PM, Namhyung Kim wrote:
>>>>>
>>>>
>>>> It happened because I used old kernel version that isn't aware of the
>>>> exclude_guest bit. So the check on attr->__reserved_1 in
>>>> core.c::perf_copy_attr() failed and then ended up seeing EINVAL at
>>>> perf_evsel__open().
>>>
>>> comes back to 1aed2671738785e8f5aea663a6fda91aa7ef59b5 again. See
>>>
>>> https://lkml.org/lkml/2012/2/8/234
>>>
>>
>> Thanks for the pointer, then I'll wait until the guys figure out what
>> the correct fix is :)
>>
>> Thanks,
>> Namhyung
>
> Resetting that default was it. :-)
>
> Does reverting the entire patch fix your problem?
>
> David
Yes, of course.
OK, then I'll start to rework perf target cleanups after reverting it.
Thanks,
Namhyung
^ permalink raw reply [flat|nested] 57+ messages in thread
* Re: [GIT PULL 00/16] perf/core improvements and fixes
2012-02-14 5:23 ` David Ahern
2012-02-14 5:48 ` Namhyung Kim
@ 2012-02-14 10:50 ` Joerg Roedel
2012-02-14 13:10 ` Arnaldo Carvalho de Melo
1 sibling, 1 reply; 57+ messages in thread
From: Joerg Roedel @ 2012-02-14 10:50 UTC (permalink / raw)
To: David Ahern
Cc: Namhyung Kim, Namhyung Kim, linux-kernel, Ingo Molnar, Andi Kleen,
Anshuman Khandual, Arun Sharma, Corey Ashford,
Frederic Weisbecker, Jason Wang, Jiri Olsa, Lin Ming,
Paul Mackerras, Peter Zijlstra, Roberto Agostino Vitillo,
Robert Richter, Stephane Eranian, Thomas Gleixner, Vince Weaver,
arnaldo.melo, Arnaldo Carvalho de Melo
On Mon, Feb 13, 2012 at 10:23:07PM -0700, David Ahern wrote:
> On 2/13/12 10:10 PM, Namhyung Kim wrote:
> >>
> >
> >It happened because I used old kernel version that isn't aware of the
> >exclude_guest bit. So the check on attr->__reserved_1 in
> >core.c::perf_copy_attr() failed and then ended up seeing EINVAL at
> >perf_evsel__open().
>
> comes back to 1aed2671738785e8f5aea663a6fda91aa7ef59b5 again. See
>
> https://lkml.org/lkml/2012/2/8/234
Grr. I totally forgot that issue. Is there some way to detect the perf
kernel-features? Otherwise the only fix seems to be to drop the patch
changing the default. The crashes should be fixed by the other patch
already.
Joerg
--
AMD Operating System Research Center
Advanced Micro Devices GmbH Einsteinring 24 85609 Dornach
General Managers: Alberto Bozzo
Registration: Dornach, Landkr. Muenchen; Registerger. Muenchen, HRB Nr. 43632
^ permalink raw reply [flat|nested] 57+ messages in thread
* Re: [GIT PULL 00/16] perf/core improvements and fixes
2012-02-14 10:50 ` Joerg Roedel
@ 2012-02-14 13:10 ` Arnaldo Carvalho de Melo
2012-02-14 14:38 ` Arnaldo Carvalho de Melo
0 siblings, 1 reply; 57+ messages in thread
From: Arnaldo Carvalho de Melo @ 2012-02-14 13:10 UTC (permalink / raw)
To: Joerg Roedel
Cc: David Ahern, Namhyung Kim, Namhyung Kim, linux-kernel,
Ingo Molnar, Andi Kleen, Anshuman Khandual, Arun Sharma,
Corey Ashford, Frederic Weisbecker, Jason Wang, Jiri Olsa,
Lin Ming, Paul Mackerras, Peter Zijlstra,
Roberto Agostino Vitillo, Robert Richter, Stephane Eranian,
Thomas Gleixner, Vince Weaver
Em Tue, Feb 14, 2012 at 11:50:18AM +0100, Joerg Roedel escreveu:
> On Mon, Feb 13, 2012 at 10:23:07PM -0700, David Ahern wrote:
> > On 2/13/12 10:10 PM, Namhyung Kim wrote:
> > >It happened because I used old kernel version that isn't aware of the
> > >exclude_guest bit. So the check on attr->__reserved_1 in
> > >core.c::perf_copy_attr() failed and then ended up seeing EINVAL at
> > >perf_evsel__open().
> > comes back to 1aed2671738785e8f5aea663a6fda91aa7ef59b5 again. See
> > https://lkml.org/lkml/2012/2/8/234
> Grr. I totally forgot that issue. Is there some way to detect the perf
> kernel-features? Otherwise the only fix seems to be to drop the patch
> changing the default. The crashes should be fixed by the other patch
> already.
Well, we need to detect it like we do with sample_id_all. In this case
we would try with exclude_guest, if it fails with EINVAL, we realise it
is not available, clean that bit and try again.
- Arnaldo
^ permalink raw reply [flat|nested] 57+ messages in thread
* Re: [GIT PULL 00/16] perf/core improvements and fixes
2012-02-14 13:10 ` Arnaldo Carvalho de Melo
@ 2012-02-14 14:38 ` Arnaldo Carvalho de Melo
2012-02-14 15:10 ` Joerg Roedel
0 siblings, 1 reply; 57+ messages in thread
From: Arnaldo Carvalho de Melo @ 2012-02-14 14:38 UTC (permalink / raw)
To: Joerg Roedel
Cc: David Ahern, Namhyung Kim, Namhyung Kim, linux-kernel,
Ingo Molnar, Andi Kleen, Anshuman Khandual, Arun Sharma,
Corey Ashford, Frederic Weisbecker, Jason Wang, Jiri Olsa,
Lin Ming, Paul Mackerras, Peter Zijlstra,
Roberto Agostino Vitillo, Robert Richter, Stephane Eranian,
Thomas Gleixner, Vince Weaver
Em Tue, Feb 14, 2012 at 11:10:46AM -0200, Arnaldo Carvalho de Melo escreveu:
> Em Tue, Feb 14, 2012 at 11:50:18AM +0100, Joerg Roedel escreveu:
> > On Mon, Feb 13, 2012 at 10:23:07PM -0700, David Ahern wrote:
> > > On 2/13/12 10:10 PM, Namhyung Kim wrote:
> > > >It happened because I used old kernel version that isn't aware of the
> > > >exclude_guest bit. So the check on attr->__reserved_1 in
> > > >core.c::perf_copy_attr() failed and then ended up seeing EINVAL at
> > > >perf_evsel__open().
>
> > > comes back to 1aed2671738785e8f5aea663a6fda91aa7ef59b5 again. See
>
> > > https://lkml.org/lkml/2012/2/8/234
>
> > Grr. I totally forgot that issue. Is there some way to detect the perf
> > kernel-features? Otherwise the only fix seems to be to drop the patch
> > changing the default. The crashes should be fixed by the other patch
> > already.
>
> Well, we need to detect it like we do with sample_id_all. In this case
> we would try with exclude_guest, if it fails with EINVAL, we realise it
> is not available, clean that bit and try again.
The following patch should fix it, still untested tho, booting a machine
with an < 3.1 kernel to check...
- Arnaldo
diff --git a/tools/perf/builtin-record.c b/tools/perf/builtin-record.c
index 08ed24b..d6c10e8 100644
--- a/tools/perf/builtin-record.c
+++ b/tools/perf/builtin-record.c
@@ -205,6 +205,9 @@ static void perf_record__open(struct perf_record *rec)
if (opts->group && pos != first)
group_fd = first->fd;
+fallback_missing_features:
+ if (opts->exclude_guest_missing)
+ attr->exclude_guest = attr->exclude_host = 0;
retry_sample_id:
attr->sample_id_all = opts->sample_id_all_avail ? 1 : 0;
try_again:
@@ -218,15 +221,23 @@ try_again:
} else if (err == ENODEV && opts->cpu_list) {
die("No such device - did you specify"
" an out-of-range profile CPU?\n");
- } else if (err == EINVAL && opts->sample_id_all_avail) {
- /*
- * Old kernel, no attr->sample_id_type_all field
- */
- opts->sample_id_all_avail = false;
- if (!opts->sample_time && !opts->raw_samples && !time_needed)
- attr->sample_type &= ~PERF_SAMPLE_TIME;
-
- goto retry_sample_id;
+ } else if (err == EINVAL) {
+ if (!opts->exclude_guest_missing &&
+ (attr->exclude_guest || attr->exclude_host)) {
+ pr_debug("Old kernel, cannot exclude "
+ "guest or host samples.\n");
+ opts->exclude_guest_missing = true;
+ goto fallback_missing_features;
+ } else if (opts->sample_id_all_avail) {
+ /*
+ * Old kernel, no attr->sample_id_type_all field
+ */
+ opts->sample_id_all_avail = false;
+ if (!opts->sample_time && !opts->raw_samples && !time_needed)
+ attr->sample_type &= ~PERF_SAMPLE_TIME;
+
+ goto retry_sample_id;
+ }
}
/*
diff --git a/tools/perf/builtin-top.c b/tools/perf/builtin-top.c
index 5a88c0d..02e11ff 100644
--- a/tools/perf/builtin-top.c
+++ b/tools/perf/builtin-top.c
@@ -872,6 +872,9 @@ static void perf_top__start_counters(struct perf_top *top)
attr->mmap = 1;
attr->comm = 1;
attr->inherit = top->inherit;
+fallback_missing_features:
+ if (top->exclude_guest_missing)
+ attr->exclude_guest = attr->exclude_host = 0;
retry_sample_id:
attr->sample_id_all = top->sample_id_all_avail ? 1 : 0;
try_again:
@@ -883,12 +886,20 @@ try_again:
if (err == EPERM || err == EACCES) {
ui__error_paranoid();
goto out_err;
- } else if (err == EINVAL && top->sample_id_all_avail) {
- /*
- * Old kernel, no attr->sample_id_type_all field
- */
- top->sample_id_all_avail = false;
- goto retry_sample_id;
+ } else if (err == EINVAL) {
+ if (!top->exclude_guest_missing &&
+ (attr->exclude_guest || attr->exclude_host)) {
+ pr_debug("Old kernel, cannot exclude "
+ "guest or host samples.\n");
+ top->exclude_guest_missing = true;
+ goto fallback_missing_features;
+ } else if (top->sample_id_all_avail) {
+ /*
+ * Old kernel, no attr->sample_id_type_all field
+ */
+ top->sample_id_all_avail = false;
+ goto retry_sample_id;
+ }
}
/*
* If it's cycles then fall back to hrtimer
diff --git a/tools/perf/perf.h b/tools/perf/perf.h
index 03a0456..8b9c436 100644
--- a/tools/perf/perf.h
+++ b/tools/perf/perf.h
@@ -199,6 +199,7 @@ struct perf_record_opts {
bool sample_address;
bool sample_time;
bool sample_id_all_avail;
+ bool exclude_guest_missing;
bool system_wide;
bool period;
unsigned int freq;
diff --git a/tools/perf/util/top.h b/tools/perf/util/top.h
index 49eb848..7dea891 100644
--- a/tools/perf/util/top.h
+++ b/tools/perf/util/top.h
@@ -35,6 +35,7 @@ struct perf_top {
bool inherit;
bool group;
bool sample_id_all_avail;
+ bool exclude_guest_missing;
bool dump_symtab;
const char *cpu_list;
struct hist_entry *sym_filter_entry;
^ permalink raw reply related [flat|nested] 57+ messages in thread
* Re: [GIT PULL 00/16] perf/core improvements and fixes
2012-02-14 14:38 ` Arnaldo Carvalho de Melo
@ 2012-02-14 15:10 ` Joerg Roedel
2012-02-14 16:11 ` Arnaldo Carvalho de Melo
0 siblings, 1 reply; 57+ messages in thread
From: Joerg Roedel @ 2012-02-14 15:10 UTC (permalink / raw)
To: Arnaldo Carvalho de Melo
Cc: David Ahern, Namhyung Kim, Namhyung Kim, linux-kernel,
Ingo Molnar, Andi Kleen, Anshuman Khandual, Arun Sharma,
Corey Ashford, Frederic Weisbecker, Jason Wang, Jiri Olsa,
Lin Ming, Paul Mackerras, Peter Zijlstra,
Roberto Agostino Vitillo, Robert Richter, Stephane Eranian,
Thomas Gleixner, Vince Weaver
On Tue, Feb 14, 2012 at 12:38:53PM -0200, Arnaldo Carvalho de Melo wrote:
> diff --git a/tools/perf/builtin-record.c b/tools/perf/builtin-record.c
> index 08ed24b..d6c10e8 100644
> --- a/tools/perf/builtin-record.c
> +++ b/tools/perf/builtin-record.c
> @@ -205,6 +205,9 @@ static void perf_record__open(struct perf_record *rec)
>
> if (opts->group && pos != first)
> group_fd = first->fd;
> +fallback_missing_features:
> + if (opts->exclude_guest_missing)
> + attr->exclude_guest = attr->exclude_host = 0;
> retry_sample_id:
> attr->sample_id_all = opts->sample_id_all_avail ? 1 : 0;
> try_again:
> @@ -218,15 +221,23 @@ try_again:
> } else if (err == ENODEV && opts->cpu_list) {
> die("No such device - did you specify"
> " an out-of-range profile CPU?\n");
> - } else if (err == EINVAL && opts->sample_id_all_avail) {
> - /*
> - * Old kernel, no attr->sample_id_type_all field
> - */
> - opts->sample_id_all_avail = false;
> - if (!opts->sample_time && !opts->raw_samples && !time_needed)
> - attr->sample_type &= ~PERF_SAMPLE_TIME;
> -
> - goto retry_sample_id;
> + } else if (err == EINVAL) {
> + if (!opts->exclude_guest_missing &&
> + (attr->exclude_guest || attr->exclude_host)) {
> + pr_debug("Old kernel, cannot exclude "
> + "guest or host samples.\n");
> + opts->exclude_guest_missing = true;
> + goto fallback_missing_features;
> + } else if (opts->sample_id_all_avail) {
> + /*
> + * Old kernel, no attr->sample_id_type_all field
> + */
> + opts->sample_id_all_avail = false;
> + if (!opts->sample_time && !opts->raw_samples && !time_needed)
> + attr->sample_type &= ~PERF_SAMPLE_TIME;
> +
> + goto retry_sample_id;
> + }
> }
>
> /*
> diff --git a/tools/perf/builtin-top.c b/tools/perf/builtin-top.c
> index 5a88c0d..02e11ff 100644
> --- a/tools/perf/builtin-top.c
> +++ b/tools/perf/builtin-top.c
> @@ -872,6 +872,9 @@ static void perf_top__start_counters(struct perf_top *top)
> attr->mmap = 1;
> attr->comm = 1;
> attr->inherit = top->inherit;
> +fallback_missing_features:
> + if (top->exclude_guest_missing)
> + attr->exclude_guest = attr->exclude_host = 0;
> retry_sample_id:
> attr->sample_id_all = top->sample_id_all_avail ? 1 : 0;
> try_again:
> @@ -883,12 +886,20 @@ try_again:
> if (err == EPERM || err == EACCES) {
> ui__error_paranoid();
> goto out_err;
> - } else if (err == EINVAL && top->sample_id_all_avail) {
> - /*
> - * Old kernel, no attr->sample_id_type_all field
> - */
> - top->sample_id_all_avail = false;
> - goto retry_sample_id;
> + } else if (err == EINVAL) {
> + if (!top->exclude_guest_missing &&
> + (attr->exclude_guest || attr->exclude_host)) {
> + pr_debug("Old kernel, cannot exclude "
> + "guest or host samples.\n");
> + top->exclude_guest_missing = true;
> + goto fallback_missing_features;
> + } else if (top->sample_id_all_avail) {
> + /*
> + * Old kernel, no attr->sample_id_type_all field
> + */
> + top->sample_id_all_avail = false;
> + goto retry_sample_id;
> + }
> }
> /*
> * If it's cycles then fall back to hrtimer
> diff --git a/tools/perf/perf.h b/tools/perf/perf.h
> index 03a0456..8b9c436 100644
> --- a/tools/perf/perf.h
> +++ b/tools/perf/perf.h
> @@ -199,6 +199,7 @@ struct perf_record_opts {
> bool sample_address;
> bool sample_time;
> bool sample_id_all_avail;
> + bool exclude_guest_missing;
> bool system_wide;
> bool period;
> unsigned int freq;
> diff --git a/tools/perf/util/top.h b/tools/perf/util/top.h
> index 49eb848..7dea891 100644
> --- a/tools/perf/util/top.h
> +++ b/tools/perf/util/top.h
> @@ -35,6 +35,7 @@ struct perf_top {
> bool inherit;
> bool group;
> bool sample_id_all_avail;
> + bool exclude_guest_missing;
> bool dump_symtab;
> const char *cpu_list;
> struct hist_entry *sym_filter_entry;
I was about to prepare a similar patch :) But anyway, this one works
too.
Tested-by: Joerg Roedel <joerg.roedel@amd.com>
(on 2.6.32)
--
AMD Operating System Research Center
Advanced Micro Devices GmbH Einsteinring 24 85609 Dornach
General Managers: Alberto Bozzo
Registration: Dornach, Landkr. Muenchen; Registerger. Muenchen, HRB Nr. 43632
^ permalink raw reply [flat|nested] 57+ messages in thread
* Re: [GIT PULL 00/16] perf/core improvements and fixes
2012-02-14 15:10 ` Joerg Roedel
@ 2012-02-14 16:11 ` Arnaldo Carvalho de Melo
0 siblings, 0 replies; 57+ messages in thread
From: Arnaldo Carvalho de Melo @ 2012-02-14 16:11 UTC (permalink / raw)
To: Joerg Roedel
Cc: David Ahern, Namhyung Kim, Namhyung Kim, linux-kernel,
Ingo Molnar, Andi Kleen, Anshuman Khandual, Arun Sharma,
Corey Ashford, Frederic Weisbecker, Jason Wang, Jiri Olsa,
Lin Ming, Paul Mackerras, Peter Zijlstra,
Roberto Agostino Vitillo, Robert Richter, Stephane Eranian,
Thomas Gleixner, Vince Weaver
Em Tue, Feb 14, 2012 at 04:10:39PM +0100, Joerg Roedel escreveu:
> On Tue, Feb 14, 2012 at 12:38:53PM -0200, Arnaldo Carvalho de Melo wrote:
> > bool sample_id_all_avail;
> > + bool exclude_guest_missing;
> > bool dump_symtab;
> > const char *cpu_list;
> > struct hist_entry *sym_filter_entry;
>
> I was about to prepare a similar patch :) But anyway, this one works
> too.
>
> Tested-by: Joerg Roedel <joerg.roedel@amd.com>
>
> (on 2.6.32)
thanks, I'm commiting it now after testing it on a 3.0-rt kernel,
- Arnaldo
^ permalink raw reply [flat|nested] 57+ messages in thread
* [GIT PULL 00/16] perf/core improvements and fixes
@ 2013-10-23 20:57 Arnaldo Carvalho de Melo
2013-10-24 6:52 ` Ingo Molnar
0 siblings, 1 reply; 57+ messages in thread
From: Arnaldo Carvalho de Melo @ 2013-10-23 20:57 UTC (permalink / raw)
To: Ingo Molnar
Cc: linux-kernel, Arnaldo Carvalho de Melo, Adrian Hunter, Andi Kleen,
David Ahern, Frederic Weisbecker, Hitoshi Mitake, Jiri Olsa,
Linus Torvalds, Masami Hiramatsu, Mike Galbraith, Namhyung Kim,
Paul Mackerras, Peter Zijlstra, Stephane Eranian,
Arnaldo Carvalho de Melo
From: Arnaldo Carvalho de Melo <acme@ghostprotocols.net>
Hi Ingo,
Please consider pulling,
- Arnaldo
The following changes since commit aa30a2e03a453aad9fd96c3f2d4a82c3497674e5:
Merge tag 'perf-core-for-mingo' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/core (2013-10-23 09:45:50 +0200)
are available in the git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux tags/perf-core-for-mingo
for you to fetch changes up to c1fb5651bb40f9efaf32d280f39e06df7e352673:
perf tools: Show progress on histogram collapsing (2013-10-23 15:48:24 -0300)
----------------------------------------------------------------
perf/core improvements and fixes:
. Show progress on histogram collapsing, that can take a long time, from
Namhyung Kim.
. Support "$vars" meta argument syntax for local variables, allowing
asking for all possible variables at a given probe point to be
collected when it hits, from Masami Hiramatsu.
. Address the root cause of that 'perf sched' stack initialization build
slowdown, by programmatically setting a big array after moving the
global variable back to the stack. Fix from Adrian Hunter.
. Do not repipe attributes to a perf.data file in 'perf inject',
fix from Adrian Hunter
. Change the procps visible command-name of invididual benchmark tests
plus cleanups, from Ingo Molnar.
. Do not accept parse_tag_value() overflow, fix from Adrian Hunter.
. Validate that mmap_pages is not too big. From Adrian Hunter.
. Fix non-debug build, from Adrian Hunter
. Clarify the "sample parsing" test entry.
. Consider PERF_SAMPLE_TRANSACTION in the "sample parsing" test.
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
----------------------------------------------------------------
Adrian Hunter (7):
perf sched: Make struct perf_sched sched a local variable
perf sched: Optimize build time
perf script: Make perf_script a local variable
perf inject: Do not repipe attributes to a perf.data file
perf tools: Do not accept parse_tag_value() overflow
perf evlist: Validate that mmap_pages is not too big
perf tools: Fix non-debug build
Arnaldo Carvalho de Melo (5):
perf test: Clarify the "sample parsing" test entry
perf test: Consider PERF_SAMPLE_TRANSACTION in the "sample parsing" test
perf tools: Stop using 'self' in some more places
perf ui: Rename ui_progress to ui_progress_ops
perf ui progress: Per progress bar state
Ingo Molnar (1):
perf bench: Change the procps visible command-name of invididual benchmark tests plus cleanups
Masami Hiramatsu (2):
perf probe: Support "$vars" meta argument syntax for local variables
perf probe: Find fentry mcount fuzzed parameter location
Namhyung Kim (1):
perf tools: Show progress on histogram collapsing
tools/perf/Makefile.perf | 1 +
tools/perf/builtin-annotate.c | 6 +-
tools/perf/builtin-bench.c | 239 +++++++++++++++++++-------------------
tools/perf/builtin-diff.c | 7 +-
tools/perf/builtin-inject.c | 27 +++--
tools/perf/builtin-report.c | 24 ++--
tools/perf/builtin-sched.c | 44 +++----
tools/perf/builtin-script.c | 40 ++++---
tools/perf/builtin-top.c | 4 +-
tools/perf/config/Makefile | 4 +
tools/perf/tests/hists_link.c | 2 +-
tools/perf/tests/sample-parsing.c | 4 +-
tools/perf/ui/gtk/gtk.h | 2 +-
tools/perf/ui/gtk/progress.c | 20 ++--
tools/perf/ui/gtk/setup.c | 2 +-
tools/perf/ui/progress.c | 32 +++--
tools/perf/ui/progress.h | 19 +--
tools/perf/ui/tui/progress.c | 15 +--
tools/perf/ui/tui/setup.c | 3 +-
tools/perf/ui/tui/tui.h | 6 +
tools/perf/util/build-id.c | 6 +-
tools/perf/util/evlist.c | 14 ++-
tools/perf/util/hist.c | 23 ++--
tools/perf/util/hist.h | 3 +-
tools/perf/util/probe-event.c | 1 -
tools/perf/util/probe-finder.c | 133 ++++++++++++++++++---
tools/perf/util/probe-finder.h | 1 +
tools/perf/util/session.c | 24 ++--
tools/perf/util/sort.c | 124 ++++++++++----------
tools/perf/util/strfilter.c | 46 ++++----
tools/perf/util/thread.c | 72 ++++++------
tools/perf/util/util.c | 2 +
32 files changed, 560 insertions(+), 390 deletions(-)
create mode 100644 tools/perf/ui/tui/tui.h
^ permalink raw reply [flat|nested] 57+ messages in thread
* Re: [GIT PULL 00/16] perf/core improvements and fixes
2013-10-23 20:57 Arnaldo Carvalho de Melo
@ 2013-10-24 6:52 ` Ingo Molnar
0 siblings, 0 replies; 57+ messages in thread
From: Ingo Molnar @ 2013-10-24 6:52 UTC (permalink / raw)
To: Arnaldo Carvalho de Melo
Cc: linux-kernel, Arnaldo Carvalho de Melo, Adrian Hunter, Andi Kleen,
David Ahern, Frederic Weisbecker, Hitoshi Mitake, Jiri Olsa,
Linus Torvalds, Masami Hiramatsu, Mike Galbraith, Namhyung Kim,
Paul Mackerras, Peter Zijlstra, Stephane Eranian,
Arnaldo Carvalho de Melo
* Arnaldo Carvalho de Melo <acme@infradead.org> wrote:
> From: Arnaldo Carvalho de Melo <acme@ghostprotocols.net>
>
> Hi Ingo,
>
> Please consider pulling,
>
> - Arnaldo
>
> The following changes since commit aa30a2e03a453aad9fd96c3f2d4a82c3497674e5:
>
> Merge tag 'perf-core-for-mingo' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/core (2013-10-23 09:45:50 +0200)
>
> are available in the git repository at:
>
>
> git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux tags/perf-core-for-mingo
>
> for you to fetch changes up to c1fb5651bb40f9efaf32d280f39e06df7e352673:
>
> perf tools: Show progress on histogram collapsing (2013-10-23 15:48:24 -0300)
>
> ----------------------------------------------------------------
> perf/core improvements and fixes:
>
> . Show progress on histogram collapsing, that can take a long time, from
> Namhyung Kim.
>
> . Support "$vars" meta argument syntax for local variables, allowing
> asking for all possible variables at a given probe point to be
> collected when it hits, from Masami Hiramatsu.
>
> . Address the root cause of that 'perf sched' stack initialization build
> slowdown, by programmatically setting a big array after moving the
> global variable back to the stack. Fix from Adrian Hunter.
>
> . Do not repipe attributes to a perf.data file in 'perf inject',
> fix from Adrian Hunter
>
> . Change the procps visible command-name of invididual benchmark tests
> plus cleanups, from Ingo Molnar.
>
> . Do not accept parse_tag_value() overflow, fix from Adrian Hunter.
>
> . Validate that mmap_pages is not too big. From Adrian Hunter.
>
> . Fix non-debug build, from Adrian Hunter
>
> . Clarify the "sample parsing" test entry.
>
> . Consider PERF_SAMPLE_TRANSACTION in the "sample parsing" test.
>
> Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
>
> ----------------------------------------------------------------
> Adrian Hunter (7):
> perf sched: Make struct perf_sched sched a local variable
> perf sched: Optimize build time
> perf script: Make perf_script a local variable
> perf inject: Do not repipe attributes to a perf.data file
> perf tools: Do not accept parse_tag_value() overflow
> perf evlist: Validate that mmap_pages is not too big
> perf tools: Fix non-debug build
>
> Arnaldo Carvalho de Melo (5):
> perf test: Clarify the "sample parsing" test entry
> perf test: Consider PERF_SAMPLE_TRANSACTION in the "sample parsing" test
> perf tools: Stop using 'self' in some more places
> perf ui: Rename ui_progress to ui_progress_ops
> perf ui progress: Per progress bar state
>
> Ingo Molnar (1):
> perf bench: Change the procps visible command-name of invididual benchmark tests plus cleanups
>
> Masami Hiramatsu (2):
> perf probe: Support "$vars" meta argument syntax for local variables
> perf probe: Find fentry mcount fuzzed parameter location
>
> Namhyung Kim (1):
> perf tools: Show progress on histogram collapsing
>
> tools/perf/Makefile.perf | 1 +
> tools/perf/builtin-annotate.c | 6 +-
> tools/perf/builtin-bench.c | 239 +++++++++++++++++++-------------------
> tools/perf/builtin-diff.c | 7 +-
> tools/perf/builtin-inject.c | 27 +++--
> tools/perf/builtin-report.c | 24 ++--
> tools/perf/builtin-sched.c | 44 +++----
> tools/perf/builtin-script.c | 40 ++++---
> tools/perf/builtin-top.c | 4 +-
> tools/perf/config/Makefile | 4 +
> tools/perf/tests/hists_link.c | 2 +-
> tools/perf/tests/sample-parsing.c | 4 +-
> tools/perf/ui/gtk/gtk.h | 2 +-
> tools/perf/ui/gtk/progress.c | 20 ++--
> tools/perf/ui/gtk/setup.c | 2 +-
> tools/perf/ui/progress.c | 32 +++--
> tools/perf/ui/progress.h | 19 +--
> tools/perf/ui/tui/progress.c | 15 +--
> tools/perf/ui/tui/setup.c | 3 +-
> tools/perf/ui/tui/tui.h | 6 +
> tools/perf/util/build-id.c | 6 +-
> tools/perf/util/evlist.c | 14 ++-
> tools/perf/util/hist.c | 23 ++--
> tools/perf/util/hist.h | 3 +-
> tools/perf/util/probe-event.c | 1 -
> tools/perf/util/probe-finder.c | 133 ++++++++++++++++++---
> tools/perf/util/probe-finder.h | 1 +
> tools/perf/util/session.c | 24 ++--
> tools/perf/util/sort.c | 124 ++++++++++----------
> tools/perf/util/strfilter.c | 46 ++++----
> tools/perf/util/thread.c | 72 ++++++------
> tools/perf/util/util.c | 2 +
> 32 files changed, 560 insertions(+), 390 deletions(-)
> create mode 100644 tools/perf/ui/tui/tui.h
Pulled, thanks Arnaldo!
Ingo
^ permalink raw reply [flat|nested] 57+ messages in thread
* [GIT PULL 00/16] perf/core improvements and fixes
@ 2013-11-18 20:27 Arnaldo Carvalho de Melo
0 siblings, 0 replies; 57+ messages in thread
From: Arnaldo Carvalho de Melo @ 2013-11-18 20:27 UTC (permalink / raw)
To: Ingo Molnar
Cc: linux-kernel, Arnaldo Carvalho de Melo, Adrian Hunter,
David Ahern, Frederic Weisbecker, Jiri Olsa, Mike Galbraith,
Namhyung Kim, Paul Mackerras, Pekka Enberg, Peter Zijlstra,
Ramkumar Ramachandra, Stephane Eranian, Steven Rostedt,
Arnaldo Carvalho de Melo
From: Arnaldo Carvalho de Melo <acme@ghostprotocols.net>
Hi Ingo,
Please consider pulling,
- Arnaldo
The following changes since commit 89b4be142bf2491a94af325f5206fc2f2aa18960:
Merge tag 'perf-core-for-mingo' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/urgent (2013-11-15 07:35:50 +0100)
are available in the git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux tags/perf-core-for-mingo
for you to fetch changes up to b4070e339cd39e4b56604eddc3e93ee355027d45:
tools lib traceevent: Fix use of multiple options in processing field (2013-11-18 17:09:51 -0300)
----------------------------------------------------------------
perf/core improvements and fixes:
. Make per-cpu mmaps the default, having inheritance turned on for
all targets but --tid/-t. From Adrian Hunter.
. Make 'perf top -g' refer to callchains, not --groups, to be consistent
with 'perf record -g'. From David Ahern.
. Tag thread comm as overriden, fix from Frederic Weisbecker.
. Fix bogus group name when processing the perf.data file header, from Namhyung Kim.
. Fix possible memory leaks in process_group_desc(), from Namhyung Kim.
. Remove 'perf trace' thread summary coloring, from Pekka Enberg.
. Generalize the bash completion scripts and make it work with zsh too, from
Ramkumar Ramachandra.
. Fix use of multiple options in processing field in libtraceevent, from Steven Rostedt.
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
----------------------------------------------------------------
Adrian Hunter (4):
perf record: Make per-cpu mmaps the default.
perf tools: Allow '--inherit' as the negation of '--no-inherit'
perf tools: Add option macro OPT_BOOLEAN_SET
perf record: Default -t option to no inheritance
David Ahern (1):
perf top: Make -g refer to callchains
Frederic Weisbecker (1):
perf tools: Tag thread comm as overriden
Namhyung Kim (3):
perf header: Fix bogus group name
perf header: Fix possible memory leaks in process_group_desc()
perf script: Move evname print code to process_event()
Pekka Enberg (1):
perf trace: Remove thread summary coloring
Ramkumar Ramachandra (5):
perf completion: introduce a layer of indirection
perf completion: factor out compgen stuff
perf completion: factor out call to __ltrim_colon_completions
perf completion: introduce zsh support
perf completion: rename file to reflect zsh support
Steven Rostedt (1):
tools lib traceevent: Fix use of multiple options in processing field
tools/lib/traceevent/event-parse.c | 23 ++++-
tools/perf/Documentation/perf-record.txt | 12 +--
tools/perf/Documentation/perf-top.txt | 5 +-
tools/perf/Makefile.perf | 4 +-
tools/perf/builtin-record.c | 13 ++-
tools/perf/builtin-script.c | 11 ++-
tools/perf/builtin-top.c | 4 +-
tools/perf/builtin-trace.c | 13 +--
tools/perf/{bash_completion => perf-completion.sh} | 100 ++++++++++++++++++---
tools/perf/perf.h | 1 +
tools/perf/tests/attr/test-record-no-inherit | 2 +-
tools/perf/util/evlist.c | 6 +-
tools/perf/util/evsel.c | 5 +-
tools/perf/util/header.c | 6 +-
tools/perf/util/parse-options.c | 21 +++++
tools/perf/util/parse-options.h | 8 ++
tools/perf/util/target.c | 11 ++-
tools/perf/util/target.h | 4 +-
tools/perf/util/thread.c | 11 ++-
19 files changed, 198 insertions(+), 62 deletions(-)
rename tools/perf/{bash_completion => perf-completion.sh} (65%)
^ permalink raw reply [flat|nested] 57+ messages in thread
* [GIT PULL 00/16] perf/core improvements and fixes
@ 2014-03-14 21:29 Arnaldo Carvalho de Melo
2014-03-18 8:24 ` Ingo Molnar
0 siblings, 1 reply; 57+ messages in thread
From: Arnaldo Carvalho de Melo @ 2014-03-14 21:29 UTC (permalink / raw)
To: Ingo Molnar
Cc: linux-kernel, Arnaldo Carvalho de Melo, Adrian Hunter, Andi Kleen,
Aswin Chandramouleeswaran, Corey Ashford, Darren Hart,
David Ahern, Davidlohr Bueso, Don Zickus, Frederic Weisbecker,
Jason Low, Jiri Olsa, Joe Mario, Masami Hiramatsu, Mike Galbraith,
Namhyung Kim, Paul Mackerras, Pekka Enberg, Peter Zijlstra,
Ramkumar Ramachandra, Scott J Norton, Stephane Eranian,
Thomas Gleixner, Waiman Long, Arnaldo Carvalho de Melo
From: Arnaldo Carvalho de Melo <acme@ghostprotocols.net>
Hi Ingo,
Please consider pulling,
- Arnaldo
The following changes since commit 81827ed8d85e892311965dc9ec4120b2b2e745bd:
perf/x86/uncore: Fix missing end markers for SNB/IVB/HSW IMC PMU (2014-03-14 09:25:25 +0100)
are available in the git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux tags/perf-core-for-mingo
for you to fetch changes up to d75e6097ef1f7669deb500fbbdf53cfe524f1b53:
perf machine: Factor machine__find_thread to take tid argument (2014-03-14 18:08:42 -0300)
----------------------------------------------------------------
perf/core improvements and fixes:
User visible:
. Add several futex 'perf bench' microbenchmarks (Davidlohr Bueso)
. Speed up thread map generation (Don Zickus)
. Fix synthesizing mmaps for threads (Don Zickus)
. Fix invalid output on event group stdio report (Namhyung Kim)
. Introduce 'perf kvm --list-cmds' command line option for use by
scripts (Ramkumar Ramachandra)
Documentation:
. Clarify load-latency information in the 'perf mem' docs (Andi Kleen)
. Clarify x86 register naming in 'perf probe' docs (Andi Kleen)
Refactorigns:
. hists browser refactorings to reuse code accross UIs (Namhyung Kim)
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
----------------------------------------------------------------
Andi Kleen (2):
perf mem: Clarify load-latency in documentation
perf probe: Clarify x86 register naming for perf probe
Arnaldo Carvalho de Melo (1):
perf symbols: Introduce thread__find_cpumode_addr_location
Davidlohr Bueso (3):
perf bench: Add futex-hash microbenchmark
perf bench: Add futex-wake microbenchmark
perf bench: Add futex-requeue microbenchmark
Don Zickus (3):
perf tools: Fix synthesizing mmaps for threads
perf session: Change header.misc dump from decimal to hex
perf tools: Speed up thread map generation
Jiri Olsa (1):
perf machine: Factor machine__find_thread to take tid argument
Namhyung Kim (5):
perf ui/stdio: Fix invalid output on event group report
perf ui/gtk: Reuse generic __hpp__fmt() code
perf ui/hists: Pass struct hpp to print functions
perf ui/tui: Reuse generic __hpp__fmt() code
perf ui hists: Pass evsel to hpp->header/width functions explicitly
Ramkumar Ramachandra (1):
perf kvm: introduce --list-cmds for use by scripts
tools/perf/Documentation/perf-mem.txt | 4 +
tools/perf/Documentation/perf-probe.txt | 2 +
tools/perf/Makefile.perf | 3 +
tools/perf/bench/bench.h | 3 +
tools/perf/bench/futex-hash.c | 212 ++++++++++++++++++++++++++++++++
tools/perf/bench/futex-requeue.c | 211 +++++++++++++++++++++++++++++++
tools/perf/bench/futex-wake.c | 201 ++++++++++++++++++++++++++++++
tools/perf/bench/futex.h | 71 +++++++++++
tools/perf/builtin-bench.c | 12 +-
tools/perf/builtin-diff.c | 7 +-
tools/perf/builtin-kvm.c | 12 +-
tools/perf/perf-completion.sh | 2 +-
tools/perf/perf.h | 6 +
tools/perf/tests/dwarf-unwind.c | 2 +-
tools/perf/ui/browsers/hists.c | 122 ++++++------------
tools/perf/ui/gtk/hists.c | 78 ++----------
tools/perf/ui/hist.c | 138 +++++++++++++++------
tools/perf/ui/stdio/hist.c | 11 +-
tools/perf/util/event.c | 156 ++++++++++++++---------
tools/perf/util/hist.h | 20 ++-
tools/perf/util/machine.c | 46 +++----
tools/perf/util/machine.h | 3 +-
tools/perf/util/parse-options.c | 37 +++++-
tools/perf/util/parse-options.h | 8 +-
tools/perf/util/session.c | 2 +-
tools/perf/util/thread.c | 21 ++++
tools/perf/util/thread.h | 5 +
27 files changed, 1094 insertions(+), 301 deletions(-)
create mode 100644 tools/perf/bench/futex-hash.c
create mode 100644 tools/perf/bench/futex-requeue.c
create mode 100644 tools/perf/bench/futex-wake.c
create mode 100644 tools/perf/bench/futex.h
^ permalink raw reply [flat|nested] 57+ messages in thread
* Re: [GIT PULL 00/16] perf/core improvements and fixes
2014-03-14 21:29 Arnaldo Carvalho de Melo
@ 2014-03-18 8:24 ` Ingo Molnar
0 siblings, 0 replies; 57+ messages in thread
From: Ingo Molnar @ 2014-03-18 8:24 UTC (permalink / raw)
To: Arnaldo Carvalho de Melo
Cc: linux-kernel, Arnaldo Carvalho de Melo, Adrian Hunter, Andi Kleen,
Aswin Chandramouleeswaran, Corey Ashford, Darren Hart,
David Ahern, Davidlohr Bueso, Don Zickus, Frederic Weisbecker,
Jason Low, Jiri Olsa, Joe Mario, Masami Hiramatsu, Mike Galbraith,
Namhyung Kim, Paul Mackerras, Pekka Enberg, Peter Zijlstra,
Ramkumar Ramachandra, Scott J Norton, Stephane Eranian,
Thomas Gleixner, Waiman Long, Arnaldo Carvalho de Melo
* Arnaldo Carvalho de Melo <acme@infradead.org> wrote:
> From: Arnaldo Carvalho de Melo <acme@ghostprotocols.net>
>
> Hi Ingo,
>
> Please consider pulling,
>
> - Arnaldo
>
> The following changes since commit 81827ed8d85e892311965dc9ec4120b2b2e745bd:
>
> perf/x86/uncore: Fix missing end markers for SNB/IVB/HSW IMC PMU (2014-03-14 09:25:25 +0100)
>
> are available in the git repository at:
>
> git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux tags/perf-core-for-mingo
>
> for you to fetch changes up to d75e6097ef1f7669deb500fbbdf53cfe524f1b53:
>
> perf machine: Factor machine__find_thread to take tid argument (2014-03-14 18:08:42 -0300)
>
> ----------------------------------------------------------------
> perf/core improvements and fixes:
>
> User visible:
>
> . Add several futex 'perf bench' microbenchmarks (Davidlohr Bueso)
>
> . Speed up thread map generation (Don Zickus)
>
> . Fix synthesizing mmaps for threads (Don Zickus)
>
> . Fix invalid output on event group stdio report (Namhyung Kim)
>
> . Introduce 'perf kvm --list-cmds' command line option for use by
> scripts (Ramkumar Ramachandra)
>
> Documentation:
>
> . Clarify load-latency information in the 'perf mem' docs (Andi Kleen)
>
> . Clarify x86 register naming in 'perf probe' docs (Andi Kleen)
>
> Refactorigns:
>
> . hists browser refactorings to reuse code accross UIs (Namhyung Kim)
>
> Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
>
> ----------------------------------------------------------------
> Andi Kleen (2):
> perf mem: Clarify load-latency in documentation
> perf probe: Clarify x86 register naming for perf probe
>
> Arnaldo Carvalho de Melo (1):
> perf symbols: Introduce thread__find_cpumode_addr_location
>
> Davidlohr Bueso (3):
> perf bench: Add futex-hash microbenchmark
> perf bench: Add futex-wake microbenchmark
> perf bench: Add futex-requeue microbenchmark
>
> Don Zickus (3):
> perf tools: Fix synthesizing mmaps for threads
> perf session: Change header.misc dump from decimal to hex
> perf tools: Speed up thread map generation
>
> Jiri Olsa (1):
> perf machine: Factor machine__find_thread to take tid argument
>
> Namhyung Kim (5):
> perf ui/stdio: Fix invalid output on event group report
> perf ui/gtk: Reuse generic __hpp__fmt() code
> perf ui/hists: Pass struct hpp to print functions
> perf ui/tui: Reuse generic __hpp__fmt() code
> perf ui hists: Pass evsel to hpp->header/width functions explicitly
>
> Ramkumar Ramachandra (1):
> perf kvm: introduce --list-cmds for use by scripts
>
> tools/perf/Documentation/perf-mem.txt | 4 +
> tools/perf/Documentation/perf-probe.txt | 2 +
> tools/perf/Makefile.perf | 3 +
> tools/perf/bench/bench.h | 3 +
> tools/perf/bench/futex-hash.c | 212 ++++++++++++++++++++++++++++++++
> tools/perf/bench/futex-requeue.c | 211 +++++++++++++++++++++++++++++++
> tools/perf/bench/futex-wake.c | 201 ++++++++++++++++++++++++++++++
> tools/perf/bench/futex.h | 71 +++++++++++
> tools/perf/builtin-bench.c | 12 +-
> tools/perf/builtin-diff.c | 7 +-
> tools/perf/builtin-kvm.c | 12 +-
> tools/perf/perf-completion.sh | 2 +-
> tools/perf/perf.h | 6 +
> tools/perf/tests/dwarf-unwind.c | 2 +-
> tools/perf/ui/browsers/hists.c | 122 ++++++------------
> tools/perf/ui/gtk/hists.c | 78 ++----------
> tools/perf/ui/hist.c | 138 +++++++++++++++------
> tools/perf/ui/stdio/hist.c | 11 +-
> tools/perf/util/event.c | 156 ++++++++++++++---------
> tools/perf/util/hist.h | 20 ++-
> tools/perf/util/machine.c | 46 +++----
> tools/perf/util/machine.h | 3 +-
> tools/perf/util/parse-options.c | 37 +++++-
> tools/perf/util/parse-options.h | 8 +-
> tools/perf/util/session.c | 2 +-
> tools/perf/util/thread.c | 21 ++++
> tools/perf/util/thread.h | 5 +
> 27 files changed, 1094 insertions(+), 301 deletions(-)
> create mode 100644 tools/perf/bench/futex-hash.c
> create mode 100644 tools/perf/bench/futex-requeue.c
> create mode 100644 tools/perf/bench/futex-wake.c
> create mode 100644 tools/perf/bench/futex.h
Pulled, thanks a lot Arnaldo!
Ingo
^ permalink raw reply [flat|nested] 57+ messages in thread
* [GIT PULL 00/16] perf/core improvements and fixes
@ 2014-08-22 16:29 Arnaldo Carvalho de Melo
2014-08-24 10:11 ` Ingo Molnar
0 siblings, 1 reply; 57+ messages in thread
From: Arnaldo Carvalho de Melo @ 2014-08-22 16:29 UTC (permalink / raw)
To: Ingo Molnar
Cc: linux-kernel, Arnaldo Carvalho de Melo, Adrian Hunter, Andi Kleen,
Corey Ashford, David Ahern, Don Zickus, Frederic Weisbecker,
Jean Pihet, Jiri Olsa, Joe Mario, Michael Ellerman, Namhyung Kim,
Paul Mackerras, Peter Zijlstra, Stephane Eranian,
Sukadev Bhattiprolu, Arnaldo Carvalho de Melo
Hi Ingo,
Please consider pulling,
- Arnaldo
The following changes since commit af924aa35129edf338ebc8da6a4eae08cf7cb297:
Merge tag 'perf-core-for-mingo' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/core (2014-08-18 10:14:43 +0200)
are available in the git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux.git tags/perf-core-for-mingo
for you to fetch changes up to 141da74d2eff8de134c5a5ffaf2800a8a1b27517:
perf hists browser: Consolidate callchain print functions in TUI (2014-08-22 13:12:15 -0300)
----------------------------------------------------------------
perf/core improvements and fixes:
User visible:
o Don't try to find DSOs in SYSV maps (Don Zickus)
o Fallback to MAP__FUNCTION if daddr maps are NULL,
i.e. addresses get looked upon more maps (Don Zickus)
o Kernel fix to properly handle exited tasks, by returning POLLHUP values
on perf event file descriptors. Tooling changes will come next, but were
tested with this kernel fix. (Jiri Olsa)
o Add +field argument support for --field option, so that one can add
fields to the default list of fields to show, i.e. now one can just do:
perf report --fields +pid
And the pid will appear in addition to the default fields. (Jiri Olsa)
Developer stuff:
o More Intel PT prep stuff, including:
- Add a 'perf test' for tracking with sched_switch
- Add 'flush' callback to scripting API
o hists browser (used in top and report) refactorings, getting rid of unused
variables and reducing source code size by handling similar cases in a
fewer functions (Namhyung Kim).
o Explicitly include util/debug.h for powerpc, was being indirectly included,
broke the build when some change made it stop being included. (Sukadev
Bhattiprolu)
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
----------------------------------------------------------------
Adrian Hunter (4):
perf tests: Add a test for tracking with sched_switch
perf scripting: Add 'flush' callback to scripting API
perf machine: Rename machine__get_kernel_start_addr() method
perf tools: Add machine__kernel_ip()
Don Zickus (2):
perf symbols: Don't try to find DSOs in SYSV maps
perf machine: Fallback to MAP__FUNCTION if daddr maps are NULL
Jiri Olsa (4):
perf: Fix perf_poll to return proper POLLHUP value
perf: Add PERF_EVENT_STATE_EXIT state for events with exited task
perf top: Use set_term_quiet() instead of open coded equivalent
perf tools: Add +field argument support for --field option
Namhyung Kim (5):
perf hists browser: Get rid of unused 'remaining' variable
perf hists browser: Fix children overhead dump
perf hists browser: Factor out hist_browser__show_callchain_entry()
perf hists browser: Cleanup callchain print functions
perf hists browser: Consolidate callchain print functions in TUI
Sukadev Bhattiprolu (1):
perf tools powerpc: Explicitly include util/debug.h
include/linux/perf_event.h | 1 +
kernel/events/core.c | 12 +-
tools/perf/Makefile.perf | 1 +
tools/perf/arch/powerpc/util/skip-callchain-idx.c | 1 +
tools/perf/builtin-script.c | 13 +
tools/perf/builtin-top.c | 9 +-
tools/perf/tests/builtin-test.c | 4 +
tools/perf/tests/switch-tracking.c | 572 +++++++++++++++++++++
tools/perf/tests/tests.h | 1 +
tools/perf/ui/browsers/hists.c | 343 +++++-------
tools/perf/ui/hist.c | 6 +-
tools/perf/util/event.c | 6 +-
tools/perf/util/machine.c | 41 +-
tools/perf/util/machine.h | 17 +
tools/perf/util/map.c | 1 +
.../perf/util/scripting-engines/trace-event-perl.c | 6 +
.../util/scripting-engines/trace-event-python.c | 6 +
tools/perf/util/sort.c | 24 +-
tools/perf/util/sort.h | 1 +
tools/perf/util/trace-event-scripting.c | 7 +
tools/perf/util/trace-event.h | 1 +
21 files changed, 827 insertions(+), 246 deletions(-)
create mode 100644 tools/perf/tests/switch-tracking.c
^ permalink raw reply [flat|nested] 57+ messages in thread
* Re: [GIT PULL 00/16] perf/core improvements and fixes
2014-08-22 16:29 Arnaldo Carvalho de Melo
@ 2014-08-24 10:11 ` Ingo Molnar
2014-08-24 11:16 ` Arnaldo Carvalho de Melo
0 siblings, 1 reply; 57+ messages in thread
From: Ingo Molnar @ 2014-08-24 10:11 UTC (permalink / raw)
To: Arnaldo Carvalho de Melo
Cc: linux-kernel, Adrian Hunter, Andi Kleen, Corey Ashford,
David Ahern, Don Zickus, Frederic Weisbecker, Jean Pihet,
Jiri Olsa, Joe Mario, Michael Ellerman, Namhyung Kim,
Paul Mackerras, Peter Zijlstra, Stephane Eranian,
Sukadev Bhattiprolu, Arnaldo Carvalho de Melo
* Arnaldo Carvalho de Melo <acme@kernel.org> wrote:
> Hi Ingo,
>
> Please consider pulling,
>
> - Arnaldo
>
> The following changes since commit af924aa35129edf338ebc8da6a4eae08cf7cb297:
>
> Merge tag 'perf-core-for-mingo' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/core (2014-08-18 10:14:43 +0200)
>
> are available in the git repository at:
>
>
> git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux.git tags/perf-core-for-mingo
>
> for you to fetch changes up to 141da74d2eff8de134c5a5ffaf2800a8a1b27517:
>
> perf hists browser: Consolidate callchain print functions in TUI (2014-08-22 13:12:15 -0300)
>
> ----------------------------------------------------------------
> perf/core improvements and fixes:
>
> User visible:
>
> o Don't try to find DSOs in SYSV maps (Don Zickus)
>
> o Fallback to MAP__FUNCTION if daddr maps are NULL,
> i.e. addresses get looked upon more maps (Don Zickus)
>
> o Kernel fix to properly handle exited tasks, by returning POLLHUP values
> on perf event file descriptors. Tooling changes will come next, but were
> tested with this kernel fix. (Jiri Olsa)
So the signoffs are really weird (and invalid) here:
commit ce1d77c667e40631d6673717e65e72f72265bf10
Author: Jiri Olsa <jolsa@kernel.org>
Date: Fri Aug 15 16:24:45 2014 -0300
perf top: Use set_term_quiet() instead of open coded equivalent
...
Cc: Jiri Olsa <jolsa@kernel.org>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Link: http://lkml.kernel.org/n/tip-h7n9te70flmaqfnj6l06ay6r@git.kernel.org
[ Yanked this out of a patch containing this and some other change ]
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
and in 7713886adc15 and f017bf0a8d92 - results of a rebase gone wrong?
Thanks,
Ingo
^ permalink raw reply [flat|nested] 57+ messages in thread
* Re: [GIT PULL 00/16] perf/core improvements and fixes
2014-08-24 10:11 ` Ingo Molnar
@ 2014-08-24 11:16 ` Arnaldo Carvalho de Melo
2014-08-24 14:47 ` Ingo Molnar
0 siblings, 1 reply; 57+ messages in thread
From: Arnaldo Carvalho de Melo @ 2014-08-24 11:16 UTC (permalink / raw)
To: Ingo Molnar
Cc: linux-kernel, Adrian Hunter, Andi Kleen, Corey Ashford,
David Ahern, Don Zickus, Frederic Weisbecker, Jean Pihet,
Jiri Olsa, Joe Mario, Michael Ellerman, Namhyung Kim,
Paul Mackerras, Peter Zijlstra, Stephane Eranian,
Sukadev Bhattiprolu
Em Sun, Aug 24, 2014 at 12:11:24PM +0200, Ingo Molnar escreveu:
> * Arnaldo Carvalho de Melo <acme@kernel.org> wrote:
> > o Kernel fix to properly handle exited tasks, by returning POLLHUP values
> > on perf event file descriptors. Tooling changes will come next, but were
> > tested with this kernel fix. (Jiri Olsa)
> So the signoffs are really weird (and invalid) here:
> commit ce1d77c667e40631d6673717e65e72f72265bf10
> Author: Jiri Olsa <jolsa@kernel.org>
> Date: Fri Aug 15 16:24:45 2014 -0300
> perf top: Use set_term_quiet() instead of open coded equivalent
> ...
> Cc: Jiri Olsa <jolsa@kernel.org>
> Cc: Namhyung Kim <namhyung@kernel.org>
> Cc: Paul Mackerras <paulus@samba.org>
> Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
> Link: http://lkml.kernel.org/n/tip-h7n9te70flmaqfnj6l06ay6r@git.kernel.org
> [ Yanked this out of a patch containing this and some other change ]
> Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
> and in 7713886adc15 and f017bf0a8d92 - results of a rebase gone wrong?
Should be ok now, I recreated the perf-core-for-mingo signed tag, please
let me know if there are still any problems,
Thanks!
- Arnaldo
^ permalink raw reply [flat|nested] 57+ messages in thread
* Re: [GIT PULL 00/16] perf/core improvements and fixes
2014-08-24 11:16 ` Arnaldo Carvalho de Melo
@ 2014-08-24 14:47 ` Ingo Molnar
0 siblings, 0 replies; 57+ messages in thread
From: Ingo Molnar @ 2014-08-24 14:47 UTC (permalink / raw)
To: Arnaldo Carvalho de Melo
Cc: linux-kernel, Adrian Hunter, Andi Kleen, Corey Ashford,
David Ahern, Don Zickus, Frederic Weisbecker, Jean Pihet,
Jiri Olsa, Joe Mario, Michael Ellerman, Namhyung Kim,
Paul Mackerras, Peter Zijlstra, Stephane Eranian,
Sukadev Bhattiprolu
* Arnaldo Carvalho de Melo <acme@kernel.org> wrote:
> Em Sun, Aug 24, 2014 at 12:11:24PM +0200, Ingo Molnar escreveu:
> > * Arnaldo Carvalho de Melo <acme@kernel.org> wrote:
> > > o Kernel fix to properly handle exited tasks, by returning POLLHUP values
> > > on perf event file descriptors. Tooling changes will come next, but were
> > > tested with this kernel fix. (Jiri Olsa)
>
> > So the signoffs are really weird (and invalid) here:
>
> > commit ce1d77c667e40631d6673717e65e72f72265bf10
> > Author: Jiri Olsa <jolsa@kernel.org>
> > Date: Fri Aug 15 16:24:45 2014 -0300
>
> > perf top: Use set_term_quiet() instead of open coded equivalent
>
> > ...
> > Cc: Jiri Olsa <jolsa@kernel.org>
> > Cc: Namhyung Kim <namhyung@kernel.org>
> > Cc: Paul Mackerras <paulus@samba.org>
> > Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
> > Link: http://lkml.kernel.org/n/tip-h7n9te70flmaqfnj6l06ay6r@git.kernel.org
> > [ Yanked this out of a patch containing this and some other change ]
> > Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
>
> > and in 7713886adc15 and f017bf0a8d92 - results of a rebase gone wrong?
>
> Should be ok now, I recreated the perf-core-for-mingo signed tag, please
> let me know if there are still any problems,
Looks good now. Pulled, thanks a lot Arnaldo!
Ingo
^ permalink raw reply [flat|nested] 57+ messages in thread
* [GIT PULL 00/16] perf/core improvements and fixes
@ 2014-11-19 16:03 Arnaldo Carvalho de Melo
2014-11-19 16:03 ` [PATCH 01/16] perf build-id: Move disable_buildid_cache() to util/build-id.c Arnaldo Carvalho de Melo
` (16 more replies)
0 siblings, 17 replies; 57+ messages in thread
From: Arnaldo Carvalho de Melo @ 2014-11-19 16:03 UTC (permalink / raw)
To: Ingo Molnar
Cc: linux-kernel, Arnaldo Carvalho de Melo, Adrian Hunter, Andi Kleen,
Aravinda Prasad, Borislav Petkov, Brendan Gregg, Corey Ashford,
David Ahern, Don Zickus, Frederic Weisbecker, Hemant Kumar,
Jean Pihet, Jiri Olsa, Kan Liang, Masami Hiramatsu,
Mike Galbraith, Namhyung Kim, Oleg Nesterov, Paul Mackerras,
Pekka Enberg, Peter Zijlstra, Srikar Dronamraju, Stephane Eranian,
Steven Rostedt, systemtap, Vasant Hegde, WANG Chao,
Arnaldo Carvalho de Melo
Hi Ingo,
Please consider pulling,
- Arnaldo
The following changes since commit 2565711fb7d7c28e0cd93c8971b520d1b10b857c:
perf: Improve the perf_sample_data struct layout (2014-11-16 11:42:04 +0100)
are available in the git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux.git tags/perf-core-for-mingo
for you to fetch changes up to a84808083688d82d7f1e5786ccf5df0ff7d448cb:
perf tools: Only override the default :tid comm entry (2014-11-19 12:37:26 -0300)
----------------------------------------------------------------
perf/core improvements and fixes:
User visible fixes:
- Fallback to kallsyms when using the minimal 'ELF' loader (Arnaldo Carvalho de Melo)
- Fix annotation with kcore (Adrian Hunter)
- Fix up srcline histogram key formatting (Arnaldo Carvalho de Melo)
- Add missing handler for PERF_RECORD_MMAP2 events in 'perf diff' (Kan Liang)
User visible changes/new features:
- Only print base source file for srcline histogram sort key (Andi Kleen)
- Support source line numbers in annotate using a hotkey (Andi Kleen)
Infrastructure:
- Do not poll events that use the system_wide flag (Adrian Hunter)
- Add perf-read-vdso32 and perf-read-vdsox32 to .gitignore (Adrian Hunter)
perf tools: Only override the default :tid comm entry (Adrian Hunter)
- Factor out adding new call chain entries (Andi Kleen)
- Use al.addr to set up call chain (Andi Kleen)
- Use a common function to resolve symbol or name (Andi Kleen)
- Fix ftrace:function event recording (Jiri Olsa)
- Move disable_buildid_cache() to util/build-id.c (Namhyung Kim)
- Clean up libelf feature support code (Namhyung Kim)
- fix typo in python 'perf test' (WANG Chao)
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
----------------------------------------------------------------
Adrian Hunter (4):
perf tools: Fix annotation with kcore
perf evlist: Do not poll events that use the system_wide flag
perf tools: Add perf-read-vdso32 and perf-read-vdsox32 to .gitignore
perf tools: Only override the default :tid comm entry
Andi Kleen (5):
perf callchain: Factor out adding new call chain entries
perf callchain: Use al.addr to set up call chain
perf callchain: Use a common function to resolve symbol or name
perf tools: Only print base source file for srcline
perf annotate: Support source line numbers in annotate
Arnaldo Carvalho de Melo (2):
perf symbols: Fallback to kallsyms when using the minimal 'ELF' loader
perf hists: Fix up srcline histogram key formatting
Jiri Olsa (1):
perf evsel: Fix ftrace:function event recording
Kan Liang (1):
perf diff: Add missing handler for PERF_RECORD_MMAP2 events
Namhyung Kim (2):
perf build-id: Move disable_buildid_cache() to util/build-id.c
perf tools: Clean up libelf feature support code
WANG Chao (1):
perf test: fix typo in python test
tools/perf/.gitignore | 2 ++
tools/perf/Makefile.perf | 2 --
tools/perf/builtin-diff.c | 1 +
tools/perf/config/Makefile | 5 ++--
tools/perf/tests/builtin-test.c | 2 +-
tools/perf/ui/browsers/annotate.c | 13 +++++++++-
tools/perf/ui/browsers/hists.c | 17 -------------
tools/perf/ui/gtk/hists.c | 11 +--------
tools/perf/ui/stdio/hist.c | 23 +++++++-----------
tools/perf/util/annotate.c | 32 ++++++++++++++++++++----
tools/perf/util/annotate.h | 1 +
tools/perf/util/build-id.c | 11 +++++++++
tools/perf/util/build-id.h | 1 +
tools/perf/util/callchain.c | 19 +++++++++++++++
tools/perf/util/callchain.h | 3 +++
tools/perf/util/evlist.c | 10 +++++++-
tools/perf/util/evsel.c | 8 ++++++
tools/perf/util/header.c | 10 +-------
tools/perf/util/machine.c | 51 ++++++++++++++++++++++++---------------
tools/perf/util/sort.c | 2 +-
tools/perf/util/srcline.c | 2 +-
tools/perf/util/symbol-minimal.c | 1 -
tools/perf/util/thread.c | 5 ++--
tools/perf/util/util.h | 1 -
24 files changed, 145 insertions(+), 88 deletions(-)
^ permalink raw reply [flat|nested] 57+ messages in thread
* [PATCH 01/16] perf build-id: Move disable_buildid_cache() to util/build-id.c
2014-11-19 16:03 [GIT PULL 00/16] perf/core improvements and fixes Arnaldo Carvalho de Melo
@ 2014-11-19 16:03 ` Arnaldo Carvalho de Melo
2014-11-19 16:03 ` [PATCH 02/16] perf tools: Clean up libelf feature support code Arnaldo Carvalho de Melo
` (15 subsequent siblings)
16 siblings, 0 replies; 57+ messages in thread
From: Arnaldo Carvalho de Melo @ 2014-11-19 16:03 UTC (permalink / raw)
To: Ingo Molnar
Cc: linux-kernel, Namhyung Kim, Aravinda Prasad, Brendan Gregg,
Hemant Kumar, Masami Hiramatsu, Oleg Nesterov, Pekka Enberg,
Peter Zijlstra, Srikar Dronamraju, Vasant Hegde, systemtap,
Arnaldo Carvalho de Melo
From: Namhyung Kim <namhyung@kernel.org>
Also move static variable no_buildid_cache and check it in the
perf_session_cache_build_ids().
Signed-off-by: Namhyung Kim <namhyung@kernel.org>
Cc: Aravinda Prasad <aravinda@linux.vnet.ibm.com>
Cc: Brendan Gregg <brendan.d.gregg@gmail.com>
Cc: Hemant Kumar <hemant@linux.vnet.ibm.com>
Cc: Ingo Molnar <mingo@kernel.org>
Cc: Masami Hiramatsu <masami.hiramatsu.pt@hitachi.com>
Cc: Oleg Nesterov <oleg@redhat.com>
Cc: Pekka Enberg <penberg@iki.fi>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Srikar Dronamraju <srikar@linux.vnet.ibm.com>
Cc: Vasant Hegde <hegdevasant@linux.vnet.ibm.com>
Cc: systemtap@sourceware.org
Link: http://lkml.kernel.org/r/1415368677-3794-1-git-send-email-namhyung@kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
---
tools/perf/util/build-id.c | 11 +++++++++++
tools/perf/util/build-id.h | 1 +
| 10 +---------
tools/perf/util/util.h | 1 -
4 files changed, 13 insertions(+), 10 deletions(-)
diff --git a/tools/perf/util/build-id.c b/tools/perf/util/build-id.c
index dd2a3e52ada1..e8d79e5bfaf7 100644
--- a/tools/perf/util/build-id.c
+++ b/tools/perf/util/build-id.c
@@ -18,6 +18,9 @@
#include "header.h"
#include "vdso.h"
+
+static bool no_buildid_cache;
+
int build_id__mark_dso_hit(struct perf_tool *tool __maybe_unused,
union perf_event *event,
struct perf_sample *sample,
@@ -251,6 +254,11 @@ int dsos__hit_all(struct perf_session *session)
return 0;
}
+void disable_buildid_cache(void)
+{
+ no_buildid_cache = true;
+}
+
int build_id_cache__add_s(const char *sbuild_id, const char *debugdir,
const char *name, bool is_kallsyms, bool is_vdso)
{
@@ -404,6 +412,9 @@ int perf_session__cache_build_ids(struct perf_session *session)
int ret;
char debugdir[PATH_MAX];
+ if (no_buildid_cache)
+ return 0;
+
snprintf(debugdir, sizeof(debugdir), "%s", buildid_dir);
if (mkdir(debugdir, 0755) != 0 && errno != EEXIST)
diff --git a/tools/perf/util/build-id.h b/tools/perf/util/build-id.h
index 666a3bd4f64e..8236319514d5 100644
--- a/tools/perf/util/build-id.h
+++ b/tools/perf/util/build-id.h
@@ -25,5 +25,6 @@ int perf_session__cache_build_ids(struct perf_session *session);
int build_id_cache__add_s(const char *sbuild_id, const char *debugdir,
const char *name, bool is_kallsyms, bool is_vdso);
int build_id_cache__remove_s(const char *sbuild_id, const char *debugdir);
+void disable_buildid_cache(void);
#endif
--git a/tools/perf/util/header.c b/tools/perf/util/header.c
index 05fab7a188dc..b20e40c74468 100644
--- a/tools/perf/util/header.c
+++ b/tools/perf/util/header.c
@@ -24,8 +24,6 @@
#include "build-id.h"
#include "data.h"
-static bool no_buildid_cache = false;
-
static u32 header_argc;
static const char **header_argv;
@@ -191,8 +189,7 @@ static int write_build_id(int fd, struct perf_header *h,
pr_debug("failed to write buildid table\n");
return err;
}
- if (!no_buildid_cache)
- perf_session__cache_build_ids(session);
+ perf_session__cache_build_ids(session);
return 0;
}
@@ -2791,8 +2788,3 @@ int perf_event__process_build_id(struct perf_tool *tool __maybe_unused,
session);
return 0;
}
-
-void disable_buildid_cache(void)
-{
- no_buildid_cache = true;
-}
diff --git a/tools/perf/util/util.h b/tools/perf/util/util.h
index 7dc44cfe25b3..76d23d83eae5 100644
--- a/tools/perf/util/util.h
+++ b/tools/perf/util/util.h
@@ -154,7 +154,6 @@ extern void set_die_routine(void (*routine)(const char *err, va_list params) NOR
extern int prefixcmp(const char *str, const char *prefix);
extern void set_buildid_dir(void);
-extern void disable_buildid_cache(void);
static inline const char *skip_prefix(const char *str, const char *prefix)
{
--
1.9.3
^ permalink raw reply related [flat|nested] 57+ messages in thread
* [PATCH 02/16] perf tools: Clean up libelf feature support code
2014-11-19 16:03 [GIT PULL 00/16] perf/core improvements and fixes Arnaldo Carvalho de Melo
2014-11-19 16:03 ` [PATCH 01/16] perf build-id: Move disable_buildid_cache() to util/build-id.c Arnaldo Carvalho de Melo
@ 2014-11-19 16:03 ` Arnaldo Carvalho de Melo
2014-11-19 16:03 ` [PATCH 03/16] perf symbols: Fallback to kallsyms when using the minimal 'ELF' loader Arnaldo Carvalho de Melo
` (14 subsequent siblings)
16 siblings, 0 replies; 57+ messages in thread
From: Arnaldo Carvalho de Melo @ 2014-11-19 16:03 UTC (permalink / raw)
To: Ingo Molnar
Cc: linux-kernel, Namhyung Kim, Adrian Hunter, David Ahern, Jiri Olsa,
Namhyung Kim, Paul Mackerras, Peter Zijlstra,
Arnaldo Carvalho de Melo
From: Namhyung Kim <namhyung@kernel.org>
Current EXTLIBS contains -lelf by default and removes it when libelf is
not detected.
This is little bit confusing since we can now build perf without libelf
so there's no need to handle it differently than other libraries.
Signed-off-by: Namhyung Kim <namhyung@kernel.org>
Cc: Adrian Hunter <adrian.hunter@intel.com>
Cc: David Ahern <dsahern@gmail.com>
Cc: Ingo Molnar <mingo@kernel.org>
Cc: Jiri Olsa <jolsa@redhat.com>
Cc: Namhyung Kim <namhyung.kim@lge.com>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Link: http://lkml.kernel.org/r/1415337606-2186-3-git-send-email-namhyung@kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
---
tools/perf/Makefile.perf | 2 --
tools/perf/config/Makefile | 5 +++--
2 files changed, 3 insertions(+), 4 deletions(-)
diff --git a/tools/perf/Makefile.perf b/tools/perf/Makefile.perf
index aecf61dcd754..478efa9b2364 100644
--- a/tools/perf/Makefile.perf
+++ b/tools/perf/Makefile.perf
@@ -497,8 +497,6 @@ ifneq ($(OUTPUT),)
endif
ifdef NO_LIBELF
-EXTLIBS := $(filter-out -lelf,$(EXTLIBS))
-
# Remove ELF/DWARF dependent codes
LIB_OBJS := $(filter-out $(OUTPUT)util/symbol-elf.o,$(LIB_OBJS))
LIB_OBJS := $(filter-out $(OUTPUT)util/dwarf-aux.o,$(LIB_OBJS))
diff --git a/tools/perf/config/Makefile b/tools/perf/config/Makefile
index 79f906c7124e..5d4b039fe1ed 100644
--- a/tools/perf/config/Makefile
+++ b/tools/perf/config/Makefile
@@ -150,7 +150,7 @@ CFLAGS += -std=gnu99
# adding assembler files missing the .GNU-stack linker note.
LDFLAGS += -Wl,-z,noexecstack
-EXTLIBS = -lelf -lpthread -lrt -lm -ldl
+EXTLIBS = -lpthread -lrt -lm -ldl
ifneq ($(OUTPUT),)
OUTPUT_FEATURES = $(OUTPUT)config/feature-checks/
@@ -354,6 +354,7 @@ endif # NO_LIBELF
ifndef NO_LIBELF
CFLAGS += -DHAVE_LIBELF_SUPPORT
+ EXTLIBS += -lelf
ifeq ($(feature-libelf-mmap), 1)
CFLAGS += -DHAVE_LIBELF_MMAP_SUPPORT
@@ -373,7 +374,7 @@ ifndef NO_LIBELF
else
CFLAGS += -DHAVE_DWARF_SUPPORT $(LIBDW_CFLAGS)
LDFLAGS += $(LIBDW_LDFLAGS)
- EXTLIBS += -lelf -ldw
+ EXTLIBS += -ldw
endif # PERF_HAVE_DWARF_REGS
endif # NO_DWARF
endif # NO_LIBELF
--
1.9.3
^ permalink raw reply related [flat|nested] 57+ messages in thread
* [PATCH 03/16] perf symbols: Fallback to kallsyms when using the minimal 'ELF' loader
2014-11-19 16:03 [GIT PULL 00/16] perf/core improvements and fixes Arnaldo Carvalho de Melo
2014-11-19 16:03 ` [PATCH 01/16] perf build-id: Move disable_buildid_cache() to util/build-id.c Arnaldo Carvalho de Melo
2014-11-19 16:03 ` [PATCH 02/16] perf tools: Clean up libelf feature support code Arnaldo Carvalho de Melo
@ 2014-11-19 16:03 ` Arnaldo Carvalho de Melo
2014-11-19 16:03 ` [PATCH 04/16] perf test: fix typo in python test Arnaldo Carvalho de Melo
` (13 subsequent siblings)
16 siblings, 0 replies; 57+ messages in thread
From: Arnaldo Carvalho de Melo @ 2014-11-19 16:03 UTC (permalink / raw)
To: Ingo Molnar
Cc: linux-kernel, Arnaldo Carvalho de Melo, Adrian Hunter,
Borislav Petkov, David Ahern, Don Zickus, Frederic Weisbecker,
Jiri Olsa, Mike Galbraith, Namhyung Kim, Peter Zijlstra,
Stephane Eranian
From: Arnaldo Carvalho de Melo <acme@redhat.com>
The minimal ELF loader should not return 1 when it manages to read the
vmlinux build-id, it should instead return 0, meaning that it hasn't
loaded any symbols, since it doesn't parses ELF at all.
That way, the main symbol.c routines will understand that it is
necessary to continue looking for a file with symbols, and when no
libelf is linked, that means it will eventually try kallsyms.
Reported-by: Peter Zijlstra <peterz@infradead.org>
Tested-by: Peter Zijlstra <peterz@infradead.org>
Cc: Adrian Hunter <adrian.hunter@intel.com>
Cc: Borislav Petkov <bp@suse.de>
Cc: David Ahern <dsahern@gmail.com>
Cc: Don Zickus <dzickus@redhat.com>
Cc: Frederic Weisbecker <fweisbec@gmail.com>
Cc: Jiri Olsa <jolsa@redhat.com>
Cc: Mike Galbraith <efault@gmx.de>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Stephane Eranian <eranian@google.com>
Link: http://lkml.kernel.org/r/20141111130326.GT18464@kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
---
tools/perf/util/symbol-minimal.c | 1 -
1 file changed, 1 deletion(-)
diff --git a/tools/perf/util/symbol-minimal.c b/tools/perf/util/symbol-minimal.c
index c9541fea9514..fa585c63f56a 100644
--- a/tools/perf/util/symbol-minimal.c
+++ b/tools/perf/util/symbol-minimal.c
@@ -341,7 +341,6 @@ int dso__load_sym(struct dso *dso, struct map *map __maybe_unused,
if (filename__read_build_id(ss->name, build_id, BUILD_ID_SIZE) > 0) {
dso__set_build_id(dso, build_id);
- return 1;
}
return 0;
}
--
1.9.3
^ permalink raw reply related [flat|nested] 57+ messages in thread
* [PATCH 04/16] perf test: fix typo in python test
2014-11-19 16:03 [GIT PULL 00/16] perf/core improvements and fixes Arnaldo Carvalho de Melo
` (2 preceding siblings ...)
2014-11-19 16:03 ` [PATCH 03/16] perf symbols: Fallback to kallsyms when using the minimal 'ELF' loader Arnaldo Carvalho de Melo
@ 2014-11-19 16:03 ` Arnaldo Carvalho de Melo
2014-11-19 16:03 ` [PATCH 05/16] perf tools: Fix annotation with kcore Arnaldo Carvalho de Melo
` (12 subsequent siblings)
16 siblings, 0 replies; 57+ messages in thread
From: Arnaldo Carvalho de Melo @ 2014-11-19 16:03 UTC (permalink / raw)
To: Ingo Molnar
Cc: linux-kernel, WANG Chao, Adrian Hunter, Ingo Molnar, Jean Pihet,
Jiri Olsa, Masami Hiramatsu, Namhyung Kim, Paul Mackerras,
Peter Zijlstra, Arnaldo Carvalho de Melo
From: WANG Chao <chaowang@redhat.com>
Library loading in python syntax should be 'import perf', not 'use perf'.
Signed-off-by: WANG Chao <chaowang@redhat.com>
Cc: Adrian Hunter <adrian.hunter@intel.com>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: Jean Pihet <jean.pihet@linaro.org>
Cc: Jiri Olsa <jolsa@kernel.org>
Cc: Masami Hiramatsu <masami.hiramatsu.pt@hitachi.com>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Link: http://lkml.kernel.org/r/1415780826-13250-1-git-send-email-chaowang@redhat.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
---
tools/perf/tests/builtin-test.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/tools/perf/tests/builtin-test.c b/tools/perf/tests/builtin-test.c
index 162c978f1491..4b7d9ab0f049 100644
--- a/tools/perf/tests/builtin-test.c
+++ b/tools/perf/tests/builtin-test.c
@@ -85,7 +85,7 @@ static struct test {
.func = test__hists_link,
},
{
- .desc = "Try 'use perf' in python, checking link problems",
+ .desc = "Try 'import perf' in python, checking link problems",
.func = test__python_use,
},
{
--
1.9.3
^ permalink raw reply related [flat|nested] 57+ messages in thread
* [PATCH 05/16] perf tools: Fix annotation with kcore
2014-11-19 16:03 [GIT PULL 00/16] perf/core improvements and fixes Arnaldo Carvalho de Melo
` (3 preceding siblings ...)
2014-11-19 16:03 ` [PATCH 04/16] perf test: fix typo in python test Arnaldo Carvalho de Melo
@ 2014-11-19 16:03 ` Arnaldo Carvalho de Melo
2014-11-19 16:03 ` [PATCH 06/16] perf callchain: Factor out adding new call chain entries Arnaldo Carvalho de Melo
` (11 subsequent siblings)
16 siblings, 0 replies; 57+ messages in thread
From: Arnaldo Carvalho de Melo @ 2014-11-19 16:03 UTC (permalink / raw)
To: Ingo Molnar
Cc: linux-kernel, Adrian Hunter, David Ahern, Frederic Weisbecker,
Jiri Olsa, Namhyung Kim, Paul Mackerras, Peter Zijlstra,
Stephane Eranian, Arnaldo Carvalho de Melo
From: Adrian Hunter <adrian.hunter@intel.com>
Patch "perf tools: Fix build-id matching on vmlinux" breaks annotation
with kcore. The problem is that symbol__annotate() first gets the
filename based on the build-id which was previously not set.
This patch provides a quick fix, however there should probably be only
one way to determine the filename. e.g. symbol__annotate() should use
the same way as dso__data_fd().
Signed-off-by: Adrian Hunter <adrian.hunter@intel.com>
Cc: David Ahern <dsahern@gmail.com>
Cc: Frederic Weisbecker <fweisbec@gmail.com>
Cc: Jiri Olsa <jolsa@redhat.com>
Cc: Namhyung Kim <namhyung@gmail.com>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Stephane Eranian <eranian@google.com>
Link: http://lkml.kernel.org/r/1415700294-30816-1-git-send-email-adrian.hunter@intel.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
---
tools/perf/util/annotate.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/tools/perf/util/annotate.c b/tools/perf/util/annotate.c
index 7dabde14ea54..873c8778db20 100644
--- a/tools/perf/util/annotate.c
+++ b/tools/perf/util/annotate.c
@@ -915,6 +915,8 @@ int symbol__annotate(struct symbol *sym, struct map *map, size_t privsize)
return -ENOMEM;
}
goto fallback;
+ } else if (dso__is_kcore(dso)) {
+ goto fallback;
} else if (readlink(symfs_filename, command, sizeof(command)) < 0 ||
strstr(command, "[kernel.kallsyms]") ||
access(symfs_filename, R_OK)) {
--
1.9.3
^ permalink raw reply related [flat|nested] 57+ messages in thread
* [PATCH 06/16] perf callchain: Factor out adding new call chain entries
2014-11-19 16:03 [GIT PULL 00/16] perf/core improvements and fixes Arnaldo Carvalho de Melo
` (4 preceding siblings ...)
2014-11-19 16:03 ` [PATCH 05/16] perf tools: Fix annotation with kcore Arnaldo Carvalho de Melo
@ 2014-11-19 16:03 ` Arnaldo Carvalho de Melo
2014-11-19 16:03 ` [PATCH 07/16] perf callchain: Use al.addr to set up call chain Arnaldo Carvalho de Melo
` (10 subsequent siblings)
16 siblings, 0 replies; 57+ messages in thread
From: Arnaldo Carvalho de Melo @ 2014-11-19 16:03 UTC (permalink / raw)
To: Ingo Molnar
Cc: linux-kernel, Andi Kleen, Jiri Olsa, Namhyung Kim,
Arnaldo Carvalho de Melo
From: Andi Kleen <ak@linux.intel.com>
Move the code to resolve and add a new callchain entry into a new
add_callchain_ip function. This will be used in the next patches to add
LBRs too.
No change in behavior.
Signed-off-by: Andi Kleen <ak@linux.intel.com>
Cc: Jiri Olsa <jolsa@redhat.com>
Cc: Namhyung Kim <namhyung@kernel.org>
Link: http://lkml.kernel.org/r/1415844328-4884-2-git-send-email-andi@firstfloor.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
---
tools/perf/util/machine.c | 51 +++++++++++++++++++++++++++++------------------
1 file changed, 32 insertions(+), 19 deletions(-)
diff --git a/tools/perf/util/machine.c b/tools/perf/util/machine.c
index 52e94902afb1..84390eecab06 100644
--- a/tools/perf/util/machine.c
+++ b/tools/perf/util/machine.c
@@ -1381,6 +1381,34 @@ struct mem_info *sample__resolve_mem(struct perf_sample *sample,
return mi;
}
+static int add_callchain_ip(struct thread *thread,
+ struct symbol **parent,
+ struct addr_location *root_al,
+ int cpumode,
+ u64 ip)
+{
+ struct addr_location al;
+
+ al.filtered = 0;
+ al.sym = NULL;
+ thread__find_addr_location(thread, cpumode, MAP__FUNCTION,
+ ip, &al);
+ if (al.sym != NULL) {
+ if (sort__has_parent && !*parent &&
+ symbol__match_regex(al.sym, &parent_regex))
+ *parent = al.sym;
+ else if (have_ignore_callees && root_al &&
+ symbol__match_regex(al.sym, &ignore_callees_regex)) {
+ /* Treat this symbol as the root,
+ forgetting its callees. */
+ *root_al = al;
+ callchain_cursor_reset(&callchain_cursor);
+ }
+ }
+
+ return callchain_cursor_append(&callchain_cursor, ip, al.map, al.sym);
+}
+
struct branch_info *sample__resolve_bstack(struct perf_sample *sample,
struct addr_location *al)
{
@@ -1427,7 +1455,6 @@ static int thread__resolve_callchain_sample(struct thread *thread,
for (i = 0; i < chain_nr; i++) {
u64 ip;
- struct addr_location al;
if (callchain_param.order == ORDER_CALLEE)
j = i;
@@ -1464,24 +1491,10 @@ static int thread__resolve_callchain_sample(struct thread *thread,
continue;
}
- al.filtered = 0;
- thread__find_addr_location(thread, cpumode,
- MAP__FUNCTION, ip, &al);
- if (al.sym != NULL) {
- if (sort__has_parent && !*parent &&
- symbol__match_regex(al.sym, &parent_regex))
- *parent = al.sym;
- else if (have_ignore_callees && root_al &&
- symbol__match_regex(al.sym, &ignore_callees_regex)) {
- /* Treat this symbol as the root,
- forgetting its callees. */
- *root_al = al;
- callchain_cursor_reset(&callchain_cursor);
- }
- }
-
- err = callchain_cursor_append(&callchain_cursor,
- ip, al.map, al.sym);
+ err = add_callchain_ip(thread, parent, root_al,
+ cpumode, ip);
+ if (err == -EINVAL)
+ break;
if (err)
return err;
}
--
1.9.3
^ permalink raw reply related [flat|nested] 57+ messages in thread
* [PATCH 07/16] perf callchain: Use al.addr to set up call chain
2014-11-19 16:03 [GIT PULL 00/16] perf/core improvements and fixes Arnaldo Carvalho de Melo
` (5 preceding siblings ...)
2014-11-19 16:03 ` [PATCH 06/16] perf callchain: Factor out adding new call chain entries Arnaldo Carvalho de Melo
@ 2014-11-19 16:03 ` Arnaldo Carvalho de Melo
2014-11-19 16:03 ` [PATCH 08/16] perf callchain: Use a common function to resolve symbol or name Arnaldo Carvalho de Melo
` (9 subsequent siblings)
16 siblings, 0 replies; 57+ messages in thread
From: Arnaldo Carvalho de Melo @ 2014-11-19 16:03 UTC (permalink / raw)
To: Ingo Molnar
Cc: linux-kernel, Andi Kleen, Jiri Olsa, Namhyung Kim,
Arnaldo Carvalho de Melo
From: Andi Kleen <ak@linux.intel.com>
Use the relative address, this makes get_srcline work correctly in the
end.
Signed-off-by: Andi Kleen <ak@linux.intel.com>
Cc: Jiri Olsa <jolsa@redhat.com>
Cc: Namhyung Kim <namhyung@kernel.org>
Link: http://lkml.kernel.org/r/1415844328-4884-4-git-send-email-andi@firstfloor.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
---
tools/perf/util/machine.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/tools/perf/util/machine.c b/tools/perf/util/machine.c
index 84390eecab06..d97309c87bd6 100644
--- a/tools/perf/util/machine.c
+++ b/tools/perf/util/machine.c
@@ -1406,7 +1406,7 @@ static int add_callchain_ip(struct thread *thread,
}
}
- return callchain_cursor_append(&callchain_cursor, ip, al.map, al.sym);
+ return callchain_cursor_append(&callchain_cursor, al.addr, al.map, al.sym);
}
struct branch_info *sample__resolve_bstack(struct perf_sample *sample,
--
1.9.3
^ permalink raw reply related [flat|nested] 57+ messages in thread
* [PATCH 08/16] perf callchain: Use a common function to resolve symbol or name
2014-11-19 16:03 [GIT PULL 00/16] perf/core improvements and fixes Arnaldo Carvalho de Melo
` (6 preceding siblings ...)
2014-11-19 16:03 ` [PATCH 07/16] perf callchain: Use al.addr to set up call chain Arnaldo Carvalho de Melo
@ 2014-11-19 16:03 ` Arnaldo Carvalho de Melo
2014-11-19 16:03 ` [PATCH 09/16] perf tools: Only print base source file for srcline Arnaldo Carvalho de Melo
` (8 subsequent siblings)
16 siblings, 0 replies; 57+ messages in thread
From: Arnaldo Carvalho de Melo @ 2014-11-19 16:03 UTC (permalink / raw)
To: Ingo Molnar
Cc: linux-kernel, Andi Kleen, Jiri Olsa, Namhyung Kim,
Arnaldo Carvalho de Melo
From: Andi Kleen <ak@linux.intel.com>
Refactor the duplicated code to resolve the symbol name or
the address of a symbol into a single function.
Used in next patch to add common functionality.
Signed-off-by: Andi Kleen <ak@linux.intel.com>
Cc: Jiri Olsa <jolsa@redhat.com>
Cc: Namhyung Kim <namhyung@kernel.org>
Link: http://lkml.kernel.org/r/1415844328-4884-6-git-send-email-andi@firstfloor.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
---
tools/perf/ui/browsers/hists.c | 17 -----------------
tools/perf/ui/gtk/hists.c | 11 +----------
tools/perf/ui/stdio/hist.c | 23 +++++++++--------------
tools/perf/util/callchain.c | 19 +++++++++++++++++++
tools/perf/util/callchain.h | 3 +++
5 files changed, 32 insertions(+), 41 deletions(-)
diff --git a/tools/perf/ui/browsers/hists.c b/tools/perf/ui/browsers/hists.c
index cfb976b3de3a..12c17c5a3d68 100644
--- a/tools/perf/ui/browsers/hists.c
+++ b/tools/perf/ui/browsers/hists.c
@@ -463,23 +463,6 @@ out:
return key;
}
-static char *callchain_list__sym_name(struct callchain_list *cl,
- char *bf, size_t bfsize, bool show_dso)
-{
- int printed;
-
- if (cl->ms.sym)
- printed = scnprintf(bf, bfsize, "%s", cl->ms.sym->name);
- else
- printed = scnprintf(bf, bfsize, "%#" PRIx64, cl->ip);
-
- if (show_dso)
- scnprintf(bf + printed, bfsize - printed, " %s",
- cl->ms.map ? cl->ms.map->dso->short_name : "unknown");
-
- return bf;
-}
-
struct callchain_print_arg {
/* for hists browser */
off_t row_offset;
diff --git a/tools/perf/ui/gtk/hists.c b/tools/perf/ui/gtk/hists.c
index fc654fb77ace..4b3585eed1e8 100644
--- a/tools/perf/ui/gtk/hists.c
+++ b/tools/perf/ui/gtk/hists.c
@@ -89,15 +89,6 @@ void perf_gtk__init_hpp(void)
perf_gtk__hpp_color_overhead_acc;
}
-static void callchain_list__sym_name(struct callchain_list *cl,
- char *bf, size_t bfsize)
-{
- if (cl->ms.sym)
- scnprintf(bf, bfsize, "%s", cl->ms.sym->name);
- else
- scnprintf(bf, bfsize, "%#" PRIx64, cl->ip);
-}
-
static void perf_gtk__add_callchain(struct rb_root *root, GtkTreeStore *store,
GtkTreeIter *parent, int col, u64 total)
{
@@ -128,7 +119,7 @@ static void perf_gtk__add_callchain(struct rb_root *root, GtkTreeStore *store,
scnprintf(buf, sizeof(buf), "%5.2f%%", percent);
gtk_tree_store_set(store, &iter, 0, buf, -1);
- callchain_list__sym_name(chain, buf, sizeof(buf));
+ callchain_list__sym_name(chain, buf, sizeof(buf), false);
gtk_tree_store_set(store, &iter, col, buf, -1);
if (need_new_parent) {
diff --git a/tools/perf/ui/stdio/hist.c b/tools/perf/ui/stdio/hist.c
index 15b451acbde6..dfcbc90146ef 100644
--- a/tools/perf/ui/stdio/hist.c
+++ b/tools/perf/ui/stdio/hist.c
@@ -41,6 +41,7 @@ static size_t ipchain__fprintf_graph(FILE *fp, struct callchain_list *chain,
{
int i;
size_t ret = 0;
+ char bf[1024];
ret += callchain__fprintf_left_margin(fp, left_margin);
for (i = 0; i < depth; i++) {
@@ -56,11 +57,8 @@ static size_t ipchain__fprintf_graph(FILE *fp, struct callchain_list *chain,
} else
ret += fprintf(fp, "%s", " ");
}
- if (chain->ms.sym)
- ret += fprintf(fp, "%s\n", chain->ms.sym->name);
- else
- ret += fprintf(fp, "0x%0" PRIx64 "\n", chain->ip);
-
+ fputs(callchain_list__sym_name(chain, bf, sizeof(bf), false), fp);
+ fputc('\n', fp);
return ret;
}
@@ -168,6 +166,7 @@ static size_t callchain__fprintf_graph(FILE *fp, struct rb_root *root,
struct rb_node *node;
int i = 0;
int ret = 0;
+ char bf[1024];
/*
* If have one single callchain root, don't bother printing
@@ -196,10 +195,8 @@ static size_t callchain__fprintf_graph(FILE *fp, struct rb_root *root,
} else
ret += callchain__fprintf_left_margin(fp, left_margin);
- if (chain->ms.sym)
- ret += fprintf(fp, " %s\n", chain->ms.sym->name);
- else
- ret += fprintf(fp, " %p\n", (void *)(long)chain->ip);
+ ret += fprintf(fp, "%s\n", callchain_list__sym_name(chain, bf, sizeof(bf),
+ false));
if (++entries_printed == callchain_param.print_limit)
break;
@@ -219,6 +216,7 @@ static size_t __callchain__fprintf_flat(FILE *fp, struct callchain_node *node,
{
struct callchain_list *chain;
size_t ret = 0;
+ char bf[1024];
if (!node)
return 0;
@@ -229,11 +227,8 @@ static size_t __callchain__fprintf_flat(FILE *fp, struct callchain_node *node,
list_for_each_entry(chain, &node->val, list) {
if (chain->ip >= PERF_CONTEXT_MAX)
continue;
- if (chain->ms.sym)
- ret += fprintf(fp, " %s\n", chain->ms.sym->name);
- else
- ret += fprintf(fp, " %p\n",
- (void *)(long)chain->ip);
+ ret += fprintf(fp, " %s\n", callchain_list__sym_name(chain,
+ bf, sizeof(bf), false));
}
return ret;
diff --git a/tools/perf/util/callchain.c b/tools/perf/util/callchain.c
index 00229809a904..38da69c8c1ff 100644
--- a/tools/perf/util/callchain.c
+++ b/tools/perf/util/callchain.c
@@ -808,3 +808,22 @@ int fill_callchain_info(struct addr_location *al, struct callchain_cursor_node *
out:
return 1;
}
+
+char *callchain_list__sym_name(struct callchain_list *cl,
+ char *bf, size_t bfsize, bool show_dso)
+{
+ int printed;
+
+ if (cl->ms.sym) {
+ printed = scnprintf(bf, bfsize, "%s", cl->ms.sym->name);
+ } else
+ printed = scnprintf(bf, bfsize, "%#" PRIx64, cl->ip);
+
+ if (show_dso)
+ scnprintf(bf + printed, bfsize - printed, " %s",
+ cl->ms.map ?
+ cl->ms.map->dso->short_name :
+ "unknown");
+
+ return bf;
+}
diff --git a/tools/perf/util/callchain.h b/tools/perf/util/callchain.h
index 3caccc2c173c..3e1ed15d11f1 100644
--- a/tools/perf/util/callchain.h
+++ b/tools/perf/util/callchain.h
@@ -193,4 +193,7 @@ static inline int arch_skip_callchain_idx(struct thread *thread __maybe_unused,
}
#endif
+char *callchain_list__sym_name(struct callchain_list *cl,
+ char *bf, size_t bfsize, bool show_dso);
+
#endif /* __PERF_CALLCHAIN_H */
--
1.9.3
^ permalink raw reply related [flat|nested] 57+ messages in thread
* [PATCH 09/16] perf tools: Only print base source file for srcline
2014-11-19 16:03 [GIT PULL 00/16] perf/core improvements and fixes Arnaldo Carvalho de Melo
` (7 preceding siblings ...)
2014-11-19 16:03 ` [PATCH 08/16] perf callchain: Use a common function to resolve symbol or name Arnaldo Carvalho de Melo
@ 2014-11-19 16:03 ` Arnaldo Carvalho de Melo
2014-11-19 16:03 ` [PATCH 10/16] perf annotate: Support source line numbers in annotate Arnaldo Carvalho de Melo
` (7 subsequent siblings)
16 siblings, 0 replies; 57+ messages in thread
From: Arnaldo Carvalho de Melo @ 2014-11-19 16:03 UTC (permalink / raw)
To: Ingo Molnar
Cc: linux-kernel, Andi Kleen, Jiri Olsa, Namhyung Kim,
Arnaldo Carvalho de Melo
From: Andi Kleen <ak@linux.intel.com>
For perf report with --sort srcline only print the base source file
name. This makes the results generally fit much better to the screen.
The path is usually not that useful anyways because it is often from
different systems.
Signed-off-by: Andi Kleen <ak@linux.intel.com>
Cc: Jiri Olsa <jolsa@redhat.com>
Cc: Namhyung Kim <namhyung@kernel.org>
Link: http://lkml.kernel.org/r/1415844328-4884-8-git-send-email-andi@firstfloor.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
---
tools/perf/util/srcline.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/tools/perf/util/srcline.c b/tools/perf/util/srcline.c
index f3e4bc5fe5d2..77c180637138 100644
--- a/tools/perf/util/srcline.c
+++ b/tools/perf/util/srcline.c
@@ -274,7 +274,7 @@ char *get_srcline(struct dso *dso, unsigned long addr)
if (!addr2line(dso_name, addr, &file, &line, dso))
goto out;
- if (asprintf(&srcline, "%s:%u", file, line) < 0) {
+ if (asprintf(&srcline, "%s:%u", basename(file), line) < 0) {
free(file);
goto out;
}
--
1.9.3
^ permalink raw reply related [flat|nested] 57+ messages in thread
* [PATCH 10/16] perf annotate: Support source line numbers in annotate
2014-11-19 16:03 [GIT PULL 00/16] perf/core improvements and fixes Arnaldo Carvalho de Melo
` (8 preceding siblings ...)
2014-11-19 16:03 ` [PATCH 09/16] perf tools: Only print base source file for srcline Arnaldo Carvalho de Melo
@ 2014-11-19 16:03 ` Arnaldo Carvalho de Melo
2014-11-19 16:03 ` [PATCH 11/16] perf hists: Fix up srcline histogram key formatting Arnaldo Carvalho de Melo
` (6 subsequent siblings)
16 siblings, 0 replies; 57+ messages in thread
From: Arnaldo Carvalho de Melo @ 2014-11-19 16:03 UTC (permalink / raw)
To: Ingo Molnar
Cc: linux-kernel, Andi Kleen, Jiri Olsa, Namhyung Kim,
Arnaldo Carvalho de Melo
From: Andi Kleen <ak@linux.intel.com>
With srcline key/sort'ing it's useful to have line numbers in the
annotate window. This patch implements this.
Use objdump -l to request the line numbers and save them in the line
structure. Then the browser displays them for source lines.
The line numbers are not displayed by default, but can be toggled on
with 'k'
There is one unfortunate problem with this setup. For lines not
containing source and which are outside functions objdump -l reports
line numbers off by a few: it always reports the first line number in
the next function even for lines that are outside the function.
I haven't found a nice way to detect/correct this. Probably objdump has
to be fixed.
See https://sourceware.org/bugzilla/show_bug.cgi?id=16433
The line numbers are still useful even with these problems, as most are
correct and the ones which are not are nearby.
v2: Fix help text. Handle (discriminator...) output in objdump.
Left align the line numbers.
Signed-off-by: Andi Kleen <ak@linux.intel.com>
Cc: Jiri Olsa <jolsa@redhat.com>
Cc: Namhyung Kim <namhyung@kernel.org>
Link: http://lkml.kernel.org/r/1415844328-4884-9-git-send-email-andi@firstfloor.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
---
tools/perf/ui/browsers/annotate.c | 13 ++++++++++++-
tools/perf/util/annotate.c | 30 +++++++++++++++++++++++++-----
tools/perf/util/annotate.h | 1 +
3 files changed, 38 insertions(+), 6 deletions(-)
diff --git a/tools/perf/ui/browsers/annotate.c b/tools/perf/ui/browsers/annotate.c
index f0697a3aede0..1e0a2fd80115 100644
--- a/tools/perf/ui/browsers/annotate.c
+++ b/tools/perf/ui/browsers/annotate.c
@@ -27,6 +27,7 @@ static struct annotate_browser_opt {
bool hide_src_code,
use_offset,
jump_arrows,
+ show_linenr,
show_nr_jumps;
} annotate_browser__opts = {
.use_offset = true,
@@ -128,7 +129,11 @@ static void annotate_browser__write(struct ui_browser *browser, void *entry, int
if (!*dl->line)
slsmg_write_nstring(" ", width - pcnt_width);
else if (dl->offset == -1) {
- printed = scnprintf(bf, sizeof(bf), "%*s ",
+ if (dl->line_nr && annotate_browser__opts.show_linenr)
+ printed = scnprintf(bf, sizeof(bf), "%-*d ",
+ ab->addr_width + 1, dl->line_nr);
+ else
+ printed = scnprintf(bf, sizeof(bf), "%*s ",
ab->addr_width, " ");
slsmg_write_nstring(bf, printed);
slsmg_write_nstring(dl->line, width - printed - pcnt_width + 1);
@@ -733,6 +738,7 @@ static int annotate_browser__run(struct annotate_browser *browser,
"o Toggle disassembler output/simplified view\n"
"s Toggle source code view\n"
"/ Search string\n"
+ "k Toggle line numbers\n"
"r Run available scripts\n"
"? Search string backwards\n");
continue;
@@ -741,6 +747,10 @@ static int annotate_browser__run(struct annotate_browser *browser,
script_browse(NULL);
continue;
}
+ case 'k':
+ annotate_browser__opts.show_linenr =
+ !annotate_browser__opts.show_linenr;
+ break;
case 'H':
nd = browser->curr_hot;
break;
@@ -984,6 +994,7 @@ static struct annotate_config {
} annotate__configs[] = {
ANNOTATE_CFG(hide_src_code),
ANNOTATE_CFG(jump_arrows),
+ ANNOTATE_CFG(show_linenr),
ANNOTATE_CFG(show_nr_jumps),
ANNOTATE_CFG(use_offset),
};
diff --git a/tools/perf/util/annotate.c b/tools/perf/util/annotate.c
index 873c8778db20..e5670f1af737 100644
--- a/tools/perf/util/annotate.c
+++ b/tools/perf/util/annotate.c
@@ -17,11 +17,13 @@
#include "debug.h"
#include "annotate.h"
#include "evsel.h"
+#include <regex.h>
#include <pthread.h>
#include <linux/bitops.h>
const char *disassembler_style;
const char *objdump_path;
+static regex_t file_lineno;
static struct ins *ins__find(const char *name);
static int disasm_line__parse(char *line, char **namep, char **rawp);
@@ -570,13 +572,15 @@ out_free_name:
return -1;
}
-static struct disasm_line *disasm_line__new(s64 offset, char *line, size_t privsize)
+static struct disasm_line *disasm_line__new(s64 offset, char *line,
+ size_t privsize, int line_nr)
{
struct disasm_line *dl = zalloc(sizeof(*dl) + privsize);
if (dl != NULL) {
dl->offset = offset;
dl->line = strdup(line);
+ dl->line_nr = line_nr;
if (dl->line == NULL)
goto out_delete;
@@ -788,13 +792,15 @@ static int disasm_line__print(struct disasm_line *dl, struct symbol *sym, u64 st
* The ops.raw part will be parsed further according to type of the instruction.
*/
static int symbol__parse_objdump_line(struct symbol *sym, struct map *map,
- FILE *file, size_t privsize)
+ FILE *file, size_t privsize,
+ int *line_nr)
{
struct annotation *notes = symbol__annotation(sym);
struct disasm_line *dl;
char *line = NULL, *parsed_line, *tmp, *tmp2, *c;
size_t line_len;
s64 line_ip, offset = -1;
+ regmatch_t match[2];
if (getline(&line, &line_len, file) < 0)
return -1;
@@ -812,6 +818,12 @@ static int symbol__parse_objdump_line(struct symbol *sym, struct map *map,
line_ip = -1;
parsed_line = line;
+ /* /filename:linenr ? Save line number and ignore. */
+ if (regexec(&file_lineno, line, 2, match, 0) == 0) {
+ *line_nr = atoi(line + match[1].rm_so);
+ return 0;
+ }
+
/*
* Strip leading spaces:
*/
@@ -842,8 +854,9 @@ static int symbol__parse_objdump_line(struct symbol *sym, struct map *map,
parsed_line = tmp2 + 1;
}
- dl = disasm_line__new(offset, parsed_line, privsize);
+ dl = disasm_line__new(offset, parsed_line, privsize, *line_nr);
free(line);
+ (*line_nr)++;
if (dl == NULL)
return -1;
@@ -869,6 +882,11 @@ static int symbol__parse_objdump_line(struct symbol *sym, struct map *map,
return 0;
}
+static __attribute__((constructor)) void symbol__init_regexpr(void)
+{
+ regcomp(&file_lineno, "^/[^:]+:([0-9]+)", REG_EXTENDED);
+}
+
static void delete_last_nop(struct symbol *sym)
{
struct annotation *notes = symbol__annotation(sym);
@@ -904,6 +922,7 @@ int symbol__annotate(struct symbol *sym, struct map *map, size_t privsize)
char symfs_filename[PATH_MAX];
struct kcore_extract kce;
bool delete_extract = false;
+ int lineno = 0;
if (filename)
symbol__join_symfs(symfs_filename, filename);
@@ -984,7 +1003,7 @@ fallback:
snprintf(command, sizeof(command),
"%s %s%s --start-address=0x%016" PRIx64
" --stop-address=0x%016" PRIx64
- " -d %s %s -C %s 2>/dev/null|grep -v %s|expand",
+ " -l -d %s %s -C %s 2>/dev/null|grep -v %s|expand",
objdump_path ? objdump_path : "objdump",
disassembler_style ? "-M " : "",
disassembler_style ? disassembler_style : "",
@@ -1001,7 +1020,8 @@ fallback:
goto out_free_filename;
while (!feof(file))
- if (symbol__parse_objdump_line(sym, map, file, privsize) < 0)
+ if (symbol__parse_objdump_line(sym, map, file, privsize,
+ &lineno) < 0)
break;
/*
diff --git a/tools/perf/util/annotate.h b/tools/perf/util/annotate.h
index 112d6e268150..0784a9420528 100644
--- a/tools/perf/util/annotate.h
+++ b/tools/perf/util/annotate.h
@@ -58,6 +58,7 @@ struct disasm_line {
char *line;
char *name;
struct ins *ins;
+ int line_nr;
struct ins_operands ops;
};
--
1.9.3
^ permalink raw reply related [flat|nested] 57+ messages in thread
* [PATCH 11/16] perf hists: Fix up srcline histogram key formatting
2014-11-19 16:03 [GIT PULL 00/16] perf/core improvements and fixes Arnaldo Carvalho de Melo
` (9 preceding siblings ...)
2014-11-19 16:03 ` [PATCH 10/16] perf annotate: Support source line numbers in annotate Arnaldo Carvalho de Melo
@ 2014-11-19 16:03 ` Arnaldo Carvalho de Melo
2014-11-19 16:16 ` Andi Kleen
2014-11-19 16:03 ` [PATCH 12/16] perf diff: Add missing handler for PERF_RECORD_MMAP2 events Arnaldo Carvalho de Melo
` (5 subsequent siblings)
16 siblings, 1 reply; 57+ messages in thread
From: Arnaldo Carvalho de Melo @ 2014-11-19 16:03 UTC (permalink / raw)
To: Ingo Molnar
Cc: linux-kernel, Arnaldo Carvalho de Melo, Adrian Hunter, Andi Kleen,
Borislav Petkov, David Ahern, Don Zickus, Frederic Weisbecker,
Jiri Olsa, Mike Galbraith, Namhyung Kim, Peter Zijlstra,
Stephane Eranian
From: Arnaldo Carvalho de Melo <acme@redhat.com>
Problem introduced in:
commit 5b5916696051 "perf report: Honor column width setting"
Where the left justification signal was after the width, which ended up,
when the width was, say, 11, always printing:
%11.11-s
Instead of src:line left justified and limited to 11 chars.
Resulting in a like:
70.93% %11.11-s [.] f2 tcall
When it should instead be:
70.93% tcall.c:5 [.] f2 tcall
Cc: Adrian Hunter <adrian.hunter@intel.com>
Cc: Andi Kleen <andi@firstfloor.org>
Cc: Borislav Petkov <bp@suse.de>
Cc: David Ahern <dsahern@gmail.com>
Cc: Don Zickus <dzickus@redhat.com>
Cc: Frederic Weisbecker <fweisbec@gmail.com>
Cc: Jiri Olsa <jolsa@redhat.com>
Cc: Mike Galbraith <efault@gmx.de>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Stephane Eranian <eranian@google.com>
Link: http://lkml.kernel.org/n/tip-2xnt0vqkoox52etq2qhyetr0@git.kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
---
tools/perf/util/sort.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/tools/perf/util/sort.c b/tools/perf/util/sort.c
index 9402885a77f3..82a5596241a7 100644
--- a/tools/perf/util/sort.c
+++ b/tools/perf/util/sort.c
@@ -309,7 +309,7 @@ sort__srcline_cmp(struct hist_entry *left, struct hist_entry *right)
static int hist_entry__srcline_snprintf(struct hist_entry *he, char *bf,
size_t size, unsigned int width)
{
- return repsep_snprintf(bf, size, "%*.*-s", width, width, he->srcline);
+ return repsep_snprintf(bf, size, "%-*.*s", width, width, he->srcline);
}
struct sort_entry sort_srcline = {
--
1.9.3
^ permalink raw reply related [flat|nested] 57+ messages in thread
* [PATCH 12/16] perf diff: Add missing handler for PERF_RECORD_MMAP2 events
2014-11-19 16:03 [GIT PULL 00/16] perf/core improvements and fixes Arnaldo Carvalho de Melo
` (10 preceding siblings ...)
2014-11-19 16:03 ` [PATCH 11/16] perf hists: Fix up srcline histogram key formatting Arnaldo Carvalho de Melo
@ 2014-11-19 16:03 ` Arnaldo Carvalho de Melo
2014-11-19 16:03 ` [PATCH 13/16] perf evsel: Fix ftrace:function event recording Arnaldo Carvalho de Melo
` (4 subsequent siblings)
16 siblings, 0 replies; 57+ messages in thread
From: Arnaldo Carvalho de Melo @ 2014-11-19 16:03 UTC (permalink / raw)
To: Ingo Molnar
Cc: linux-kernel, Kan Liang, Andi Kleen, Jiri Olsa, Namhyung Kim,
Arnaldo Carvalho de Melo
From: Kan Liang <kan.liang@intel.com>
Without mmap2, perf diff fails to find the symbol name. The default
symbol sort key doesn't work well.
Signed-off-by: Kan Liang <kan.liang@intel.com>
Acked-by: Namhyung Kim <namhyung@kernel.org>
Cc: Andi Kleen <ak@linux.intel.com>
Cc: Jiri Olsa <jolsa@redhat.com>
Cc: Namhyung Kim <namhyung@kernel.org>
Link: http://lkml.kernel.org/r/1416328700-1836-2-git-send-email-kan.liang@intel.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
---
tools/perf/builtin-diff.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/tools/perf/builtin-diff.c b/tools/perf/builtin-diff.c
index 25114c9a6801..1ce425d101a9 100644
--- a/tools/perf/builtin-diff.c
+++ b/tools/perf/builtin-diff.c
@@ -357,6 +357,7 @@ static int diff__process_sample_event(struct perf_tool *tool __maybe_unused,
static struct perf_tool tool = {
.sample = diff__process_sample_event,
.mmap = perf_event__process_mmap,
+ .mmap2 = perf_event__process_mmap2,
.comm = perf_event__process_comm,
.exit = perf_event__process_exit,
.fork = perf_event__process_fork,
--
1.9.3
^ permalink raw reply related [flat|nested] 57+ messages in thread
* [PATCH 13/16] perf evsel: Fix ftrace:function event recording
2014-11-19 16:03 [GIT PULL 00/16] perf/core improvements and fixes Arnaldo Carvalho de Melo
` (11 preceding siblings ...)
2014-11-19 16:03 ` [PATCH 12/16] perf diff: Add missing handler for PERF_RECORD_MMAP2 events Arnaldo Carvalho de Melo
@ 2014-11-19 16:03 ` Arnaldo Carvalho de Melo
2014-11-19 16:03 ` [PATCH 14/16] perf evlist: Do not poll events that use the system_wide flag Arnaldo Carvalho de Melo
` (3 subsequent siblings)
16 siblings, 0 replies; 57+ messages in thread
From: Arnaldo Carvalho de Melo @ 2014-11-19 16:03 UTC (permalink / raw)
To: Ingo Molnar
Cc: linux-kernel, Jiri Olsa, Corey Ashford, David Ahern,
Frederic Weisbecker, Namhyung Kim, Paul Mackerras, Peter Zijlstra,
Steven Rostedt, Arnaldo Carvalho de Melo
From: Jiri Olsa <jolsa@kernel.org>
Following patch fails (-EINVAL) ftrace:function with enabled user
space callchains:
cfa77bc4af2c perf: Disallow user-space callchains for function trace events
We need to follow in perf tool itself and explicitly set the
perf_event_attr::exclude_callchain_user flag for ftrace:function
event.
Reported-by: Steven Rostedt <rostedt@goodmis.org>
Signed-off-by: Jiri Olsa <jolsa@kernel.org>
Cc: Corey Ashford <cjashfor@linux.vnet.ibm.com>
Cc: David Ahern <dsahern@gmail.com>
Cc: Frederic Weisbecker <fweisbec@gmail.com>
Cc: Ingo Molnar <mingo@kernel.org>
Cc: Namhyung Kim <namhyung@kernel.org>
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/1415899263-24820-1-git-send-email-jolsa@kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
---
tools/perf/util/evsel.c | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/tools/perf/util/evsel.c b/tools/perf/util/evsel.c
index 34344ffa79ca..f2dc91fb87fa 100644
--- a/tools/perf/util/evsel.c
+++ b/tools/perf/util/evsel.c
@@ -658,6 +658,14 @@ void perf_evsel__config(struct perf_evsel *evsel, struct record_opts *opts)
attr->mmap_data = track;
}
+ /*
+ * We don't allow user space callchains for function trace
+ * event, due to issues with page faults while tracing page
+ * fault handler and its overall trickiness nature.
+ */
+ if (perf_evsel__is_function_event(evsel))
+ evsel->attr.exclude_callchain_user = 1;
+
if (callchain_param.enabled && !evsel->no_aux_samples)
perf_evsel__config_callgraph(evsel);
--
1.9.3
^ permalink raw reply related [flat|nested] 57+ messages in thread
* [PATCH 14/16] perf evlist: Do not poll events that use the system_wide flag
2014-11-19 16:03 [GIT PULL 00/16] perf/core improvements and fixes Arnaldo Carvalho de Melo
` (12 preceding siblings ...)
2014-11-19 16:03 ` [PATCH 13/16] perf evsel: Fix ftrace:function event recording Arnaldo Carvalho de Melo
@ 2014-11-19 16:03 ` Arnaldo Carvalho de Melo
2014-11-19 16:03 ` [PATCH 15/16] perf tools: Add perf-read-vdso32 and perf-read-vdsox32 to .gitignore Arnaldo Carvalho de Melo
` (2 subsequent siblings)
16 siblings, 0 replies; 57+ messages in thread
From: Arnaldo Carvalho de Melo @ 2014-11-19 16:03 UTC (permalink / raw)
To: Ingo Molnar
Cc: linux-kernel, Adrian Hunter, David Ahern, Frederic Weisbecker,
Jiri Olsa, Namhyung Kim, Paul Mackerras, Peter Zijlstra,
Stephane Eranian, Arnaldo Carvalho de Melo
From: Adrian Hunter <adrian.hunter@intel.com>
The system_wide flag causes a selected event to be opened always without
a pid.
Consequently it will never get a POLLHUP, but it is used for tracking in
combination with other events, so it should not need to be polled
anyway.
Therefore don't add it for polling.
Signed-off-by: Adrian Hunter <adrian.hunter@intel.com>
Cc: David Ahern <dsahern@gmail.com>
Cc: Frederic Weisbecker <fweisbec@gmail.com>
Cc: Jiri Olsa <jolsa@redhat.com>
Cc: Namhyung Kim <namhyung@gmail.com>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Stephane Eranian <eranian@google.com>
Link: http://lkml.kernel.org/r/1415715423-15563-2-git-send-email-adrian.hunter@intel.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
---
tools/perf/util/evlist.c | 10 +++++++++-
1 file changed, 9 insertions(+), 1 deletion(-)
diff --git a/tools/perf/util/evlist.c b/tools/perf/util/evlist.c
index 7e23dae54f1d..cfbe2b99b9aa 100644
--- a/tools/perf/util/evlist.c
+++ b/tools/perf/util/evlist.c
@@ -816,7 +816,15 @@ static int perf_evlist__mmap_per_evsel(struct perf_evlist *evlist, int idx,
perf_evlist__mmap_get(evlist, idx);
}
- if (__perf_evlist__add_pollfd(evlist, fd, idx) < 0) {
+ /*
+ * The system_wide flag causes a selected event to be opened
+ * always without a pid. Consequently it will never get a
+ * POLLHUP, but it is used for tracking in combination with
+ * other events, so it should not need to be polled anyway.
+ * Therefore don't add it for polling.
+ */
+ if (!evsel->system_wide &&
+ __perf_evlist__add_pollfd(evlist, fd, idx) < 0) {
perf_evlist__mmap_put(evlist, idx);
return -1;
}
--
1.9.3
^ permalink raw reply related [flat|nested] 57+ messages in thread
* [PATCH 15/16] perf tools: Add perf-read-vdso32 and perf-read-vdsox32 to .gitignore
2014-11-19 16:03 [GIT PULL 00/16] perf/core improvements and fixes Arnaldo Carvalho de Melo
` (13 preceding siblings ...)
2014-11-19 16:03 ` [PATCH 14/16] perf evlist: Do not poll events that use the system_wide flag Arnaldo Carvalho de Melo
@ 2014-11-19 16:03 ` Arnaldo Carvalho de Melo
2014-11-19 16:03 ` [PATCH 16/16] perf tools: Only override the default :tid comm entry Arnaldo Carvalho de Melo
2014-11-20 7:33 ` [GIT PULL 00/16] perf/core improvements and fixes Ingo Molnar
16 siblings, 0 replies; 57+ messages in thread
From: Arnaldo Carvalho de Melo @ 2014-11-19 16:03 UTC (permalink / raw)
To: Ingo Molnar
Cc: linux-kernel, Adrian Hunter, David Ahern, Frederic Weisbecker,
Jiri Olsa, Namhyung Kim, Paul Mackerras, Peter Zijlstra,
Stephane Eranian, Arnaldo Carvalho de Melo
From: Adrian Hunter <adrian.hunter@intel.com>
Recently added executables Add perf-read-vdso32 and perf-read-vdsox32
need to be added to .gitignore.
Signed-off-by: Adrian Hunter <adrian.hunter@intel.com>
Cc: David Ahern <dsahern@gmail.com>
Cc: Frederic Weisbecker <fweisbec@gmail.com>
Cc: Jiri Olsa <jolsa@redhat.com>
Cc: Namhyung Kim <namhyung@gmail.com>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Stephane Eranian <eranian@google.com>
Link: http://lkml.kernel.org/r/1415715423-15563-3-git-send-email-adrian.hunter@intel.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
---
tools/perf/.gitignore | 2 ++
1 file changed, 2 insertions(+)
diff --git a/tools/perf/.gitignore b/tools/perf/.gitignore
index 717221e98450..40399c3d97d6 100644
--- a/tools/perf/.gitignore
+++ b/tools/perf/.gitignore
@@ -2,6 +2,8 @@ PERF-CFLAGS
PERF-GUI-VARS
PERF-VERSION-FILE
perf
+perf-read-vdso32
+perf-read-vdsox32
perf-help
perf-record
perf-report
--
1.9.3
^ permalink raw reply related [flat|nested] 57+ messages in thread
* [PATCH 16/16] perf tools: Only override the default :tid comm entry
2014-11-19 16:03 [GIT PULL 00/16] perf/core improvements and fixes Arnaldo Carvalho de Melo
` (14 preceding siblings ...)
2014-11-19 16:03 ` [PATCH 15/16] perf tools: Add perf-read-vdso32 and perf-read-vdsox32 to .gitignore Arnaldo Carvalho de Melo
@ 2014-11-19 16:03 ` Arnaldo Carvalho de Melo
2014-11-20 7:33 ` [GIT PULL 00/16] perf/core improvements and fixes Ingo Molnar
16 siblings, 0 replies; 57+ messages in thread
From: Arnaldo Carvalho de Melo @ 2014-11-19 16:03 UTC (permalink / raw)
To: Ingo Molnar
Cc: linux-kernel, Adrian Hunter, David Ahern, Frederic Weisbecker,
Jiri Olsa, Namhyung Kim, Paul Mackerras, Peter Zijlstra,
Stephane Eranian, Arnaldo Carvalho de Melo
From: Adrian Hunter <adrian.hunter@intel.com>
Events may still be ordered even if there are no timestamps e.g. if the
data is recorded per-thread.
Also synthesized COMM events have a timestamp of zero.
Consequently it is better to keep comm entries even if they have a
timestamp of zero.
However, when a struct thread is created the command string is not known
and a comm entry with a string of the form ":<tid>" is used.
In that case thread->comm_set is false and the comm entry should be
overridden.
Signed-off-by: Adrian Hunter <adrian.hunter@intel.com>
Cc: David Ahern <dsahern@gmail.com>
Cc: Frederic Weisbecker <fweisbec@gmail.com>
Cc: Jiri Olsa <jolsa@redhat.com>
Cc: Namhyung Kim <namhyung@gmail.com>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Stephane Eranian <eranian@google.com>
Link: http://lkml.kernel.org/r/1415715423-15563-4-git-send-email-adrian.hunter@intel.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
---
tools/perf/util/thread.c | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)
diff --git a/tools/perf/util/thread.c b/tools/perf/util/thread.c
index a2157f0ef1df..9ebc8b1f9be5 100644
--- a/tools/perf/util/thread.c
+++ b/tools/perf/util/thread.c
@@ -103,15 +103,14 @@ struct comm *thread__exec_comm(const struct thread *thread)
return last;
}
-/* CHECKME: time should always be 0 if event aren't ordered */
int __thread__set_comm(struct thread *thread, const char *str, u64 timestamp,
bool exec)
{
struct comm *new, *curr = thread__comm(thread);
int err;
- /* Override latest entry if it had no specific time coverage */
- if (!curr->start && !curr->exec) {
+ /* Override the default :tid entry */
+ if (!thread->comm_set) {
err = comm__override(curr, str, timestamp, exec);
if (err)
return err;
--
1.9.3
^ permalink raw reply related [flat|nested] 57+ messages in thread
* Re: [PATCH 11/16] perf hists: Fix up srcline histogram key formatting
2014-11-19 16:03 ` [PATCH 11/16] perf hists: Fix up srcline histogram key formatting Arnaldo Carvalho de Melo
@ 2014-11-19 16:16 ` Andi Kleen
0 siblings, 0 replies; 57+ messages in thread
From: Andi Kleen @ 2014-11-19 16:16 UTC (permalink / raw)
To: Arnaldo Carvalho de Melo
Cc: Ingo Molnar, linux-kernel, Arnaldo Carvalho de Melo,
Adrian Hunter, Andi Kleen, Borislav Petkov, David Ahern,
Don Zickus, Frederic Weisbecker, Jiri Olsa, Mike Galbraith,
Namhyung Kim, Peter Zijlstra, Stephane Eranian
On Wed, Nov 19, 2014 at 01:03:31PM -0300, Arnaldo Carvalho de Melo wrote:
> From: Arnaldo Carvalho de Melo <acme@redhat.com>
>
> Problem introduced in:
>
> commit 5b5916696051 "perf report: Honor column width setting"
Thanks!
I'll also check what happens with --gtk.
-Andi
^ permalink raw reply [flat|nested] 57+ messages in thread
* Re: [GIT PULL 00/16] perf/core improvements and fixes
2014-11-19 16:03 [GIT PULL 00/16] perf/core improvements and fixes Arnaldo Carvalho de Melo
` (15 preceding siblings ...)
2014-11-19 16:03 ` [PATCH 16/16] perf tools: Only override the default :tid comm entry Arnaldo Carvalho de Melo
@ 2014-11-20 7:33 ` Ingo Molnar
16 siblings, 0 replies; 57+ messages in thread
From: Ingo Molnar @ 2014-11-20 7:33 UTC (permalink / raw)
To: Arnaldo Carvalho de Melo
Cc: linux-kernel, Adrian Hunter, Andi Kleen, Aravinda Prasad,
Borislav Petkov, Brendan Gregg, Corey Ashford, David Ahern,
Don Zickus, Frederic Weisbecker, Hemant Kumar, Jean Pihet,
Jiri Olsa, Kan Liang, Masami Hiramatsu, Mike Galbraith,
Namhyung Kim, Oleg Nesterov, Paul Mackerras, Pekka Enberg,
Peter Zijlstra, Srikar Dronamraju, Stephane Eranian,
Steven Rostedt, systemtap, Vasant Hegde, WANG Chao,
Arnaldo Carvalho de Melo
* Arnaldo Carvalho de Melo <acme@kernel.org> wrote:
> Hi Ingo,
>
> Please consider pulling,
>
> - Arnaldo
>
> The following changes since commit 2565711fb7d7c28e0cd93c8971b520d1b10b857c:
>
> perf: Improve the perf_sample_data struct layout (2014-11-16 11:42:04 +0100)
>
> are available in the git repository at:
>
> git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux.git tags/perf-core-for-mingo
>
> for you to fetch changes up to a84808083688d82d7f1e5786ccf5df0ff7d448cb:
>
> perf tools: Only override the default :tid comm entry (2014-11-19 12:37:26 -0300)
>
> ----------------------------------------------------------------
> perf/core improvements and fixes:
>
> User visible fixes:
>
> - Fallback to kallsyms when using the minimal 'ELF' loader (Arnaldo Carvalho de Melo)
>
> - Fix annotation with kcore (Adrian Hunter)
>
> - Fix up srcline histogram key formatting (Arnaldo Carvalho de Melo)
>
> - Add missing handler for PERF_RECORD_MMAP2 events in 'perf diff' (Kan Liang)
>
> User visible changes/new features:
>
> - Only print base source file for srcline histogram sort key (Andi Kleen)
>
> - Support source line numbers in annotate using a hotkey (Andi Kleen)
>
> Infrastructure:
>
> - Do not poll events that use the system_wide flag (Adrian Hunter)
>
> - Add perf-read-vdso32 and perf-read-vdsox32 to .gitignore (Adrian Hunter)
>
> perf tools: Only override the default :tid comm entry (Adrian Hunter)
>
> - Factor out adding new call chain entries (Andi Kleen)
>
> - Use al.addr to set up call chain (Andi Kleen)
>
> - Use a common function to resolve symbol or name (Andi Kleen)
>
> - Fix ftrace:function event recording (Jiri Olsa)
>
> - Move disable_buildid_cache() to util/build-id.c (Namhyung Kim)
>
> - Clean up libelf feature support code (Namhyung Kim)
>
> - fix typo in python 'perf test' (WANG Chao)
>
> Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
>
> ----------------------------------------------------------------
> Adrian Hunter (4):
> perf tools: Fix annotation with kcore
> perf evlist: Do not poll events that use the system_wide flag
> perf tools: Add perf-read-vdso32 and perf-read-vdsox32 to .gitignore
> perf tools: Only override the default :tid comm entry
>
> Andi Kleen (5):
> perf callchain: Factor out adding new call chain entries
> perf callchain: Use al.addr to set up call chain
> perf callchain: Use a common function to resolve symbol or name
> perf tools: Only print base source file for srcline
> perf annotate: Support source line numbers in annotate
>
> Arnaldo Carvalho de Melo (2):
> perf symbols: Fallback to kallsyms when using the minimal 'ELF' loader
> perf hists: Fix up srcline histogram key formatting
>
> Jiri Olsa (1):
> perf evsel: Fix ftrace:function event recording
>
> Kan Liang (1):
> perf diff: Add missing handler for PERF_RECORD_MMAP2 events
>
> Namhyung Kim (2):
> perf build-id: Move disable_buildid_cache() to util/build-id.c
> perf tools: Clean up libelf feature support code
>
> WANG Chao (1):
> perf test: fix typo in python test
>
> tools/perf/.gitignore | 2 ++
> tools/perf/Makefile.perf | 2 --
> tools/perf/builtin-diff.c | 1 +
> tools/perf/config/Makefile | 5 ++--
> tools/perf/tests/builtin-test.c | 2 +-
> tools/perf/ui/browsers/annotate.c | 13 +++++++++-
> tools/perf/ui/browsers/hists.c | 17 -------------
> tools/perf/ui/gtk/hists.c | 11 +--------
> tools/perf/ui/stdio/hist.c | 23 +++++++-----------
> tools/perf/util/annotate.c | 32 ++++++++++++++++++++----
> tools/perf/util/annotate.h | 1 +
> tools/perf/util/build-id.c | 11 +++++++++
> tools/perf/util/build-id.h | 1 +
> tools/perf/util/callchain.c | 19 +++++++++++++++
> tools/perf/util/callchain.h | 3 +++
> tools/perf/util/evlist.c | 10 +++++++-
> tools/perf/util/evsel.c | 8 ++++++
> tools/perf/util/header.c | 10 +-------
> tools/perf/util/machine.c | 51 ++++++++++++++++++++++++---------------
> tools/perf/util/sort.c | 2 +-
> tools/perf/util/srcline.c | 2 +-
> tools/perf/util/symbol-minimal.c | 1 -
> tools/perf/util/thread.c | 5 ++--
> tools/perf/util/util.h | 1 -
> 24 files changed, 145 insertions(+), 88 deletions(-)
Pulled into tip:perf/core, thanks a lot Arnaldo!
Ingo
^ permalink raw reply [flat|nested] 57+ messages in thread
* [GIT PULL 00/16] perf/core improvements and fixes
@ 2015-04-07 16:40 Arnaldo Carvalho de Melo
0 siblings, 0 replies; 57+ messages in thread
From: Arnaldo Carvalho de Melo @ 2015-04-07 16:40 UTC (permalink / raw)
To: Ingo Molnar
Cc: linux-kernel, Arnaldo Carvalho de Melo, Adrian Hunter,
Andrew Morton, Borislav Petkov, David Ahern, Don Zickus,
Frederic Weisbecker, He Kuang, H. Peter Anvin, Jiri Olsa,
John Stultz, Joonsoo Kim, Linus Torvalds, linux-mm, Minchan Kim,
Namhyung Kim, Paul Mackerras, Peter Zijlstra, pi3orama,
Stephane Eranian, Steven Rostedt, Thomas Gleixner, Wang Nan,
Yunlong Song, Zefan Li, Arnaldo Carvalho de Melo
Hi Ingo,
Please consider pulling,
- Arnaldo
The following changes since commit 6645f3187f5beb64f7a40515cfa18f3889264ece:
Merge tag 'perf-core-for-mingo' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/core (2015-04-03 07:00:02 +0200)
are available in the git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux.git tags/perf-core-for-mingo
for you to fetch changes up to d083e5ff09eccc0afd44e02ec85f10c06271e93b:
perf tools: Merge all perf_event_attr print functions (2015-04-07 13:25:05 -0300)
----------------------------------------------------------------
perf/core improvements and fixes:
- Teach about perf_event_attr.clockid to 'perf record' (Peter Zijlstra)
- perf sched replay improvements for high CPU core count machines (Yunlong Song)
- Consider PERF_RECORD_ events with cpumode == 0 in 'perf top', removing one
cause of long term memory usage buildup, i.e. not processing PERF_RECORD_EXIT
events (Arnaldo Carvalho de Melo)
- Respect -i option 'in perf kmem' (Jiri Olsa)
Infrastructure:
- Honor operator priority in libtraceevent (Namhyung Kim)
- Merge all perf_event_attr print functions (Peter Zijlstra)
- Check kmaps access to make code more robust (Wang Nan)
- Fix inverted logic in perf_mmap__empty() (He Kuang)
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
----------------------------------------------------------------
Arnaldo Carvalho de Melo (1):
perf top: Consider PERF_RECORD_ events with cpumode == 0
He Kuang (1):
perf evlist: Fix inverted logic in perf_mmap__empty
Jiri Olsa (1):
perf kmem: Respect -i option
Namhyung Kim (1):
tools lib traceevent: Honor operator priority
Peter Zijlstra (2):
perf record: Add clockid parameter
perf tools: Merge all perf_event_attr print functions
Wang Nan (1):
perf kmaps: Check kmaps to make code more robust
Yunlong Song (9):
perf sched replay: Use struct task_desc instead of struct task_task for correct meaning
perf sched replay: Increase the MAX_PID value to fix assertion failure problem
perf sched replay: Alloc the memory of pid_to_task dynamically to adapt to the unexpected change of pid_max
perf sched replay: Realloc the memory of pid_to_task stepwise to adapt to the different pid_max configurations
perf sched replay: Fix the segmentation fault problem caused by pr_err in threads
perf sched replay: Handle the dead halt of sem_wait when create_tasks() fails for any task
perf sched replay: Fix the EMFILE error caused by the limitation of the maximum open files
perf sched replay: Support using -f to override perf.data file ownership
perf sched replay: Use replay_repeat to calculate the runavg of cpu usage instead of the default value 10
tools/lib/traceevent/event-parse.c | 17 +-
tools/perf/Documentation/perf-record.txt | 7 +
tools/perf/builtin-kmem.c | 3 +-
tools/perf/builtin-record.c | 80 ++++++++
tools/perf/builtin-sched.c | 67 +++++--
tools/perf/builtin-top.c | 8 +-
tools/perf/perf.h | 2 +
tools/perf/util/evlist.c | 2 +-
tools/perf/util/evsel.c | 325 ++++++++++++++++---------------
tools/perf/util/evsel.h | 6 +
tools/perf/util/header.c | 28 +--
tools/perf/util/machine.c | 5 +-
tools/perf/util/map.c | 20 ++
tools/perf/util/map.h | 6 +-
tools/perf/util/probe-event.c | 2 +
tools/perf/util/session.c | 3 +
tools/perf/util/symbol-elf.c | 16 +-
tools/perf/util/symbol.c | 34 +++-
18 files changed, 422 insertions(+), 209 deletions(-)
^ permalink raw reply [flat|nested] 57+ messages in thread
* [GIT PULL 00/16] perf/core improvements and fixes
@ 2015-08-25 16:14 Arnaldo Carvalho de Melo
2015-08-26 13:39 ` Arnaldo Carvalho de Melo
0 siblings, 1 reply; 57+ messages in thread
From: Arnaldo Carvalho de Melo @ 2015-08-25 16:14 UTC (permalink / raw)
To: Ingo Molnar
Cc: linux-kernel, Arnaldo Carvalho de Melo, Adrian Hunter,
Borislav Petkov, David Ahern, Frederic Weisbecker, Jiri Olsa,
Masami Hiramatsu, Namhyung Kim, pi3orama, Stephane Eranian,
Wang Nan, Arnaldo Carvalho de Melo
Hi Ingo,
Please consider pulling, now to get back looking at eBPF :-)
- Arnaldo
The following changes since commit 0e53909a1cf0153736fb52c216558a65530d8c40:
Merge tag 'perf-core-for-mingo' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/core (2015-08-22 08:45:46 +0200)
are available in the git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux.git tags/perf-core-for-mingo
for you to fetch changes up to 1cbebfc7abb549ed3f4080e12c4d7b07d1f16637:
perf probe: Support probing at absolute addresses (2015-08-25 12:36:22 -0300)
----------------------------------------------------------------
perf/core improvements and fixes:
User visible:
- Add support for using several Intel PT features (CYC, MTC packets), the
relevant documentation was updated: tools/perf/Documentation/intel-pt.txt,
briefly describing those packets, its purposes, how to configure them in
the event config terms and relevant external documentation for further
reading. (Adrian Hunter)
- Introduce support for probing at an absolut address, for user and kernel
'perf probe's, useful when one have the symbol maps on a developer machine
but not on an embedded system (Wang Nan)
- Clear the progress bar at the end of a ordered_events flush, fixing
an UI artifact when, after ordering the events the screen doesn't get
completely redraw, for instance, when an error window covers just the
center of the screen and waits for user input. (Arnaldo Carvalho de Melo)
- Fix 'annotate' segfault by resetting the dso find_symbol cache when removing
symbols (Arnaldo Carvalho de Melo)
Infrastructure:
- Fix Intel PT 'instructions' sample period (Adrian Hunter)
- Prevent segfault when reading probe point with absolute address (Wang Nan)
Build fixes:
- Fix tarball build broken by pt/bts (Adrian Hunter)
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
----------------------------------------------------------------
Adrian Hunter (11):
perf tools: Fix tarball build broken by pt/bts
perf tools: Fix Intel PT 'instructions' sample period
perf tools: Add Intel PT support for PSB periods
perf tools: Add new Intel PT packet definitions
perf tools: Pass Intel PT information for decoding MTC and CYC
perf tools: Add Intel PT support for decoding MTC packets
perf tools: Add Intel PT support for using MTC packets
perf tools: Add Intel PT support for decoding CYC packets
perf tools: Add Intel PT support for using CYC packets
perf tools: Add Intel PT support for decoding TRACESTOP packets
perf tools: Update Intel PT documentation
Arnaldo Carvalho de Melo (3):
perf annotate: Reset the dso find_symbol cache when removing symbols
perf ui tui progress: Implement the ui_progress_ops->finish() method
perf ordered_events: Clear the progress bar at the end of a flush
Wang Nan (2):
perf probe: Prevent segfault when reading probe point with absolute address
perf probe: Support probing at absolute addresses
tools/perf/Documentation/intel-pt.txt | 194 ++++++-
tools/perf/arch/x86/util/intel-pt.c | 271 +++++++++-
tools/perf/builtin-annotate.c | 1 +
tools/perf/ui/tui/progress.c | 19 +-
tools/perf/util/dso.h | 2 +
tools/perf/util/intel-pt-decoder/inat.c | 2 +-
tools/perf/util/intel-pt-decoder/inat.h | 2 +-
tools/perf/util/intel-pt-decoder/inat_types.h | 29 ++
tools/perf/util/intel-pt-decoder/insn.c | 4 +-
tools/perf/util/intel-pt-decoder/insn.h | 2 +-
.../perf/util/intel-pt-decoder/intel-pt-decoder.c | 555 ++++++++++++++++++++-
.../perf/util/intel-pt-decoder/intel-pt-decoder.h | 5 +
.../util/intel-pt-decoder/intel-pt-insn-decoder.c | 2 +-
.../util/intel-pt-decoder/intel-pt-pkt-decoder.c | 142 +++++-
.../util/intel-pt-decoder/intel-pt-pkt-decoder.h | 6 +
tools/perf/util/intel-pt.c | 67 ++-
tools/perf/util/intel-pt.h | 5 +
tools/perf/util/ordered-events.c | 3 +
tools/perf/util/probe-event.c | 152 +++++-
tools/perf/util/probe-event.h | 3 +
tools/perf/util/probe-finder.c | 21 +-
tools/perf/util/symbol.c | 10 +
22 files changed, 1404 insertions(+), 93 deletions(-)
create mode 100644 tools/perf/util/intel-pt-decoder/inat_types.h
^ permalink raw reply [flat|nested] 57+ messages in thread
* Re: [GIT PULL 00/16] perf/core improvements and fixes
2015-08-25 16:14 Arnaldo Carvalho de Melo
@ 2015-08-26 13:39 ` Arnaldo Carvalho de Melo
0 siblings, 0 replies; 57+ messages in thread
From: Arnaldo Carvalho de Melo @ 2015-08-26 13:39 UTC (permalink / raw)
To: Ingo Molnar
Cc: linux-kernel, Adrian Hunter, Borislav Petkov, David Ahern,
Frederic Weisbecker, Jiri Olsa, Masami Hiramatsu, Namhyung Kim,
pi3orama, Stephane Eranian, Wang Nan
Em Tue, Aug 25, 2015 at 01:14:22PM -0300, Arnaldo Carvalho de Melo escreveu:
> Hi Ingo,
>
> Please consider pulling, now to get back looking at eBPF :-)
Ingo, please do not process this one, there was a NAK from Masami to
some new syntax on adding non symbolic probes, will resubmit with the
new patches provided by Wang Nan that already got Masami's approval.
- Arnaldo
> - Arnaldo
>
> The following changes since commit 0e53909a1cf0153736fb52c216558a65530d8c40:
>
> Merge tag 'perf-core-for-mingo' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/core (2015-08-22 08:45:46 +0200)
>
> are available in the git repository at:
>
> git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux.git tags/perf-core-for-mingo
>
> for you to fetch changes up to 1cbebfc7abb549ed3f4080e12c4d7b07d1f16637:
>
> perf probe: Support probing at absolute addresses (2015-08-25 12:36:22 -0300)
>
> ----------------------------------------------------------------
> perf/core improvements and fixes:
>
> User visible:
>
> - Add support for using several Intel PT features (CYC, MTC packets), the
> relevant documentation was updated: tools/perf/Documentation/intel-pt.txt,
> briefly describing those packets, its purposes, how to configure them in
> the event config terms and relevant external documentation for further
> reading. (Adrian Hunter)
>
> - Introduce support for probing at an absolut address, for user and kernel
> 'perf probe's, useful when one have the symbol maps on a developer machine
> but not on an embedded system (Wang Nan)
>
> - Clear the progress bar at the end of a ordered_events flush, fixing
> an UI artifact when, after ordering the events the screen doesn't get
> completely redraw, for instance, when an error window covers just the
> center of the screen and waits for user input. (Arnaldo Carvalho de Melo)
>
> - Fix 'annotate' segfault by resetting the dso find_symbol cache when removing
> symbols (Arnaldo Carvalho de Melo)
>
> Infrastructure:
>
> - Fix Intel PT 'instructions' sample period (Adrian Hunter)
>
> - Prevent segfault when reading probe point with absolute address (Wang Nan)
>
> Build fixes:
>
> - Fix tarball build broken by pt/bts (Adrian Hunter)
>
> Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
>
> ----------------------------------------------------------------
> Adrian Hunter (11):
> perf tools: Fix tarball build broken by pt/bts
> perf tools: Fix Intel PT 'instructions' sample period
> perf tools: Add Intel PT support for PSB periods
> perf tools: Add new Intel PT packet definitions
> perf tools: Pass Intel PT information for decoding MTC and CYC
> perf tools: Add Intel PT support for decoding MTC packets
> perf tools: Add Intel PT support for using MTC packets
> perf tools: Add Intel PT support for decoding CYC packets
> perf tools: Add Intel PT support for using CYC packets
> perf tools: Add Intel PT support for decoding TRACESTOP packets
> perf tools: Update Intel PT documentation
>
> Arnaldo Carvalho de Melo (3):
> perf annotate: Reset the dso find_symbol cache when removing symbols
> perf ui tui progress: Implement the ui_progress_ops->finish() method
> perf ordered_events: Clear the progress bar at the end of a flush
>
> Wang Nan (2):
> perf probe: Prevent segfault when reading probe point with absolute address
> perf probe: Support probing at absolute addresses
>
> tools/perf/Documentation/intel-pt.txt | 194 ++++++-
> tools/perf/arch/x86/util/intel-pt.c | 271 +++++++++-
> tools/perf/builtin-annotate.c | 1 +
> tools/perf/ui/tui/progress.c | 19 +-
> tools/perf/util/dso.h | 2 +
> tools/perf/util/intel-pt-decoder/inat.c | 2 +-
> tools/perf/util/intel-pt-decoder/inat.h | 2 +-
> tools/perf/util/intel-pt-decoder/inat_types.h | 29 ++
> tools/perf/util/intel-pt-decoder/insn.c | 4 +-
> tools/perf/util/intel-pt-decoder/insn.h | 2 +-
> .../perf/util/intel-pt-decoder/intel-pt-decoder.c | 555 ++++++++++++++++++++-
> .../perf/util/intel-pt-decoder/intel-pt-decoder.h | 5 +
> .../util/intel-pt-decoder/intel-pt-insn-decoder.c | 2 +-
> .../util/intel-pt-decoder/intel-pt-pkt-decoder.c | 142 +++++-
> .../util/intel-pt-decoder/intel-pt-pkt-decoder.h | 6 +
> tools/perf/util/intel-pt.c | 67 ++-
> tools/perf/util/intel-pt.h | 5 +
> tools/perf/util/ordered-events.c | 3 +
> tools/perf/util/probe-event.c | 152 +++++-
> tools/perf/util/probe-event.h | 3 +
> tools/perf/util/probe-finder.c | 21 +-
> tools/perf/util/symbol.c | 10 +
> 22 files changed, 1404 insertions(+), 93 deletions(-)
> create mode 100644 tools/perf/util/intel-pt-decoder/inat_types.h
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at http://www.tux.org/lkml/
^ permalink raw reply [flat|nested] 57+ messages in thread
* [GIT PULL 00/16] perf/core improvements and fixes
@ 2015-09-30 21:54 Arnaldo Carvalho de Melo
2015-10-01 7:05 ` Ingo Molnar
0 siblings, 1 reply; 57+ messages in thread
From: Arnaldo Carvalho de Melo @ 2015-09-30 21:54 UTC (permalink / raw)
To: Ingo Molnar
Cc: linux-kernel, Arnaldo Carvalho de Melo, Adrian Hunter,
Borislav Petkov, Chandler Carruth, David Ahern, Dominik Dingel,
Frederic Weisbecker, He Kuang, H . Peter Anvin, Jiri Olsa,
linuxppc-dev, linux-tip-commits, Masami Hiramatsu, Matt Fleming,
Namhyung Kim, Naveen N . Rao, Peter Zijlstra, Raphael Beamonte,
Stephane Eranian, Sukadev Bhattiprolu, Thomas Gleixner,
Vinson Lee, Wang Nan, Arnaldo Carvalho de Melo
Hi Ingo,
Please consider pulling,
- Arnaldo
The following changes since commit 9c17dbc6eb73bdd8a6aaea1baefd37ff78d86148:
Merge tag 'perf-core-for-mingo' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/core (2015-09-29 09:43:46 +0200)
are available in the git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux.git tags/perf-core-for-mingo
for you to fetch changes up to 7f8d1ade1b19f684ed3a7c4fb1dc5d347127b438:
perf tools: By default use the most precise "cycles" hw counter available (2015-09-30 18:34:39 -0300)
----------------------------------------------------------------
perf/core improvements and fixes:
User visible:
- By default use the most precise "cycles" hw counter available, i.e.
when the user doesn't specify any event, it will try using cycles:ppp,
cycles:pp, etc (Arnaldo Carvalho de Melo)
- Remove blank lines, headers when piping output in 'perf list', so that it can
be sanely used with 'wc -l', etc (Arnaldo Carvalho de Melo)
- Amend documentation about max_stack and synthesized callchains (Adrian Hunter)
- Fix 'perf probe -l' for probes added to kernel module functions (Masami Hiramatsu)
Build fixes:
- Fix shadowed declarations that break the build on older distros (Jiri Olsa)
- Fix build break on powerpc due to sample_reg_masks (Sukadev Bhattiprolu)
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
----------------------------------------------------------------
Adrian Hunter (1):
perf report: Amend documentation about max_stack and synthesized callchains
Arnaldo Carvalho de Melo (7):
perf maps: Introduce maps__find_symbol_by_name()
perf machine: Use machine__kernel_map() thoroughly
perf machine: Add method for common kernel_map(FUNCTION) operation
tools lib symbol: Rename kallsyms2elf_type to kallsyms2elf_binding
tools lib symbol: Introduce kallsyms2elf_type
perf list: Remove blank lines, headers when piping output
perf tools: By default use the most precise "cycles" hw counter available
Jiri Olsa (2):
tools: Fix shadowed declaration in err.h
perf tools: Fix shadowed declaration in parse-events.c
Masami Hiramatsu (5):
perf probe: Fix to remove dot suffix from second or latter events
perf probe: Begin and end libdwfl report session correctly
perf probe: Show correct source lines of probes on kmodules
perf probe: Fix a segfault bug in debuginfo_cache
perf probe: Improve error message when %return is on inlined function
Sukadev Bhattiprolu (1):
perf tools: Fix build break on powerpc due to sample_reg_masks
tools/include/linux/err.h | 4 +-
tools/lib/symbol/kallsyms.c | 6 ++
tools/lib/symbol/kallsyms.h | 4 +-
tools/perf/Documentation/perf-report.txt | 2 +
tools/perf/builtin-kmem.c | 2 +-
tools/perf/builtin-list.c | 2 +-
tools/perf/builtin-report.c | 2 +-
tools/perf/tests/code-reading.c | 2 +-
tools/perf/tests/vmlinux-kallsyms.c | 4 +-
tools/perf/util/Build | 2 +-
tools/perf/util/event.c | 7 +--
tools/perf/util/evlist.c | 22 +++++++-
tools/perf/util/intel-pt.c | 2 +-
tools/perf/util/machine.c | 26 ++++-----
tools/perf/util/machine.h | 8 ++-
tools/perf/util/map.c | 21 ++++---
tools/perf/util/map.h | 2 +
tools/perf/util/parse-events.c | 53 +++++++++---------
tools/perf/util/perf_regs.c | 2 +
tools/perf/util/perf_regs.h | 1 +
tools/perf/util/pmu.c | 2 +-
tools/perf/util/probe-event.c | 96 ++++++++++++++++++++------------
tools/perf/util/probe-finder.c | 58 +++++++++++++++++--
tools/perf/util/symbol.c | 2 +-
24 files changed, 224 insertions(+), 108 deletions(-)
^ permalink raw reply [flat|nested] 57+ messages in thread
* Re: [GIT PULL 00/16] perf/core improvements and fixes
2015-09-30 21:54 Arnaldo Carvalho de Melo
@ 2015-10-01 7:05 ` Ingo Molnar
0 siblings, 0 replies; 57+ messages in thread
From: Ingo Molnar @ 2015-10-01 7:05 UTC (permalink / raw)
To: Arnaldo Carvalho de Melo
Cc: linux-kernel, Adrian Hunter, Borislav Petkov, Chandler Carruth,
David Ahern, Dominik Dingel, Frederic Weisbecker, He Kuang,
H . Peter Anvin, Jiri Olsa, linuxppc-dev, linux-tip-commits,
Masami Hiramatsu, Matt Fleming, Namhyung Kim, Naveen N . Rao,
Peter Zijlstra, Raphael Beamonte, Stephane Eranian,
Sukadev Bhattiprolu, Thomas Gleixner, Vinson Lee, Wang Nan,
Arnaldo Carvalho de Melo
* Arnaldo Carvalho de Melo <acme@kernel.org> wrote:
> Hi Ingo,
>
> Please consider pulling,
>
> - Arnaldo
>
> The following changes since commit 9c17dbc6eb73bdd8a6aaea1baefd37ff78d86148:
>
> Merge tag 'perf-core-for-mingo' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/core (2015-09-29 09:43:46 +0200)
>
> are available in the git repository at:
>
> git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux.git tags/perf-core-for-mingo
>
> for you to fetch changes up to 7f8d1ade1b19f684ed3a7c4fb1dc5d347127b438:
>
> perf tools: By default use the most precise "cycles" hw counter available (2015-09-30 18:34:39 -0300)
>
> ----------------------------------------------------------------
> perf/core improvements and fixes:
>
> User visible:
>
> - By default use the most precise "cycles" hw counter available, i.e.
> when the user doesn't specify any event, it will try using cycles:ppp,
> cycles:pp, etc (Arnaldo Carvalho de Melo)
That looks really useful!
> - Remove blank lines, headers when piping output in 'perf list', so that it can
> be sanely used with 'wc -l', etc (Arnaldo Carvalho de Melo)
>
> - Amend documentation about max_stack and synthesized callchains (Adrian Hunter)
>
> - Fix 'perf probe -l' for probes added to kernel module functions (Masami Hiramatsu)
>
> Build fixes:
>
> - Fix shadowed declarations that break the build on older distros (Jiri Olsa)
>
> - Fix build break on powerpc due to sample_reg_masks (Sukadev Bhattiprolu)
>
> Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
>
> ----------------------------------------------------------------
> Adrian Hunter (1):
> perf report: Amend documentation about max_stack and synthesized callchains
>
> Arnaldo Carvalho de Melo (7):
> perf maps: Introduce maps__find_symbol_by_name()
> perf machine: Use machine__kernel_map() thoroughly
> perf machine: Add method for common kernel_map(FUNCTION) operation
> tools lib symbol: Rename kallsyms2elf_type to kallsyms2elf_binding
> tools lib symbol: Introduce kallsyms2elf_type
> perf list: Remove blank lines, headers when piping output
> perf tools: By default use the most precise "cycles" hw counter available
>
> Jiri Olsa (2):
> tools: Fix shadowed declaration in err.h
> perf tools: Fix shadowed declaration in parse-events.c
>
> Masami Hiramatsu (5):
> perf probe: Fix to remove dot suffix from second or latter events
> perf probe: Begin and end libdwfl report session correctly
> perf probe: Show correct source lines of probes on kmodules
> perf probe: Fix a segfault bug in debuginfo_cache
> perf probe: Improve error message when %return is on inlined function
>
> Sukadev Bhattiprolu (1):
> perf tools: Fix build break on powerpc due to sample_reg_masks
>
> tools/include/linux/err.h | 4 +-
> tools/lib/symbol/kallsyms.c | 6 ++
> tools/lib/symbol/kallsyms.h | 4 +-
> tools/perf/Documentation/perf-report.txt | 2 +
> tools/perf/builtin-kmem.c | 2 +-
> tools/perf/builtin-list.c | 2 +-
> tools/perf/builtin-report.c | 2 +-
> tools/perf/tests/code-reading.c | 2 +-
> tools/perf/tests/vmlinux-kallsyms.c | 4 +-
> tools/perf/util/Build | 2 +-
> tools/perf/util/event.c | 7 +--
> tools/perf/util/evlist.c | 22 +++++++-
> tools/perf/util/intel-pt.c | 2 +-
> tools/perf/util/machine.c | 26 ++++-----
> tools/perf/util/machine.h | 8 ++-
> tools/perf/util/map.c | 21 ++++---
> tools/perf/util/map.h | 2 +
> tools/perf/util/parse-events.c | 53 +++++++++---------
> tools/perf/util/perf_regs.c | 2 +
> tools/perf/util/perf_regs.h | 1 +
> tools/perf/util/pmu.c | 2 +-
> tools/perf/util/probe-event.c | 96 ++++++++++++++++++++------------
> tools/perf/util/probe-finder.c | 58 +++++++++++++++++--
> tools/perf/util/symbol.c | 2 +-
> 24 files changed, 224 insertions(+), 108 deletions(-)
Pulled, thanks a lot Arnaldo!
Ingo
^ permalink raw reply [flat|nested] 57+ messages in thread
* [GIT PULL 00/16] perf/core improvements and fixes
@ 2015-10-05 21:03 Arnaldo Carvalho de Melo
2015-10-06 7:09 ` Ingo Molnar
0 siblings, 1 reply; 57+ messages in thread
From: Arnaldo Carvalho de Melo @ 2015-10-05 21:03 UTC (permalink / raw)
To: Ingo Molnar
Cc: linux-kernel, Arnaldo Carvalho de Melo, Adrian Hunter, Andi Kleen,
Borislav Petkov, Chandler Carruth, Daniel Bristot de Oliveira,
David Ahern, Don Zickus, Fenghua Yu, Frederic Weisbecker,
Jiri Olsa, Kanaka Juvva, Kan Liang, Matt Fleming, Namhyung Kim,
Peter Zijlstra, Stephane Eranian, Vikas Shivappa, Vince Weaver,
Wang Nan, Arnaldo Carvalho de Melo
Hi Ingo,
Please consider pulling,
- Arnaldo
The following changes since commit e3b0ac1b7a8a590440a2030e7d10d48c59ab8a2a:
Merge tag 'perf-core-for-mingo' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/core (2015-10-03 08:20:14 +0200)
are available in the git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux.git tags/perf-core-for-mingo
for you to fetch changes up to 27bf90bf0690f55c3679bcc4c325823cf1cfd19d:
perf tools: Fail properly in case pattern matching fails to find tracepoint (2015-10-05 17:59:50 -0300)
----------------------------------------------------------------
perf/core improvements and fixes:
User visible:
- Switch the default callchain output mode to 'graph,0.5,caller', to make it
look like the default for other tools, reducing the learning curve for
people used to 'caller' based viewing (Arnaldo Carvalho de Melo)
- Implement column based horizontal scrolling in the hists browser (top, report),
making it possible to use the TUI for things like 'perf mem report' where
there are many more columns than can fit in a terminal (Arnaldo Carvalho de Melo)
- Support sorting by symbol_iaddr with perf.data files produced by
'perf mem record' (Don Zickus)
- Display DATA_SRC sample type bit, i.e. when running 'perf evlist -v' the
"DATA_SRC" wasn't appearing when set, fix it to look like: (Jiri Olsa)
cpu/mem-loads/pp: ...SNIP... sample_type: IP|TID|TIME|ADDR|CPU|PERIOD|DATA_SRC
- Introduce 'P' event modified, meaning 'max precision level, please', i.e.:
$ perf record -e cycles:P usleep 1
Is now similar to:
$ perf record usleep 1
Useful, for instance, when specifying multiple events (Jiri Olsa)
- Make 'perf -v' and 'perf -h' work (Jiri Olsa)
- Fail properly when pattern matching fails to find a tracepoint, i.e.
'-e non:existent' was being correctly handled, with a proper error message
about that not being a valid event, but '-e non:existent*' wasn't,
fix it (Jiri Olsa)
Infrastructure:
- Separate arch specific entries in 'perf test' and add an 'Intel CQM' one
to be fun on x86 only (Matt Fleming)
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
----------------------------------------------------------------
Arnaldo Carvalho de Melo (3):
perf callchain: Switch default to 'graph,0.5,caller'
perf ui browser: Optional horizontal scrolling key binding
perf hists browser: Implement horizontal scrolling
Don Zickus (1):
perf tools: Add support for sorting on the iaddr
Jiri Olsa (9):
tools lib api fs: No need to use PATH_MAX + 1
perf evlist: Display DATA_SRC sample type bit
perf annotate: Fix sizeof_sym_hist overflow issue
perf tools: Export perf_event_attr__set_max_precise_ip()
perf tools: Introduce 'P' modifier to request max precision
perf tests: Add parsing test for 'P' modifier
perf tools: Setup proper width for symbol_iaddr field
perf tools: Handle -h and -v options
perf tools: Fail properly in case pattern matching fails to find tracepoint
Matt Fleming (3):
perf tests: Add arch tests
perf tests: Move x86 tests into arch directory
perf tests: Add Intel CQM test
tools/lib/api/fs/fs.c | 2 +-
tools/lib/api/fs/tracing_path.c | 6 +-
tools/perf/Documentation/perf-list.txt | 1 +
tools/perf/Documentation/perf-report.txt | 2 +-
tools/perf/Documentation/perf.txt | 8 ++
tools/perf/arch/x86/Build | 2 +-
tools/perf/arch/x86/include/arch-tests.h | 19 ++++
tools/perf/arch/x86/tests/Build | 10 +-
tools/perf/arch/x86/tests/arch-tests.c | 34 ++++++
tools/perf/arch/x86/tests/dwarf-unwind.c | 1 +
.../perf/{ => arch/x86}/tests/gen-insn-x86-dat.awk | 0
.../perf/{ => arch/x86}/tests/gen-insn-x86-dat.sh | 0
tools/perf/{ => arch/x86}/tests/insn-x86-dat-32.c | 0
tools/perf/{ => arch/x86}/tests/insn-x86-dat-64.c | 0
tools/perf/{ => arch/x86}/tests/insn-x86-dat-src.c | 0
tools/perf/{ => arch/x86}/tests/insn-x86.c | 3 +-
tools/perf/arch/x86/tests/intel-cqm.c | 124 +++++++++++++++++++++
tools/perf/{ => arch/x86}/tests/perf-time-to-tsc.c | 4 +-
tools/perf/{ => arch/x86}/tests/rdpmc.c | 7 +-
tools/perf/builtin-report.c | 4 +-
tools/perf/perf.c | 14 +++
tools/perf/tests/Build | 6 -
tools/perf/tests/builtin-test.c | 56 ++++------
tools/perf/tests/dwarf-unwind.c | 4 +
tools/perf/tests/parse-events.c | 16 +++
tools/perf/tests/tests.h | 10 +-
tools/perf/ui/browser.c | 14 +++
tools/perf/ui/browser.h | 2 +-
tools/perf/ui/browsers/hists.c | 22 +++-
tools/perf/util/annotate.h | 2 +-
tools/perf/util/evlist.c | 2 +-
tools/perf/util/evlist.h | 2 +
tools/perf/util/evsel.c | 5 +-
tools/perf/util/evsel.h | 1 +
tools/perf/util/hist.c | 13 +++
tools/perf/util/hist.h | 1 +
tools/perf/util/parse-events.c | 17 ++-
tools/perf/util/parse-events.l | 2 +-
tools/perf/util/sort.c | 37 ++++++
tools/perf/util/sort.h | 1 +
tools/perf/util/util.c | 4 +-
41 files changed, 381 insertions(+), 77 deletions(-)
create mode 100644 tools/perf/arch/x86/include/arch-tests.h
create mode 100644 tools/perf/arch/x86/tests/arch-tests.c
rename tools/perf/{ => arch/x86}/tests/gen-insn-x86-dat.awk (100%)
rename tools/perf/{ => arch/x86}/tests/gen-insn-x86-dat.sh (100%)
rename tools/perf/{ => arch/x86}/tests/insn-x86-dat-32.c (100%)
rename tools/perf/{ => arch/x86}/tests/insn-x86-dat-64.c (100%)
rename tools/perf/{ => arch/x86}/tests/insn-x86-dat-src.c (100%)
rename tools/perf/{ => arch/x86}/tests/insn-x86.c (98%)
create mode 100644 tools/perf/arch/x86/tests/intel-cqm.c
rename tools/perf/{ => arch/x86}/tests/perf-time-to-tsc.c (98%)
rename tools/perf/{ => arch/x86}/tests/rdpmc.c (97%)
^ permalink raw reply [flat|nested] 57+ messages in thread
* Re: [GIT PULL 00/16] perf/core improvements and fixes
2015-10-05 21:03 Arnaldo Carvalho de Melo
@ 2015-10-06 7:09 ` Ingo Molnar
0 siblings, 0 replies; 57+ messages in thread
From: Ingo Molnar @ 2015-10-06 7:09 UTC (permalink / raw)
To: Arnaldo Carvalho de Melo
Cc: linux-kernel, Adrian Hunter, Andi Kleen, Borislav Petkov,
Chandler Carruth, Daniel Bristot de Oliveira, David Ahern,
Don Zickus, Fenghua Yu, Frederic Weisbecker, Jiri Olsa,
Kanaka Juvva, Kan Liang, Matt Fleming, Namhyung Kim,
Peter Zijlstra, Stephane Eranian, Vikas Shivappa, Vince Weaver,
Wang Nan, Arnaldo Carvalho de Melo
* Arnaldo Carvalho de Melo <acme@kernel.org> wrote:
> Hi Ingo,
>
> Please consider pulling,
>
> - Arnaldo
>
> The following changes since commit e3b0ac1b7a8a590440a2030e7d10d48c59ab8a2a:
>
> Merge tag 'perf-core-for-mingo' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/core (2015-10-03 08:20:14 +0200)
>
> are available in the git repository at:
>
> git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux.git tags/perf-core-for-mingo
>
> for you to fetch changes up to 27bf90bf0690f55c3679bcc4c325823cf1cfd19d:
>
> perf tools: Fail properly in case pattern matching fails to find tracepoint (2015-10-05 17:59:50 -0300)
>
> ----------------------------------------------------------------
> perf/core improvements and fixes:
>
> User visible:
>
> - Switch the default callchain output mode to 'graph,0.5,caller', to make it
> look like the default for other tools, reducing the learning curve for
> people used to 'caller' based viewing (Arnaldo Carvalho de Melo)
>
> - Implement column based horizontal scrolling in the hists browser (top, report),
> making it possible to use the TUI for things like 'perf mem report' where
> there are many more columns than can fit in a terminal (Arnaldo Carvalho de Melo)
>
> - Support sorting by symbol_iaddr with perf.data files produced by
> 'perf mem record' (Don Zickus)
>
> - Display DATA_SRC sample type bit, i.e. when running 'perf evlist -v' the
> "DATA_SRC" wasn't appearing when set, fix it to look like: (Jiri Olsa)
>
> cpu/mem-loads/pp: ...SNIP... sample_type: IP|TID|TIME|ADDR|CPU|PERIOD|DATA_SRC
>
> - Introduce 'P' event modified, meaning 'max precision level, please', i.e.:
>
> $ perf record -e cycles:P usleep 1
>
> Is now similar to:
>
> $ perf record usleep 1
>
> Useful, for instance, when specifying multiple events (Jiri Olsa)
>
> - Make 'perf -v' and 'perf -h' work (Jiri Olsa)
>
> - Fail properly when pattern matching fails to find a tracepoint, i.e.
> '-e non:existent' was being correctly handled, with a proper error message
> about that not being a valid event, but '-e non:existent*' wasn't,
> fix it (Jiri Olsa)
>
> Infrastructure:
>
> - Separate arch specific entries in 'perf test' and add an 'Intel CQM' one
> to be fun on x86 only (Matt Fleming)
>
> Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
>
> ----------------------------------------------------------------
> Arnaldo Carvalho de Melo (3):
> perf callchain: Switch default to 'graph,0.5,caller'
> perf ui browser: Optional horizontal scrolling key binding
> perf hists browser: Implement horizontal scrolling
>
> Don Zickus (1):
> perf tools: Add support for sorting on the iaddr
>
> Jiri Olsa (9):
> tools lib api fs: No need to use PATH_MAX + 1
> perf evlist: Display DATA_SRC sample type bit
> perf annotate: Fix sizeof_sym_hist overflow issue
> perf tools: Export perf_event_attr__set_max_precise_ip()
> perf tools: Introduce 'P' modifier to request max precision
> perf tests: Add parsing test for 'P' modifier
> perf tools: Setup proper width for symbol_iaddr field
> perf tools: Handle -h and -v options
> perf tools: Fail properly in case pattern matching fails to find tracepoint
>
> Matt Fleming (3):
> perf tests: Add arch tests
> perf tests: Move x86 tests into arch directory
> perf tests: Add Intel CQM test
>
> tools/lib/api/fs/fs.c | 2 +-
> tools/lib/api/fs/tracing_path.c | 6 +-
> tools/perf/Documentation/perf-list.txt | 1 +
> tools/perf/Documentation/perf-report.txt | 2 +-
> tools/perf/Documentation/perf.txt | 8 ++
> tools/perf/arch/x86/Build | 2 +-
> tools/perf/arch/x86/include/arch-tests.h | 19 ++++
> tools/perf/arch/x86/tests/Build | 10 +-
> tools/perf/arch/x86/tests/arch-tests.c | 34 ++++++
> tools/perf/arch/x86/tests/dwarf-unwind.c | 1 +
> .../perf/{ => arch/x86}/tests/gen-insn-x86-dat.awk | 0
> .../perf/{ => arch/x86}/tests/gen-insn-x86-dat.sh | 0
> tools/perf/{ => arch/x86}/tests/insn-x86-dat-32.c | 0
> tools/perf/{ => arch/x86}/tests/insn-x86-dat-64.c | 0
> tools/perf/{ => arch/x86}/tests/insn-x86-dat-src.c | 0
> tools/perf/{ => arch/x86}/tests/insn-x86.c | 3 +-
> tools/perf/arch/x86/tests/intel-cqm.c | 124 +++++++++++++++++++++
> tools/perf/{ => arch/x86}/tests/perf-time-to-tsc.c | 4 +-
> tools/perf/{ => arch/x86}/tests/rdpmc.c | 7 +-
> tools/perf/builtin-report.c | 4 +-
> tools/perf/perf.c | 14 +++
> tools/perf/tests/Build | 6 -
> tools/perf/tests/builtin-test.c | 56 ++++------
> tools/perf/tests/dwarf-unwind.c | 4 +
> tools/perf/tests/parse-events.c | 16 +++
> tools/perf/tests/tests.h | 10 +-
> tools/perf/ui/browser.c | 14 +++
> tools/perf/ui/browser.h | 2 +-
> tools/perf/ui/browsers/hists.c | 22 +++-
> tools/perf/util/annotate.h | 2 +-
> tools/perf/util/evlist.c | 2 +-
> tools/perf/util/evlist.h | 2 +
> tools/perf/util/evsel.c | 5 +-
> tools/perf/util/evsel.h | 1 +
> tools/perf/util/hist.c | 13 +++
> tools/perf/util/hist.h | 1 +
> tools/perf/util/parse-events.c | 17 ++-
> tools/perf/util/parse-events.l | 2 +-
> tools/perf/util/sort.c | 37 ++++++
> tools/perf/util/sort.h | 1 +
> tools/perf/util/util.c | 4 +-
> 41 files changed, 381 insertions(+), 77 deletions(-)
> create mode 100644 tools/perf/arch/x86/include/arch-tests.h
> create mode 100644 tools/perf/arch/x86/tests/arch-tests.c
> rename tools/perf/{ => arch/x86}/tests/gen-insn-x86-dat.awk (100%)
> rename tools/perf/{ => arch/x86}/tests/gen-insn-x86-dat.sh (100%)
> rename tools/perf/{ => arch/x86}/tests/insn-x86-dat-32.c (100%)
> rename tools/perf/{ => arch/x86}/tests/insn-x86-dat-64.c (100%)
> rename tools/perf/{ => arch/x86}/tests/insn-x86-dat-src.c (100%)
> rename tools/perf/{ => arch/x86}/tests/insn-x86.c (98%)
> create mode 100644 tools/perf/arch/x86/tests/intel-cqm.c
> rename tools/perf/{ => arch/x86}/tests/perf-time-to-tsc.c (98%)
> rename tools/perf/{ => arch/x86}/tests/rdpmc.c (97%)
Pulled, thanks a lot Arnaldo!
Ingo
^ permalink raw reply [flat|nested] 57+ messages in thread
* [GIT PULL 00/16] perf/core improvements and fixes
@ 2015-12-14 17:44 Arnaldo Carvalho de Melo
0 siblings, 0 replies; 57+ messages in thread
From: Arnaldo Carvalho de Melo @ 2015-12-14 17:44 UTC (permalink / raw)
To: Ingo Molnar
Cc: linux-kernel, Arnaldo Carvalho de Melo, Adrian Hunter,
Alexei Starovoitov, Andi Kleen, David Ahern, He Kuang, Jiri Olsa,
Josh Poimboeuf, Masami Hiramatsu, Namhyung Kim, Peter Zijlstra,
pi3orama, Wang Nan, Zefan Li, Arnaldo Carvalho de Melo
Hi Ingo,
Please consider pulling,
- Arnaldo
The following changes since commit 0d76ded582c178d3cca55c9112eceb5b0f12f558:
Merge tag 'perf-core-for-mingo' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/core (2015-12-14 09:31:39 +0100)
are available in the git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux.git tags/perf-core-for-mingo
for you to fetch changes up to 7efe0e034c713716060bc7794c7e332589980c70:
perf record: Support custom vmlinux path (2015-12-14 13:04:12 -0300)
----------------------------------------------------------------
perf/core improvements and fixes:
User visible:
- Make command line options always available, even when they
depend on some feature being enabled, warning the user about
use of such options (Wang Nan)
- Support --vmlinux in perf record, useful, so far, for eBPF,
where we will set up events that will be used in the record
session (He Kuang)
- Automatically disable collecting branch flags and cycles with
--call-graph lbr. This allows avoiding a bunch of extra MSR
reads in the PMI on Skylake. (Andi Kleen)
Infrastructure:
- Dump the stack when a 'perf test -v ' entry segfaults, so far we
would have to run it under gdb with 'set follow-fork-mode child'
set to get a proper backtrace (Arnaldo Carvalho de Melo)
- Initialize the refcnt in 'struct thread' to 1 and fixup its
users accordingly, so that we try to have the same refcount
model accross the perf codebase (Arnaldo Carvalho de Melo)
- More prep work for moving the subcmd infrastructure out of
tools/perf/ and into tools/lib/subcmd/ to be used by other
tools/ living utilities (Josh Poimboeuf)
- Fix 'perf test' hist testcases when kptr_restrict is on (Namhyung Kim)
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
----------------------------------------------------------------
Andi Kleen (1):
perf evsel: Disable branch flags/cycles for --callgraph lbr
Arnaldo Carvalho de Melo (3):
perf tools: Use same signal handling strategy as 'record'
perf test: Dump the stack when test segfaults when in verbose mode
perf thread: Fix reference count initial state
He Kuang (1):
perf record: Support custom vmlinux path
Josh Poimboeuf (9):
perf build: Remove unnecessary line in Makefile.feature
perf test: Add Build file to dependencies for llvm-src-*.c
perf test: Remove tarpkg at end of test
perf build: Fix 'make clean'
perf build: Rename LIB_PATH -> API_PATH
perf tools: Create pager.h
perf tools: Remove check for unused PERF_PAGER_IN_USE
perf tools: Move help_unknown_cmd() to its own file
perf tools: Convert parse-options.c internal functions to static
Namhyung Kim (1):
perf test: Fix hist testcases when kptr_restrict is on
Wang Nan (1):
perf tools: Make options always available, even if required libs not linked
tools/build/Makefile.feature | 1 -
tools/perf/Documentation/perf-record.txt | 10 ++-
tools/perf/Makefile.perf | 15 ++--
tools/perf/builtin-probe.c | 15 +++-
tools/perf/builtin-record.c | 25 +++++-
tools/perf/tests/Build | 6 +-
tools/perf/tests/builtin-test.c | 3 +
tools/perf/tests/hists_common.c | 5 +-
tools/perf/tests/make | 3 +-
tools/perf/util/Build | 1 +
tools/perf/util/cache.h | 5 +-
tools/perf/util/evsel.c | 14 +++-
tools/perf/util/help-unknown-cmd.c | 103 +++++++++++++++++++++++
tools/perf/util/help-unknown-cmd.h | 0
tools/perf/util/help.c | 107 +-----------------------
tools/perf/util/help.h | 3 +
tools/perf/util/intel-pt.c | 4 +-
tools/perf/util/machine.c | 19 +++--
tools/perf/util/pager.c | 8 +-
tools/perf/util/pager.h | 7 ++
tools/perf/util/parse-options.c | 136 +++++++++++++++++++++++++++----
tools/perf/util/parse-options.h | 14 ++--
tools/perf/util/thread.c | 10 ++-
tools/perf/util/util.c | 3 +-
24 files changed, 341 insertions(+), 176 deletions(-)
create mode 100644 tools/perf/util/help-unknown-cmd.c
create mode 100644 tools/perf/util/help-unknown-cmd.h
create mode 100644 tools/perf/util/pager.h
^ permalink raw reply [flat|nested] 57+ messages in thread
* [GIT PULL 00/16] perf/core improvements and fixes
@ 2016-01-29 21:17 Arnaldo Carvalho de Melo
2016-02-03 10:02 ` Ingo Molnar
0 siblings, 1 reply; 57+ messages in thread
From: Arnaldo Carvalho de Melo @ 2016-01-29 21:17 UTC (permalink / raw)
To: Ingo Molnar
Cc: linux-kernel, Arnaldo Carvalho de Melo, Adrian Hunter,
Alexander Yarygin, Alexei Starovoitov, Al Grant, Brendan Gregg,
Chunyan Zhang, Daniel Borkmann, David Ahern, He Kuang,
Hemant Kumar, Jiri Olsa, linux-arm-kernel, linux-doc,
linuxppc-dev, Li Zefan, Masami Hiramatsu, Mathieu Poirier,
Michael Ellerman, Mike Leach, Namhyung Kim, Naveen N . Rao,
Paul Mackerras, Peter Zijlstra, pi3orama, Rabin Vincent,
Scott Wood, Srikar Dronamraju, Tor Jeremiassen, Wang Nan,
Will Deacon, Arnaldo Carvalho de Melo
See http://www.infradead.org/rpr.html
Hi Ingo,
This is on top of the previously submitted perf-core-for-mingo tag,
please consider applying,
- Arnaldo
The following changes since commit 5ac76283b32b116c58e362e99542182ddcfc8262:
perf cpumap: Auto initialize cpu__max_{node,cpu} (2016-01-26 16:08:36 -0300)
are available in the git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux.git tags/perf-core-for-mingo-2
for you to fetch changes up to 814568db641f6587c1e98a3a85f214cb6a30fe10:
perf build: Align the names of the build tests: (2016-01-29 17:51:04 -0300)
----------------------------------------------------------------
New features:
- Port 'perf kvm stat' to PowerPC (Hemant Kumar)
Infrastructure:
- Use the 'feature-dump' target to do the feature checks just once and then
add code to reuse that in the tests/make makefile, speeding up the
'make -C tools/perf build-test' target (Wang Nan)
- Reduce the number of tests the 'build-test' target do to those that don't
pollute the source tree (Arnaldo Carvalho de Melo)
- Improve the output of the build tests a bit by aligning the name of the
tests, more can be done to filter out uninteresting info in the output
(Arnaldo Carvalho de Melo)
- Add perf_evlist pointer to *info_priv_size(), more prep work for
supporting the coresight architecture (Mathieu Poirier)
- Improve the 'perf test bp_signal' test (Wang Nan)
- Check environment before starting the BPF 'perf test', so that we can just
'Skip' older kernels instead of 'FAIL'ing them (Wang Nan)
- Fix cpumode of synthesized buildid event (Wang Nan)
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
----------------------------------------------------------------
Arnaldo Carvalho de Melo (2):
perf tools: Speed up build-tests by reducing the number of builds tested
perf build: Align the names of the build tests:
Hemant Kumar (4):
perf kvm/{x86,s390}: Remove dependency on uapi/kvm_perf.h
perf kvm/{x86,s390}: Remove const from kvm_events_tp
perf kvm/powerpc: Port perf kvm stat to powerpc
perf kvm/powerpc: Add support for HCALL reasons
Jiri Olsa (1):
perf build: Fix feature-dump checks, we need to test all features
Mathieu Poirier (1):
perf auxtrace: Add perf_evlist pointer to *info_priv_size()
Wang Nan (8):
tools build: Check basic headers for test-compile feature checker
perf build: Remove all condition feature check {C,LD}FLAGS
perf build: Use feature dump file for build-test
perf buildid: Fix cpumode of buildid event
perf test: Check environment before start real BPF test
perf test: Improve bp_signal
perf tools: Move timestamp creation to util
perf record: Use OPT_BOOLEAN_SET for buildid cache related options
tools/build/Makefile.feature | 8 ++
tools/build/feature/test-compile.c | 2 +
tools/perf/Makefile | 11 +-
tools/perf/arch/powerpc/Makefile | 2 +
tools/perf/arch/powerpc/util/Build | 1 +
tools/perf/arch/powerpc/util/book3s_hcalls.h | 123 ++++++++++++++++++
tools/perf/arch/powerpc/util/book3s_hv_exits.h | 33 +++++
tools/perf/arch/powerpc/util/kvm-stat.c | 170 +++++++++++++++++++++++++
tools/perf/arch/s390/util/kvm-stat.c | 10 +-
tools/perf/arch/x86/util/intel-bts.c | 4 +-
tools/perf/arch/x86/util/intel-pt.c | 4 +-
tools/perf/arch/x86/util/kvm-stat.c | 16 ++-
tools/perf/builtin-buildid-cache.c | 14 +-
tools/perf/builtin-kvm.c | 38 ++++--
tools/perf/builtin-record.c | 12 +-
tools/perf/config/Makefile | 101 +++++++--------
tools/perf/tests/bp_signal.c | 140 ++++++++++++++++----
tools/perf/tests/bpf.c | 37 ++++++
tools/perf/tests/make | 39 +++++-
tools/perf/util/auxtrace.c | 7 +-
tools/perf/util/auxtrace.h | 6 +-
tools/perf/util/build-id.c | 6 +-
tools/perf/util/kvm-stat.h | 8 +-
tools/perf/util/util.c | 17 +++
tools/perf/util/util.h | 1 +
25 files changed, 688 insertions(+), 122 deletions(-)
create mode 100644 tools/perf/arch/powerpc/util/book3s_hcalls.h
create mode 100644 tools/perf/arch/powerpc/util/book3s_hv_exits.h
create mode 100644 tools/perf/arch/powerpc/util/kvm-stat.c
^ permalink raw reply [flat|nested] 57+ messages in thread
* Re: [GIT PULL 00/16] perf/core improvements and fixes
2016-01-29 21:17 Arnaldo Carvalho de Melo
@ 2016-02-03 10:02 ` Ingo Molnar
0 siblings, 0 replies; 57+ messages in thread
From: Ingo Molnar @ 2016-02-03 10:02 UTC (permalink / raw)
To: Arnaldo Carvalho de Melo
Cc: linux-kernel, Adrian Hunter, Alexander Yarygin,
Alexei Starovoitov, Al Grant, Brendan Gregg, Chunyan Zhang,
Daniel Borkmann, David Ahern, He Kuang, Hemant Kumar, Jiri Olsa,
linux-arm-kernel, linux-doc, linuxppc-dev, Li Zefan,
Masami Hiramatsu, Mathieu Poirier, Michael Ellerman, Mike Leach,
Namhyung Kim, Naveen N . Rao, Paul Mackerras, Peter Zijlstra,
pi3orama, Rabin Vincent, Scott Wood, Srikar Dronamraju,
Tor Jeremiassen, Wang Nan, Will Deacon, Arnaldo Carvalho de Melo
* Arnaldo Carvalho de Melo <acme@kernel.org> wrote:
> Hi Ingo,
>
> This is on top of the previously submitted perf-core-for-mingo tag,
> please consider applying,
>
> - Arnaldo
>
> The following changes since commit 5ac76283b32b116c58e362e99542182ddcfc8262:
>
> perf cpumap: Auto initialize cpu__max_{node,cpu} (2016-01-26 16:08:36 -0300)
>
> are available in the git repository at:
>
> git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux.git tags/perf-core-for-mingo-2
>
> for you to fetch changes up to 814568db641f6587c1e98a3a85f214cb6a30fe10:
>
> perf build: Align the names of the build tests: (2016-01-29 17:51:04 -0300)
>
> ----------------------------------------------------------------
> New features:
>
> - Port 'perf kvm stat' to PowerPC (Hemant Kumar)
>
> Infrastructure:
>
> - Use the 'feature-dump' target to do the feature checks just once and then
> add code to reuse that in the tests/make makefile, speeding up the
> 'make -C tools/perf build-test' target (Wang Nan)
>
> - Reduce the number of tests the 'build-test' target do to those that don't
> pollute the source tree (Arnaldo Carvalho de Melo)
>
> - Improve the output of the build tests a bit by aligning the name of the
> tests, more can be done to filter out uninteresting info in the output
> (Arnaldo Carvalho de Melo)
>
> - Add perf_evlist pointer to *info_priv_size(), more prep work for
> supporting the coresight architecture (Mathieu Poirier)
>
> - Improve the 'perf test bp_signal' test (Wang Nan)
>
> - Check environment before starting the BPF 'perf test', so that we can just
> 'Skip' older kernels instead of 'FAIL'ing them (Wang Nan)
>
> - Fix cpumode of synthesized buildid event (Wang Nan)
>
> Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
>
> ----------------------------------------------------------------
> Arnaldo Carvalho de Melo (2):
> perf tools: Speed up build-tests by reducing the number of builds tested
> perf build: Align the names of the build tests:
>
> Hemant Kumar (4):
> perf kvm/{x86,s390}: Remove dependency on uapi/kvm_perf.h
> perf kvm/{x86,s390}: Remove const from kvm_events_tp
> perf kvm/powerpc: Port perf kvm stat to powerpc
> perf kvm/powerpc: Add support for HCALL reasons
>
> Jiri Olsa (1):
> perf build: Fix feature-dump checks, we need to test all features
>
> Mathieu Poirier (1):
> perf auxtrace: Add perf_evlist pointer to *info_priv_size()
>
> Wang Nan (8):
> tools build: Check basic headers for test-compile feature checker
> perf build: Remove all condition feature check {C,LD}FLAGS
> perf build: Use feature dump file for build-test
> perf buildid: Fix cpumode of buildid event
> perf test: Check environment before start real BPF test
> perf test: Improve bp_signal
> perf tools: Move timestamp creation to util
> perf record: Use OPT_BOOLEAN_SET for buildid cache related options
>
> tools/build/Makefile.feature | 8 ++
> tools/build/feature/test-compile.c | 2 +
> tools/perf/Makefile | 11 +-
> tools/perf/arch/powerpc/Makefile | 2 +
> tools/perf/arch/powerpc/util/Build | 1 +
> tools/perf/arch/powerpc/util/book3s_hcalls.h | 123 ++++++++++++++++++
> tools/perf/arch/powerpc/util/book3s_hv_exits.h | 33 +++++
> tools/perf/arch/powerpc/util/kvm-stat.c | 170 +++++++++++++++++++++++++
> tools/perf/arch/s390/util/kvm-stat.c | 10 +-
> tools/perf/arch/x86/util/intel-bts.c | 4 +-
> tools/perf/arch/x86/util/intel-pt.c | 4 +-
> tools/perf/arch/x86/util/kvm-stat.c | 16 ++-
> tools/perf/builtin-buildid-cache.c | 14 +-
> tools/perf/builtin-kvm.c | 38 ++++--
> tools/perf/builtin-record.c | 12 +-
> tools/perf/config/Makefile | 101 +++++++--------
> tools/perf/tests/bp_signal.c | 140 ++++++++++++++++----
> tools/perf/tests/bpf.c | 37 ++++++
> tools/perf/tests/make | 39 +++++-
> tools/perf/util/auxtrace.c | 7 +-
> tools/perf/util/auxtrace.h | 6 +-
> tools/perf/util/build-id.c | 6 +-
> tools/perf/util/kvm-stat.h | 8 +-
> tools/perf/util/util.c | 17 +++
> tools/perf/util/util.h | 1 +
> 25 files changed, 688 insertions(+), 122 deletions(-)
> create mode 100644 tools/perf/arch/powerpc/util/book3s_hcalls.h
> create mode 100644 tools/perf/arch/powerpc/util/book3s_hv_exits.h
> create mode 100644 tools/perf/arch/powerpc/util/kvm-stat.c
Pulled, thanks a lot Arnaldo!
Ingo
^ permalink raw reply [flat|nested] 57+ messages in thread
* [GIT PULL 00/16] perf/core improvements and fixes
@ 2016-07-05 0:38 Arnaldo Carvalho de Melo
2016-07-05 10:14 ` Ingo Molnar
0 siblings, 1 reply; 57+ messages in thread
From: Arnaldo Carvalho de Melo @ 2016-07-05 0:38 UTC (permalink / raw)
To: Ingo Molnar
Cc: linux-kernel, Arnaldo Carvalho de Melo, Adrian Hunter,
Alexei Starovoitov, Ananth N Mavinakayanahalli, Brendan Gregg,
Chris Phlipot, Christoph Hellwig, Daniel Borkmann, David Ahern,
Eric Leblond, He Kuang, Hemant Kumar, Jiri Olsa, Masami Hiramatsu,
Milian Wolff, Namhyung Kim, Peter Zijlstra, pi3orama, Taeung Song,
Wang Nan, Zefan Li, Arnaldo Carvalho de Melo
Hi Ingo,
Please consider pulling,
Build status:
[root@jouet ~]# dm
alpine:3.4: FAIL <--- strerror_r usage needs to be made XSI-compliant, Alpine Linux uses musl libc
centos:5: FAIL <--- flex snafu, being investigated by Jiri
centos:6: Ok
centos:7: Ok
debian:7: Ok
debian:8: Ok
debian:experimental: Ok
fedora:21: Ok
fedora:22: Ok
fedora:23: Ok
fedora:24: Ok
fedora:rawhide: Ok
mageia:5: Ok
opensuse:13.2: Ok
opensuse:42.1: Ok
ubuntu:12.04.5: Ok
ubuntu:14.04.4: Ok
ubuntu:15.10: Ok
ubuntu:16.04: Ok
[root@jouet ~]#
These images are now available at: https://hub.docker.com/search/?q=acmel
And the 'dm' script at: https://fedorapeople.org/~acme/perf/dm
Regards,
- Arnaldo
The following changes since commit dc29bb47a34130459fadd58f05e2acd051a6327d:
Merge tag 'perf-core-for-mingo-20160630' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/core (2016-07-01 08:40:39 +0200)
are available in the git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux.git tags/perf-core-for-mingo-20160704
for you to fetch changes up to f3d082ceabe53177c98bfa4580a294c2844966e8:
perf tools: Sync copy of syscall_64.tbl with the kernel (2016-07-04 20:29:40 -0300)
----------------------------------------------------------------
perf/core improvements and fixes:
Documentation:
- Update android build documentation (Chris Phlipot)
Infrastructure:
- Respect WERROR=0 in libapi and libsubcmd, to allow building on Android (Chris Phlipot)
- Prep work to support SDT events in probe cache (Masami Hiramatsu)
- ELF support for SDT (Hemant Kumar)
- Add feature detection for libelf's elf_getshdrstrndx function (Arnaldo Carvalho de Melo)
- Fix hist accumulation test (Jiri Olsa)
- Unwind callchain fixes (Jiri Olsa)
- Change internal representation of numa nodes obtained from
perf.data header (Jiri Olsa)
- Sync copy of syscall_64.tbl with the kernel (Arnaldo Carvalho de Melo)
- Add LGPL 2.1 license header to libbpf source files (Wang Nan)
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
----------------------------------------------------------------
Arnaldo Carvalho de Melo (2):
perf build: Add feature detection for libelf's elf_getshdrstrndx()
perf tools: Sync copy of syscall_64.tbl with the kernel
Chris Phlipot (3):
tools lib api: Respect WERROR=0 for build
tools lib subcmd: Respect WERROR=0 for build
perf tools: Update android build documentation
Hemant Kumar (1):
perf sdt: ELF support for SDT
Jiri Olsa (4):
perf header: Transform nodes string info to struct
perf tests: Fix hist accumulation test
perf unwind: Add initialized arg into unwind__prepare_access
perf unwind: Call unwind__prepare_access for forked thread
Masami Hiramatsu (5):
perf probe: Use cache entry if possible
perf probe: Show all cached probes
perf probe: Remove caches when --cache is given
perf probe: Add group name support
perf buildid-cache: Scan and import user SDT events to probe cache
Wang Nan (1):
tools lib bpf: Add license header
tools/build/Makefile.feature | 1 +
tools/build/feature/Makefile | 4 +
tools/build/feature/test-all.c | 5 +
tools/build/feature/test-libelf-getshdrstrndx.c | 8 +
tools/lib/api/Makefile | 8 +-
tools/lib/bpf/bpf.c | 13 ++
tools/lib/bpf/bpf.h | 13 ++
tools/lib/bpf/libbpf.c | 13 ++
tools/lib/bpf/libbpf.h | 13 ++
tools/lib/subcmd/Makefile | 8 +-
tools/perf/Documentation/android.txt | 16 +-
tools/perf/Documentation/perf-buildid-cache.txt | 3 +
tools/perf/Documentation/perf-probe.txt | 19 +-
tools/perf/arch/x86/entry/syscalls/syscall_64.tbl | 2 +
tools/perf/builtin-probe.c | 31 ++-
tools/perf/config/Makefile | 4 +
tools/perf/tests/hists_cumulate.c | 4 +
tools/perf/util/build-id.c | 138 +++++++++++-
tools/perf/util/build-id.h | 3 +
tools/perf/util/callchain.h | 1 +
tools/perf/util/env.c | 5 +-
tools/perf/util/env.h | 10 +-
tools/perf/util/header.c | 76 +++----
tools/perf/util/map.c | 9 +-
tools/perf/util/map.h | 2 +-
tools/perf/util/probe-event.c | 91 +++++++-
tools/perf/util/probe-file.c | 175 ++++++++++++++-
tools/perf/util/probe-file.h | 10 +-
tools/perf/util/symbol-elf.c | 260 ++++++++++++++++++++++
tools/perf/util/symbol.h | 22 ++
tools/perf/util/thread.c | 39 +++-
tools/perf/util/unwind-libunwind.c | 11 +-
tools/perf/util/unwind.h | 9 +-
tools/perf/util/util.c | 19 +-
34 files changed, 940 insertions(+), 105 deletions(-)
create mode 100644 tools/build/feature/test-libelf-getshdrstrndx.c
^ permalink raw reply [flat|nested] 57+ messages in thread
* Re: [GIT PULL 00/16] perf/core improvements and fixes
2016-07-05 0:38 Arnaldo Carvalho de Melo
@ 2016-07-05 10:14 ` Ingo Molnar
0 siblings, 0 replies; 57+ messages in thread
From: Ingo Molnar @ 2016-07-05 10:14 UTC (permalink / raw)
To: Arnaldo Carvalho de Melo
Cc: linux-kernel, Adrian Hunter, Alexei Starovoitov,
Ananth N Mavinakayanahalli, Brendan Gregg, Chris Phlipot,
Christoph Hellwig, Daniel Borkmann, David Ahern, Eric Leblond,
He Kuang, Hemant Kumar, Jiri Olsa, Masami Hiramatsu, Milian Wolff,
Namhyung Kim, Peter Zijlstra, pi3orama, Taeung Song, Wang Nan,
Zefan Li, Arnaldo Carvalho de Melo
* Arnaldo Carvalho de Melo <acme@kernel.org> wrote:
> Hi Ingo,
>
> Please consider pulling,
>
> Build status:
>
> [root@jouet ~]# dm
> alpine:3.4: FAIL <--- strerror_r usage needs to be made XSI-compliant, Alpine Linux uses musl libc
> centos:5: FAIL <--- flex snafu, being investigated by Jiri
> centos:6: Ok
> centos:7: Ok
> debian:7: Ok
> debian:8: Ok
> debian:experimental: Ok
> fedora:21: Ok
> fedora:22: Ok
> fedora:23: Ok
> fedora:24: Ok
> fedora:rawhide: Ok
> mageia:5: Ok
> opensuse:13.2: Ok
> opensuse:42.1: Ok
> ubuntu:12.04.5: Ok
> ubuntu:14.04.4: Ok
> ubuntu:15.10: Ok
> ubuntu:16.04: Ok
> [root@jouet ~]#
>
> These images are now available at: https://hub.docker.com/search/?q=acmel
>
> And the 'dm' script at: https://fedorapeople.org/~acme/perf/dm
>
> Regards,
>
> - Arnaldo
>
> The following changes since commit dc29bb47a34130459fadd58f05e2acd051a6327d:
>
> Merge tag 'perf-core-for-mingo-20160630' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/core (2016-07-01 08:40:39 +0200)
>
> are available in the git repository at:
>
> git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux.git tags/perf-core-for-mingo-20160704
>
> for you to fetch changes up to f3d082ceabe53177c98bfa4580a294c2844966e8:
>
> perf tools: Sync copy of syscall_64.tbl with the kernel (2016-07-04 20:29:40 -0300)
>
> ----------------------------------------------------------------
> perf/core improvements and fixes:
>
> Documentation:
>
> - Update android build documentation (Chris Phlipot)
>
> Infrastructure:
>
> - Respect WERROR=0 in libapi and libsubcmd, to allow building on Android (Chris Phlipot)
>
> - Prep work to support SDT events in probe cache (Masami Hiramatsu)
>
> - ELF support for SDT (Hemant Kumar)
>
> - Add feature detection for libelf's elf_getshdrstrndx function (Arnaldo Carvalho de Melo)
>
> - Fix hist accumulation test (Jiri Olsa)
>
> - Unwind callchain fixes (Jiri Olsa)
>
> - Change internal representation of numa nodes obtained from
> perf.data header (Jiri Olsa)
>
> - Sync copy of syscall_64.tbl with the kernel (Arnaldo Carvalho de Melo)
>
> - Add LGPL 2.1 license header to libbpf source files (Wang Nan)
>
> Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
>
> ----------------------------------------------------------------
> Arnaldo Carvalho de Melo (2):
> perf build: Add feature detection for libelf's elf_getshdrstrndx()
> perf tools: Sync copy of syscall_64.tbl with the kernel
>
> Chris Phlipot (3):
> tools lib api: Respect WERROR=0 for build
> tools lib subcmd: Respect WERROR=0 for build
> perf tools: Update android build documentation
>
> Hemant Kumar (1):
> perf sdt: ELF support for SDT
>
> Jiri Olsa (4):
> perf header: Transform nodes string info to struct
> perf tests: Fix hist accumulation test
> perf unwind: Add initialized arg into unwind__prepare_access
> perf unwind: Call unwind__prepare_access for forked thread
>
> Masami Hiramatsu (5):
> perf probe: Use cache entry if possible
> perf probe: Show all cached probes
> perf probe: Remove caches when --cache is given
> perf probe: Add group name support
> perf buildid-cache: Scan and import user SDT events to probe cache
>
> Wang Nan (1):
> tools lib bpf: Add license header
>
> tools/build/Makefile.feature | 1 +
> tools/build/feature/Makefile | 4 +
> tools/build/feature/test-all.c | 5 +
> tools/build/feature/test-libelf-getshdrstrndx.c | 8 +
> tools/lib/api/Makefile | 8 +-
> tools/lib/bpf/bpf.c | 13 ++
> tools/lib/bpf/bpf.h | 13 ++
> tools/lib/bpf/libbpf.c | 13 ++
> tools/lib/bpf/libbpf.h | 13 ++
> tools/lib/subcmd/Makefile | 8 +-
> tools/perf/Documentation/android.txt | 16 +-
> tools/perf/Documentation/perf-buildid-cache.txt | 3 +
> tools/perf/Documentation/perf-probe.txt | 19 +-
> tools/perf/arch/x86/entry/syscalls/syscall_64.tbl | 2 +
> tools/perf/builtin-probe.c | 31 ++-
> tools/perf/config/Makefile | 4 +
> tools/perf/tests/hists_cumulate.c | 4 +
> tools/perf/util/build-id.c | 138 +++++++++++-
> tools/perf/util/build-id.h | 3 +
> tools/perf/util/callchain.h | 1 +
> tools/perf/util/env.c | 5 +-
> tools/perf/util/env.h | 10 +-
> tools/perf/util/header.c | 76 +++----
> tools/perf/util/map.c | 9 +-
> tools/perf/util/map.h | 2 +-
> tools/perf/util/probe-event.c | 91 +++++++-
> tools/perf/util/probe-file.c | 175 ++++++++++++++-
> tools/perf/util/probe-file.h | 10 +-
> tools/perf/util/symbol-elf.c | 260 ++++++++++++++++++++++
> tools/perf/util/symbol.h | 22 ++
> tools/perf/util/thread.c | 39 +++-
> tools/perf/util/unwind-libunwind.c | 11 +-
> tools/perf/util/unwind.h | 9 +-
> tools/perf/util/util.c | 19 +-
> 34 files changed, 940 insertions(+), 105 deletions(-)
> create mode 100644 tools/build/feature/test-libelf-getshdrstrndx.c
Pulled, thanks a lot Arnaldo!
Ingo
^ permalink raw reply [flat|nested] 57+ messages in thread
* [GIT PULL 00/16] perf/core improvements and fixes
@ 2019-01-04 18:33 Arnaldo Carvalho de Melo
2019-01-08 15:32 ` Ingo Molnar
0 siblings, 1 reply; 57+ messages in thread
From: Arnaldo Carvalho de Melo @ 2019-01-04 18:33 UTC (permalink / raw)
To: Ingo Molnar
Cc: Clark Williams, linux-kernel, linux-perf-users,
Arnaldo Carvalho de Melo, Arnaldo Carvalho de Melo, Ivan Krylov,
Jin Yao, Mattias Jacobsson
Hi Ingo,
Please consider pulling,
Best regards,
- Arnaldo
Test results at the end of this message, as usual.
The following changes since commit 2573be22e5b6f24a0cabc97715c808c47e29eaaf:
Merge tag 'perf-core-for-mingo-4.21-20190103' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/urgent (2019-01-03 14:05:16 +0100)
are available in the Git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux.git tags/perf-core-for-mingo-4.21-20190104
for you to fetch changes up to 03fa483821c0b4db7c2b1453d3332f397d82313f:
perf test shell: Use a fallback to get the pathname in vfs_getname (2019-01-04 15:12:29 -0300)
----------------------------------------------------------------
perf/core improvements and fixes:
perf annotate:
Ivan Krylov:
- Pass filename to objdump via execl, fixing usage with filenames
with special characters.
perf report:
Jin Yao:
Fix wrong iteration count in --branch-history
perf stat:
Jin Yao:
- Fix endless wait for child process
perf test:
Arnaldo Carvalho de Melo:
- Use a fallback to get the pathname in vfs_getname in
tools build:
Jiri Olsa:
- Allow overriding CFLAGS assignments.
Misc:
Arnaldo Carvalho de Melo:
- Syncronize UAPI headers
Mattias Jacobsson:
- Remove redundant va_end() in strbuf_addv()
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
----------------------------------------------------------------
Arnaldo Carvalho de Melo (10):
tools headers x86: Sync disabled-features.h
tools headers uapi: Sync prctl.h with the kernel sources
tools beauty: Make the prctl option table generator catch all PR_ options
tools headers uapi: Update i915_drm.h
tools headers uapi: Sync linux/in.h copy from the kernel sources
tools headers uapi: Sync linux/kvm.h with the kernel sources
tools headers uapi: Sync copy of asm-generic/unistd.h with the kernel sources
tools headers x86: Sync asm/cpufeatures.h copy with the kernel sources
perf python: Make sure the python binding output directory is in place
perf test shell: Use a fallback to get the pathname in vfs_getname
Ivan Krylov (1):
perf annotate: Pass filename to objdump via execl
Jin Yao (2):
perf stat: Fix endless wait for child process
perf report: Fix wrong iteration count in --branch-history
Jiri Olsa (2):
tools thermal tmon: Use -O3 instead of -O1 if available
tools iio: Override CFLAGS assignments
Mattias Jacobsson (1):
perf strbuf: Remove redundant va_end() in strbuf_addv()
tools/arch/x86/include/asm/cpufeatures.h | 2 ++
tools/arch/x86/include/asm/disabled-features.h | 8 ++++++-
tools/iio/Makefile | 2 +-
tools/include/uapi/asm-generic/unistd.h | 4 +++-
tools/include/uapi/drm/i915_drm.h | 8 +++++++
tools/include/uapi/linux/in.h | 10 +++++---
tools/include/uapi/linux/kvm.h | 19 +++++++++++++++
tools/include/uapi/linux/prctl.h | 8 +++++++
tools/perf/Makefile.perf | 4 +++-
tools/perf/builtin-stat.c | 3 ++-
tools/perf/tests/shell/lib/probe_vfs_getname.sh | 3 ++-
tools/perf/trace/beauty/prctl_option.sh | 2 +-
tools/perf/util/annotate.c | 8 +++----
tools/perf/util/callchain.c | 32 +++++++++++++++----------
tools/perf/util/callchain.h | 1 +
tools/perf/util/machine.c | 2 +-
tools/perf/util/strbuf.c | 1 -
tools/thermal/tmon/Makefile | 2 +-
18 files changed, 90 insertions(+), 29 deletions(-)
Test results:
The first ones are container based builds of tools/perf with and without libelf
support. Where clang is available, it is also used to build perf with/without
libelf, and building with LIBCLANGLLVM=1 (built-in clang) with gcc and clang
when clang and its devel libraries are installed.
The objtool and samples/bpf/ builds are disabled now that I'm switching from
using the sources in a local volume to fetching them from a http server to
build it inside the container, to make it easier to build in a container cluster.
Those will come back later.
Several are cross builds, the ones with -x-ARCH and the android one, and those
may not have all the features built, due to lack of multi-arch devel packages,
available and being used so far on just a few, like
debian:experimental-x-{arm64,mipsel}.
The 'perf test' one will perform a variety of tests exercising
tools/perf/util/, tools/lib/{bpf,traceevent,etc}, as well as run perf commands
with a variety of command line event specifications to then intercept the
sys_perf_event syscall to check that the perf_event_attr fields are set up as
expected, among a variety of other unit tests.
Then there is the 'make -C tools/perf build-test' ones, that build tools/perf/
with a variety of feature sets, exercising the build with an incomplete set of
features as well as with a complete one. It is planned to have it run on each
of the containers mentioned above, using some container orchestration
infrastructure. Get in contact if interested in helping having this in place.
$ dm
1 alpine:3.4 : Ok gcc (Alpine 5.3.0) 5.3.0
2 alpine:3.5 : Ok gcc (Alpine 6.2.1) 6.2.1 20160822
3 alpine:3.6 : Ok gcc (Alpine 6.3.0) 6.3.0
4 alpine:3.7 : Ok gcc (Alpine 6.4.0) 6.4.0
5 alpine:3.8 : Ok gcc (Alpine 6.4.0) 6.4.0
6 alpine:edge : Ok gcc (Alpine 8.2.0) 8.2.0
7 amazonlinux:1 : Ok gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-28)
8 amazonlinux:2 : Ok gcc (GCC) 7.3.1 20180303 (Red Hat 7.3.1-5)
9 android-ndk:r12b-arm : Ok arm-linux-androideabi-gcc (GCC) 4.9.x 20150123 (prerelease)
10 android-ndk:r15c-arm : Ok arm-linux-androideabi-gcc (GCC) 4.9.x 20150123 (prerelease)
11 centos:5 : Ok gcc (GCC) 4.1.2 20080704 (Red Hat 4.1.2-55)
12 centos:6 : Ok gcc (GCC) 4.4.7 20120313 (Red Hat 4.4.7-23)
13 centos:7 : Ok gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-36)
14 clearlinux:latest : Ok gcc (Clear Linux OS for Intel Architecture) 8.2.1 20180502
15 debian:7 : Ok gcc (Debian 4.7.2-5) 4.7.2
16 debian:8 : Ok gcc (Debian 4.9.2-10+deb8u2) 4.9.2
17 debian:9 : Ok gcc (Debian 6.3.0-18+deb9u1) 6.3.0 20170516
18 debian:experimental : Ok gcc (Debian 8.2.0-13) 8.2.0
19 debian:experimental-x-arm64 : Ok aarch64-linux-gnu-gcc (Debian 8.2.0-11) 8.2.0
20 debian:experimental-x-mips : Ok mips-linux-gnu-gcc (Debian 8.2.0-11) 8.2.0
21 debian:experimental-x-mips64 : Ok mips64-linux-gnuabi64-gcc (Debian 8.2.0-11) 8.2.0
22 debian:experimental-x-mipsel : Ok mipsel-linux-gnu-gcc (Debian 8.2.0-11) 8.2.0
23 fedora:20 : Ok gcc (GCC) 4.8.3 20140911 (Red Hat 4.8.3-7)
24 fedora:22 : Ok gcc (GCC) 5.3.1 20160406 (Red Hat 5.3.1-6)
25 fedora:23 : Ok gcc (GCC) 5.3.1 20160406 (Red Hat 5.3.1-6)
26 fedora:24 : Ok gcc (GCC) 6.3.1 20161221 (Red Hat 6.3.1-1)
27 fedora:24-x-ARC-uClibc : Ok arc-linux-gcc (ARCompact ISA Linux uClibc toolchain 2017.09-rc2) 7.1.1 20170710
28 fedora:25 : Ok gcc (GCC) 6.4.1 20170727 (Red Hat 6.4.1-1)
29 fedora:26 : Ok gcc (GCC) 7.3.1 20180130 (Red Hat 7.3.1-2)
30 fedora:27 : Ok gcc (GCC) 7.3.1 20180712 (Red Hat 7.3.1-6)
31 fedora:28 : Ok gcc (GCC) 8.2.1 20181105 (Red Hat 8.2.1-5)
32 fedora:29 : Ok gcc (GCC) 8.2.1 20181105 (Red Hat 8.2.1-5)
33 fedora:rawhide : Ok gcc (GCC) 8.2.1 20181105 (Red Hat 8.2.1-5)
34 gentoo-stage3-amd64:latest : Ok gcc (Gentoo 7.3.0-r3 p1.4) 7.3.0
35 mageia:5 : Ok gcc (GCC) 4.9.2
36 mageia:6 : Ok gcc (Mageia 5.5.0-1.mga6) 5.5.0
37 opensuse:13.2 : Ok gcc (SUSE Linux) 4.8.3 20140627 [gcc-4_8-branch revision 212064]
38 opensuse:15.0 : Ok gcc (SUSE Linux) 7.3.1 20180323 [gcc-7-branch revision 258812]
39 opensuse:42.1 : Ok gcc (SUSE Linux) 4.8.5
40 opensuse:42.2 : Ok gcc (SUSE Linux) 4.8.5
41 opensuse:42.3 : Ok gcc (SUSE Linux) 4.8.5
42 opensuse:tumbleweed : Ok gcc (SUSE Linux) 8.2.1 20181108 [gcc-8-branch revision 265914]
43 oraclelinux:6 : Ok gcc (GCC) 4.4.7 20120313 (Red Hat 4.4.7-23.0.1)
44 oraclelinux:7 : Ok gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-36.0.1)
45 ubuntu:12.04.5 : Ok gcc (Ubuntu/Linaro 4.6.3-1ubuntu5) 4.6.3
46 ubuntu:14.04.4 : Ok gcc (Ubuntu 4.8.4-2ubuntu1~14.04.4) 4.8.4
47 ubuntu:14.04.4-x-linaro-arm64 : Ok aarch64-linux-gnu-gcc (Linaro GCC 5.5-2017.10) 5.5.0
48 ubuntu:16.04 : Ok gcc (Ubuntu 5.4.0-6ubuntu1~16.04.10) 5.4.0 20160609
49 ubuntu:16.04-x-arm : Ok arm-linux-gnueabihf-gcc (Ubuntu/Linaro 5.4.0-6ubuntu1~16.04.9) 5.4.0 20160609
50 ubuntu:16.04-x-arm64 : Ok aarch64-linux-gnu-gcc (Ubuntu/Linaro 5.4.0-6ubuntu1~16.04.9) 5.4.0 20160609
51 ubuntu:16.04-x-powerpc : Ok powerpc-linux-gnu-gcc (Ubuntu 5.4.0-6ubuntu1~16.04.9) 5.4.0 20160609
52 ubuntu:16.04-x-powerpc64 : Ok powerpc64-linux-gnu-gcc (Ubuntu/IBM 5.4.0-6ubuntu1~16.04.9) 5.4.0 20160609
53 ubuntu:16.04-x-powerpc64el : Ok powerpc64le-linux-gnu-gcc (Ubuntu/IBM 5.4.0-6ubuntu1~16.04.9) 5.4.0 20160609
54 ubuntu:16.04-x-s390 : Ok s390x-linux-gnu-gcc (Ubuntu 5.4.0-6ubuntu1~16.04.9) 5.4.0 20160609
55 ubuntu:17.10 : Ok gcc (Ubuntu 7.2.0-8ubuntu3.2) 7.2.0
56 ubuntu:18.04 : Ok gcc (Ubuntu 7.3.0-27ubuntu1~18.04) 7.3.0
57 ubuntu:18.04-x-arm : Ok arm-linux-gnueabihf-gcc (Ubuntu/Linaro 7.3.0-27ubuntu1~18.04) 7.3.0
58 ubuntu:18.04-x-arm64 : Ok aarch64-linux-gnu-gcc (Ubuntu/Linaro 7.3.0-27ubuntu1~18.04) 7.3.0
59 ubuntu:18.04-x-m68k : Ok m68k-linux-gnu-gcc (Ubuntu 7.3.0-27ubuntu1~18.04) 7.3.0
60 ubuntu:18.04-x-powerpc : Ok powerpc-linux-gnu-gcc (Ubuntu 7.3.0-27ubuntu1~18.04) 7.3.0
61 ubuntu:18.04-x-powerpc64 : Ok powerpc64-linux-gnu-gcc (Ubuntu 7.3.0-27ubuntu1~18.04) 7.3.0
62 ubuntu:18.04-x-powerpc64el : Ok powerpc64le-linux-gnu-gcc (Ubuntu 7.3.0-27ubuntu1~18.04) 7.3.0
63 ubuntu:18.04-x-riscv64 : Ok riscv64-linux-gnu-gcc (Ubuntu 7.3.0-27ubuntu1~18.04) 7.3.0
64 ubuntu:18.04-x-s390 : Ok s390x-linux-gnu-gcc (Ubuntu 7.3.0-27ubuntu1~18.04) 7.3.0
65 ubuntu:18.04-x-sh4 : Ok sh4-linux-gnu-gcc (Ubuntu 7.3.0-27ubuntu1~18.04) 7.3.0
66 ubuntu:18.04-x-sparc64 : Ok sparc64-linux-gnu-gcc (Ubuntu 7.3.0-27ubuntu1~18.04) 7.3.0
67 ubuntu:18.10 : Ok gcc (Ubuntu 8.2.0-7ubuntu1) 8.2.0
68 ubuntu:19.04 : Ok gcc (Ubuntu 8.2.0-12ubuntu1) 8.2.0
69 ubuntu:19.04-x-alpha : Ok alpha-linux-gnu-gcc (Ubuntu 8.2.0-11ubuntu1) 8.2.0
70 ubuntu:19.04-x-hppa : Ok hppa-linux-gnu-gcc (Ubuntu 8.2.0-11ubuntu1) 8.2.0
# uname -a
Linux quaco 4.19.13-300.fc29.x86_64 #1 SMP Sat Dec 29 22:54:28 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
# git log --oneline -1
03fa483821c0 perf test shell: Use a fallback to get the pathname in vfs_getname
# perf version --build-options
perf version 4.20.g03fa48
dwarf: [ on ] # HAVE_DWARF_SUPPORT
dwarf_getlocations: [ on ] # HAVE_DWARF_GETLOCATIONS_SUPPORT
glibc: [ on ] # HAVE_GLIBC_SUPPORT
gtk2: [ on ] # HAVE_GTK2_SUPPORT
syscall_table: [ on ] # HAVE_SYSCALL_TABLE_SUPPORT
libbfd: [ on ] # HAVE_LIBBFD_SUPPORT
libelf: [ on ] # HAVE_LIBELF_SUPPORT
libnuma: [ on ] # HAVE_LIBNUMA_SUPPORT
numa_num_possible_cpus: [ on ] # HAVE_LIBNUMA_SUPPORT
libperl: [ on ] # HAVE_LIBPERL_SUPPORT
libpython: [ on ] # HAVE_LIBPYTHON_SUPPORT
libslang: [ on ] # HAVE_SLANG_SUPPORT
libcrypto: [ on ] # HAVE_LIBCRYPTO_SUPPORT
libunwind: [ on ] # HAVE_LIBUNWIND_SUPPORT
libdw-dwarf-unwind: [ on ] # HAVE_DWARF_SUPPORT
zlib: [ on ] # HAVE_ZLIB_SUPPORT
lzma: [ on ] # HAVE_LZMA_SUPPORT
get_cpuid: [ on ] # HAVE_AUXTRACE_SUPPORT
bpf: [ on ] # HAVE_LIBBPF_SUPPORT
# perf test
1: vmlinux symtab matches kallsyms : Ok
2: Detect openat syscall event : Ok
3: Detect openat syscall event on all cpus : Ok
4: Read samples using the mmap interface : Ok
5: Test data source output : Ok
6: Parse event definition strings : Ok
7: Simple expression parser : Ok
8: PERF_RECORD_* events & perf_sample fields : Ok
9: Parse perf pmu format : Ok
10: DSO data read : Ok
11: DSO data cache : Ok
12: DSO data reopen : Ok
13: Roundtrip evsel->name : Ok
14: Parse sched tracepoints fields : Ok
15: syscalls:sys_enter_openat event fields : Ok
16: Setup struct perf_event_attr : Ok
17: Match and link multiple hists : Ok
18: 'import perf' in python : Ok
19: Breakpoint overflow signal handler : Ok
20: Breakpoint overflow sampling : Ok
21: Breakpoint accounting : Ok
22: Watchpoint :
22.1: Read Only Watchpoint : Skip
22.2: Write Only Watchpoint : Ok
22.3: Read / Write Watchpoint : Ok
22.4: Modify Watchpoint : Ok
23: Number of exit events of a simple workload : Ok
24: Software clock events period values : Ok
25: Object code reading : Ok
26: Sample parsing : Ok
27: Use a dummy software event to keep tracking : Ok
28: Parse with no sample_id_all bit set : Ok
29: Filter hist entries : Ok
30: Lookup mmap thread : Ok
31: Share thread mg : Ok
32: Sort output of hist entries : Ok
33: Cumulate child hist entries : Ok
34: Track with sched_switch : Ok
35: Filter fds with revents mask in a fdarray : Ok
36: Add fd to a fdarray, making it autogrow : Ok
37: kmod_path__parse : Ok
38: Thread map : Ok
39: LLVM search and compile :
39.1: Basic BPF llvm compile : Ok
39.2: kbuild searching : Ok
39.3: Compile source for BPF prologue generation : Ok
39.4: Compile source for BPF relocation : Ok
40: Session topology : Ok
41: BPF filter :
41.1: Basic BPF filtering : Ok
41.2: BPF pinning : Ok
41.3: BPF prologue generation : Ok
41.4: BPF relocation checker : Ok
42: Synthesize thread map : Ok
43: Remove thread map : Ok
44: Synthesize cpu map : Ok
45: Synthesize stat config : Ok
46: Synthesize stat : Ok
47: Synthesize stat round : Ok
48: Synthesize attr update : Ok
49: Event times : Ok
50: Read backward ring buffer : Ok
51: Print cpu map : Ok
52: Probe SDT events : Ok
53: is_printable_array : Ok
54: Print bitmap : Ok
55: perf hooks : Ok
56: builtin clang support : Skip (not compiled in)
57: unit_number__scnprintf : Ok
58: mem2node : Ok
59: x86 rdpmc : Ok
60: Convert perf time to TSC : Ok
61: DWARF unwind : Ok
62: x86 instruction decoder - new instructions : Ok
63: x86 bp modify : Ok
64: probe libc's inet_pton & backtrace it with ping : Ok
65: Use vfs_getname probe to get syscall args filenames : Ok
66: Add vfs_getname probe to get syscall args filenames : Ok
67: Check open filename arg using perf trace + vfs_getname: Ok
$ make -C tools/perf build-test
make: Entering directory '/home/acme/git/perf/tools/perf'
- tarpkg: ./tests/perf-targz-src-pkg .
make_no_demangle_O: make NO_DEMANGLE=1
make_no_libperl_O: make NO_LIBPERL=1
make_no_newt_O: make NO_NEWT=1
make_no_gtk2_O: make NO_GTK2=1
make_no_libbpf_O: make NO_LIBBPF=1
make_static_O: make LDFLAGS=-static
make_no_ui_O: make NO_NEWT=1 NO_SLANG=1 NO_GTK2=1
make_cscope_O: make cscope
make_no_libaudit_O: make NO_LIBAUDIT=1
make_help_O: make help
make_no_auxtrace_O: make NO_AUXTRACE=1
make_no_libnuma_O: make NO_LIBNUMA=1
make_perf_o_O: make perf.o
make_no_libelf_O: make NO_LIBELF=1
make_install_prefix_O: make install prefix=/tmp/krava
make_tags_O: make tags
make_no_backtrace_O: make NO_BACKTRACE=1
make_pure_O: make
make_no_libunwind_O: make NO_LIBUNWIND=1
make_no_slang_O: make NO_SLANG=1
make_install_O: make install
make_clean_all_O: make clean all
make_install_bin_O: make install-bin
make_no_libpython_O: make NO_LIBPYTHON=1
make_debug_O: make DEBUG=1
make_doc_O: make doc
make_minimal_O: make NO_LIBPERL=1 NO_LIBPYTHON=1 NO_NEWT=1 NO_GTK2=1 NO_DEMANGLE=1 NO_LIBELF=1 NO_LIBUNWIND=1 NO_BACKTRACE=1 NO_LIBNUMA=1 NO_LIBAUDIT=1 NO_LIBBIONIC=1 NO_LIBDW_DWARF_UNWIND=1 NO_AUXTRACE=1 NO_LIBBPF=1 NO_LIBCRYPTO=1 NO_SDT=1 NO_JVMTI=1
make_with_clangllvm_O: make LIBCLANGLLVM=1
make_util_pmu_bison_o_O: make util/pmu-bison.o
make_no_libbionic_O: make NO_LIBBIONIC=1
make_no_scripts_O: make NO_LIBPYTHON=1 NO_LIBPERL=1
make_util_map_o_O: make util/map.o
make_with_babeltrace_O: make LIBBABELTRACE=1
make_install_prefix_slash_O: make install prefix=/tmp/krava/
make_no_libdw_dwarf_unwind_O: make NO_LIBDW_DWARF_UNWIND=1
OK
make: Leaving directory '/home/acme/git/perf/tools/perf'
$
^ permalink raw reply [flat|nested] 57+ messages in thread
* Re: [GIT PULL 00/16] perf/core improvements and fixes
2019-01-04 18:33 Arnaldo Carvalho de Melo
@ 2019-01-08 15:32 ` Ingo Molnar
0 siblings, 0 replies; 57+ messages in thread
From: Ingo Molnar @ 2019-01-08 15:32 UTC (permalink / raw)
To: Arnaldo Carvalho de Melo
Cc: Clark Williams, linux-kernel, linux-perf-users,
Arnaldo Carvalho de Melo, Ivan Krylov, Jin Yao, Mattias Jacobsson
* Arnaldo Carvalho de Melo <acme@kernel.org> wrote:
> Hi Ingo,
>
> Please consider pulling,
>
> Best regards,
>
> - Arnaldo
>
> Test results at the end of this message, as usual.
>
> The following changes since commit 2573be22e5b6f24a0cabc97715c808c47e29eaaf:
>
> Merge tag 'perf-core-for-mingo-4.21-20190103' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/urgent (2019-01-03 14:05:16 +0100)
>
> are available in the Git repository at:
>
> git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux.git tags/perf-core-for-mingo-4.21-20190104
>
> for you to fetch changes up to 03fa483821c0b4db7c2b1453d3332f397d82313f:
>
> perf test shell: Use a fallback to get the pathname in vfs_getname (2019-01-04 15:12:29 -0300)
>
> ----------------------------------------------------------------
> perf/core improvements and fixes:
>
> perf annotate:
>
> Ivan Krylov:
>
> - Pass filename to objdump via execl, fixing usage with filenames
> with special characters.
>
> perf report:
>
> Jin Yao:
>
> Fix wrong iteration count in --branch-history
>
> perf stat:
>
> Jin Yao:
>
> - Fix endless wait for child process
>
> perf test:
>
> Arnaldo Carvalho de Melo:
>
> - Use a fallback to get the pathname in vfs_getname in
>
> tools build:
>
> Jiri Olsa:
>
> - Allow overriding CFLAGS assignments.
>
> Misc:
>
> Arnaldo Carvalho de Melo:
>
> - Syncronize UAPI headers
>
> Mattias Jacobsson:
>
> - Remove redundant va_end() in strbuf_addv()
>
> Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
>
> ----------------------------------------------------------------
> Arnaldo Carvalho de Melo (10):
> tools headers x86: Sync disabled-features.h
> tools headers uapi: Sync prctl.h with the kernel sources
> tools beauty: Make the prctl option table generator catch all PR_ options
> tools headers uapi: Update i915_drm.h
> tools headers uapi: Sync linux/in.h copy from the kernel sources
> tools headers uapi: Sync linux/kvm.h with the kernel sources
> tools headers uapi: Sync copy of asm-generic/unistd.h with the kernel sources
> tools headers x86: Sync asm/cpufeatures.h copy with the kernel sources
> perf python: Make sure the python binding output directory is in place
> perf test shell: Use a fallback to get the pathname in vfs_getname
>
> Ivan Krylov (1):
> perf annotate: Pass filename to objdump via execl
>
> Jin Yao (2):
> perf stat: Fix endless wait for child process
> perf report: Fix wrong iteration count in --branch-history
>
> Jiri Olsa (2):
> tools thermal tmon: Use -O3 instead of -O1 if available
> tools iio: Override CFLAGS assignments
>
> Mattias Jacobsson (1):
> perf strbuf: Remove redundant va_end() in strbuf_addv()
>
> tools/arch/x86/include/asm/cpufeatures.h | 2 ++
> tools/arch/x86/include/asm/disabled-features.h | 8 ++++++-
> tools/iio/Makefile | 2 +-
> tools/include/uapi/asm-generic/unistd.h | 4 +++-
> tools/include/uapi/drm/i915_drm.h | 8 +++++++
> tools/include/uapi/linux/in.h | 10 +++++---
> tools/include/uapi/linux/kvm.h | 19 +++++++++++++++
> tools/include/uapi/linux/prctl.h | 8 +++++++
> tools/perf/Makefile.perf | 4 +++-
> tools/perf/builtin-stat.c | 3 ++-
> tools/perf/tests/shell/lib/probe_vfs_getname.sh | 3 ++-
> tools/perf/trace/beauty/prctl_option.sh | 2 +-
> tools/perf/util/annotate.c | 8 +++----
> tools/perf/util/callchain.c | 32 +++++++++++++++----------
> tools/perf/util/callchain.h | 1 +
> tools/perf/util/machine.c | 2 +-
> tools/perf/util/strbuf.c | 1 -
> tools/thermal/tmon/Makefile | 2 +-
> 18 files changed, 90 insertions(+), 29 deletions(-)
Pulled, thanks a lot Arnaldo!
Ingo
^ permalink raw reply [flat|nested] 57+ messages in thread
end of thread, other threads:[~2019-01-08 15:32 UTC | newest]
Thread overview: 57+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-11-19 16:03 [GIT PULL 00/16] perf/core improvements and fixes Arnaldo Carvalho de Melo
2014-11-19 16:03 ` [PATCH 01/16] perf build-id: Move disable_buildid_cache() to util/build-id.c Arnaldo Carvalho de Melo
2014-11-19 16:03 ` [PATCH 02/16] perf tools: Clean up libelf feature support code Arnaldo Carvalho de Melo
2014-11-19 16:03 ` [PATCH 03/16] perf symbols: Fallback to kallsyms when using the minimal 'ELF' loader Arnaldo Carvalho de Melo
2014-11-19 16:03 ` [PATCH 04/16] perf test: fix typo in python test Arnaldo Carvalho de Melo
2014-11-19 16:03 ` [PATCH 05/16] perf tools: Fix annotation with kcore Arnaldo Carvalho de Melo
2014-11-19 16:03 ` [PATCH 06/16] perf callchain: Factor out adding new call chain entries Arnaldo Carvalho de Melo
2014-11-19 16:03 ` [PATCH 07/16] perf callchain: Use al.addr to set up call chain Arnaldo Carvalho de Melo
2014-11-19 16:03 ` [PATCH 08/16] perf callchain: Use a common function to resolve symbol or name Arnaldo Carvalho de Melo
2014-11-19 16:03 ` [PATCH 09/16] perf tools: Only print base source file for srcline Arnaldo Carvalho de Melo
2014-11-19 16:03 ` [PATCH 10/16] perf annotate: Support source line numbers in annotate Arnaldo Carvalho de Melo
2014-11-19 16:03 ` [PATCH 11/16] perf hists: Fix up srcline histogram key formatting Arnaldo Carvalho de Melo
2014-11-19 16:16 ` Andi Kleen
2014-11-19 16:03 ` [PATCH 12/16] perf diff: Add missing handler for PERF_RECORD_MMAP2 events Arnaldo Carvalho de Melo
2014-11-19 16:03 ` [PATCH 13/16] perf evsel: Fix ftrace:function event recording Arnaldo Carvalho de Melo
2014-11-19 16:03 ` [PATCH 14/16] perf evlist: Do not poll events that use the system_wide flag Arnaldo Carvalho de Melo
2014-11-19 16:03 ` [PATCH 15/16] perf tools: Add perf-read-vdso32 and perf-read-vdsox32 to .gitignore Arnaldo Carvalho de Melo
2014-11-19 16:03 ` [PATCH 16/16] perf tools: Only override the default :tid comm entry Arnaldo Carvalho de Melo
2014-11-20 7:33 ` [GIT PULL 00/16] perf/core improvements and fixes Ingo Molnar
-- strict thread matches above, loose matches on Subject: below --
2019-01-04 18:33 Arnaldo Carvalho de Melo
2019-01-08 15:32 ` Ingo Molnar
2016-07-05 0:38 Arnaldo Carvalho de Melo
2016-07-05 10:14 ` Ingo Molnar
2016-01-29 21:17 Arnaldo Carvalho de Melo
2016-02-03 10:02 ` Ingo Molnar
2015-12-14 17:44 Arnaldo Carvalho de Melo
2015-10-05 21:03 Arnaldo Carvalho de Melo
2015-10-06 7:09 ` Ingo Molnar
2015-09-30 21:54 Arnaldo Carvalho de Melo
2015-10-01 7:05 ` Ingo Molnar
2015-08-25 16:14 Arnaldo Carvalho de Melo
2015-08-26 13:39 ` Arnaldo Carvalho de Melo
2015-04-07 16:40 Arnaldo Carvalho de Melo
2014-08-22 16:29 Arnaldo Carvalho de Melo
2014-08-24 10:11 ` Ingo Molnar
2014-08-24 11:16 ` Arnaldo Carvalho de Melo
2014-08-24 14:47 ` Ingo Molnar
2014-03-14 21:29 Arnaldo Carvalho de Melo
2014-03-18 8:24 ` Ingo Molnar
2013-11-18 20:27 Arnaldo Carvalho de Melo
2013-10-23 20:57 Arnaldo Carvalho de Melo
2013-10-24 6:52 ` Ingo Molnar
2012-02-14 1:52 Arnaldo Carvalho de Melo
2012-02-14 2:50 ` Namhyung Kim
2012-02-14 3:07 ` Namhyung Kim
2012-02-14 5:10 ` Namhyung Kim
2012-02-14 5:23 ` David Ahern
2012-02-14 5:48 ` Namhyung Kim
2012-02-14 5:52 ` David Ahern
2012-02-14 5:58 ` Namhyung Kim
2012-02-14 10:50 ` Joerg Roedel
2012-02-14 13:10 ` Arnaldo Carvalho de Melo
2012-02-14 14:38 ` Arnaldo Carvalho de Melo
2012-02-14 15:10 ` Joerg Roedel
2012-02-14 16:11 ` Arnaldo Carvalho de Melo
2011-09-29 22:47 Arnaldo Carvalho de Melo
2011-10-04 7:57 ` Ingo Molnar
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).