Re: [GIT PULL 00/35] perf/core improvements and fixes
* Arnaldo Carvalho de Melo wrote: > Hi Ingo, > > Please consider pulling, > > - Arnaldo > > Test results at the end of this message, as usual. > > The following changes since commit c978b9460fe1d4a1e1effa0abd6bd69b18a098a8: > > Merge tag 'perf-core-for-mingo-5.1-20190225' of > git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/core > (2019-02-28 08:29:50 +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-5.1-20190307 > > for you to fetch changes up to b8f7d86b5849ea7bb84bddc0345a3799049764d4: > > perf data: Force perf_data__open|close zero data->file.path (2019-03-06 > 18:21:00 -0300) > > > perf bpf: > > Arnaldo Carvalho de Melo: > > - Automatically add BTF ELF markers to 'perf trace' BPF programs, so that > tools such as 'bpftool map dump' can pretty print map keys and values. > > perf c2c: > > Jiri Olsa: > > - Fix report for empty NUMA node. > > perf diff: > > Jin Yao: > > - Support --time, --cpu, --pid and --tid filter options. > > perf probe: > > Arnaldo Carvalho de Melo: > > - Clarify error message about not finding kernel modules debuginfo. > > perf record: > > Jiri Olsa: > > - Fixup probing for max attr.precise_ip. > > perf trace: > > Arnaldo Carvalho de Melo: > > - Add missing %s lost in the 'msg_flags' recvmmsg arg when adding prefix > suppression logic. > > perf annotate: > > Arnaldo Carvalho de Melo: > > - Calculate the max instruction name, align column to that, removing the > hardcoded max 6 chars and cope with instructions with names longer than > that, > such as vpmovmskb, vpcmpeqb, etc. > > kernel: > > Song Liu: > > - Consider events with attr.bpf_event set as side-band. > > Gustavo A. R. Silva: > > - Mark expected switch fall-through in perf_event_parse_addr_filter(). > > Libraries: > > Jiri Olsa: > > - Fix leaks and double frees on error paths. > > libtraceevent: > > Tony Jones: > > - Fix buffer overflow in arg_eval(). > > python scripting: > > Tony Jones: > > - More python3 fixes. > > Trivial: > > Yang Wei: > > - Remove needless extra semicolon in clang C++ glue code. > > Intel PT/BTS: > > Adrian Hunter: > > - Improve auxtrace address filter error message when there is no DSO. > > - Fix divide by zero when TSC is not available. > > - Further improvements to the export to sqlite/posgresql python scripts > and to the GUI sqlviewer, exporting 'parent_id' so that we have enable > the creation of call trees. > > Andi Kleen: > > - Generalize function to copy from thread addr space from intel-bts code. > > Signed-off-by: Arnaldo Carvalho de Melo > > > Adrian Hunter (10): > perf auxtrace: Improve address filter error message when there is no DSO > perf intel-pt: Fix divide by zero when TSC is not available > perf db-export: Add calls parent_id to enable creation of call trees > perf scripts python: export-to-sqlite.py: Export calls parent_id > perf scripts python: export-to-postgresql.py: Fix invalid input syntax > for integer error > perf scripts python: export-to-postgresql.py: Export calls parent_id > perf scripts python: exported-sql-viewer.py: Factor out TreeWindowBase > perf scripts python: exported-sql-viewer.py: Improve TreeModel > abstraction > perf scripts python: exported-sql-viewer.py: Factor out > CallGraphModelBase > perf scripts python: exported-sql-viewer.py: Add call tree > > Andi Kleen (1): > perf thread: Generalize function to copy from thread addr space from > intel-bts code > > Arnaldo Carvalho de Melo (4): > perf probe: Clarify error message about not finding kernel modules > debuginfo > perf beauty msg_flags: Add missing %s lost when adding prefix > suppression logic > perf bpf: Automatically add BTF ELF markers > perf annotate: Calculate the max instruction name, align column to that > > Gustavo A. R. Silva (1): > perf: Mark expected switch fall-through > > Jin Yao (4): > perf time-utils: Refactor time range parsing code > perf diff: Support --time filter option > perf diff: Support --cpu filter option > perf diff: Support --pid/--tid filter options > > Jiri Olsa (7): > perf c2c: Fix c2c report for empty numa node > perf hist: Add error path into hist_entry__init > perf hist: Fix memory leak of srcline > perf tools: Read and store caps/max_precise in perf_pmu > perf evsel: Probe for precise_ip with simple attr > perf session: Fix double free in perf_data__close > perf data: Force perf_data__open|close zero data->file.path > > Song Liu (1): > perf, bpf: Consider events with attr.bpf_event as side-band
Re: [GIT PULL 00/35] perf/core improvements and fixes
* Arnaldo Carvalho de Melo wrote: > From: Arnaldo Carvalho de Melo > > Hi Ingo, > > Please consider pulling, this is on top of > perf-core-for-mingo-4.19-20180809, that is not yet in tip. > > Thanks, > > - Arnaldo > > Test results at the end of this message, as usual. > > The following changes since commit 6a9405b56c274024564f9014bba97b92c91b34d6: > > perf map: Optimize maps__fixup_overlappings() (2018-08-08 15:56:00 -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-4.19-20180815 > > for you to fetch changes up to 6855dc41b24619c3d1de3dbd27dd0546b0e45272: > > x86: Add entry trampolines to kcore (2018-08-14 19:13:26 -0300) > > > perf/core improvements ad fixes: > > kernel: > > . kallsyms, x86: Export addresses of PTI entry trampolines (Alexander > Shishkin) > > . kallsyms: Simplify update_iter_mod() (Adrian Hunter) > > . x86: Add entry trampolines to kcore (Adrian Hunter) > > Hardware tracing: > > . Fix auxtrace queue resize (Adrian Hunter) > > Arch specific: > > . Fix uninitialized ARM SPE record error variable (Kim Phillips) > > . Fix trace event post-processing in powerpc (Sandipan Das) > > Build: > > . Fix check-headers.sh AND list path of execution (Alexander Kapshuk) > > . Remove -mcet and -fcf-protection when building the python binding > with older clang versions (Arnaldo Carvalho de Melo) > > . Make check-headers.sh check based on kernel dir (Jiri Olsa) > > . Move syscall_64.tbl check into check-headers.sh (Jiri Olsa) > > Infrastructure: > > . Check for null when copying nsinfo. (Benno Evers) > > Libraries: > > . Rename libtraceevent prefixes, prep work for making it a shared > library generaly available (Tzvetomir Stoyanov (VMware)) > > Signed-off-by: Arnaldo Carvalho de Melo > > > Adrian Hunter (3): > perf auxtrace: Fix queue resize > kallsyms: Simplify update_iter_mod() > x86: Add entry trampolines to kcore > > Alexander Kapshuk (1): > perf tools: Fix check-headers.sh AND list path of execution > > Alexander Shishkin (1): > kallsyms, x86: Export addresses of PTI entry trampolines > > Arnaldo Carvalho de Melo (1): > perf python: Remove -mcet and -fcf-protection when building with clang > > Benno Evers (1): > perf tools: Check for null when copying nsinfo. > > Jiri Olsa (2): > perf tools: Make check-headers.sh check based on kernel dir > perf tools: Move syscall_64.tbl check into check-headers.sh > > Kim Phillips (1): > perf arm spe: Fix uninitialized record error variable > > Sandipan Das (1): > perf probe powerpc: Fix trace event post-processing > > Tzvetomir Stoyanov (VMware) (24): > tools lib traceevent, perf tools: Rename struct pevent to struct > tep_handle > tools lib traceevent, perf tools: Rename 'struct pevent_record' to > 'struct tep_record' > tools lib traceevent, perf tools: Rename pevent plugin related APIs > tools lib traceevent, perf tools: Rename pevent alloc / free APIs > tools lib traceevent, perf tools: Rename pevent find APIs > tools lib traceevent, perf tools: Rename pevent parse APIs > tools lib traceevent, perf tools: Rename pevent print APIs > tools lib traceevent, perf tools: Rename pevent_read_number_* APIs > tools lib traceevent, perf tools: Rename pevent_register_* APIs > tools lib traceevent, perf tools: Rename pevent_set_* APIs > tools lib traceevent, perf tools: Rename traceevent_* APIs > tools lib traceevent, perf tools: Rename 'enum pevent_flag' to 'enum > tep_flag' > tools lib traceevent, tools lib lockdep: Rename 'enum pevent_errno' to > 'enum tep_errno' > tools lib traceevent: Rename pevent_function* APIs > tools lib traceevent, perf tools: Rename traceevent_plugin_* APIs > tools lib traceevent: Rename pevent_filter* APIs > tools lib traceevent: Rename pevent_register / unregister APIs > tools lib traceevent: Rename pevent_data_ APIs > tools lib traceevent: Rename pevent field APIs > tools lib traceevent: Rename pevent_find_* APIs > tools lib traceevent: Rename various pevent get/set/is APIs > tools lib traceevent: Rename internal parser related APIs > tools lib traceevent: Rename various pevent APIs > tools lib traceevent: Rename static variables and functions in > event-parse.c > > arch/x86/mm/cpu_entry_area.c | 33 + > fs/proc/kcore.c| 7 +- > include/linux/kcore.h | 13 + > kernel/kallsyms.c | 51 +- > tools/lib/lockdep/Makefile | 4 +- > tools/lib/traceevent/Makefile | 4 +- >
Re: [GIT PULL 00/35] perf/core improvements and fixes
* Arnaldo Carvalho de Melo wrote: > From: Arnaldo Carvalho de Melo > > Hi Ingo, > > Please consider pulling, this is on top of > perf-core-for-mingo-4.19-20180809, that is not yet in tip. > > Thanks, > > - Arnaldo > > Test results at the end of this message, as usual. > > The following changes since commit 6a9405b56c274024564f9014bba97b92c91b34d6: > > perf map: Optimize maps__fixup_overlappings() (2018-08-08 15:56:00 -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-4.19-20180815 > > for you to fetch changes up to 6855dc41b24619c3d1de3dbd27dd0546b0e45272: > > x86: Add entry trampolines to kcore (2018-08-14 19:13:26 -0300) > > > perf/core improvements ad fixes: > > kernel: > > . kallsyms, x86: Export addresses of PTI entry trampolines (Alexander > Shishkin) > > . kallsyms: Simplify update_iter_mod() (Adrian Hunter) > > . x86: Add entry trampolines to kcore (Adrian Hunter) > > Hardware tracing: > > . Fix auxtrace queue resize (Adrian Hunter) > > Arch specific: > > . Fix uninitialized ARM SPE record error variable (Kim Phillips) > > . Fix trace event post-processing in powerpc (Sandipan Das) > > Build: > > . Fix check-headers.sh AND list path of execution (Alexander Kapshuk) > > . Remove -mcet and -fcf-protection when building the python binding > with older clang versions (Arnaldo Carvalho de Melo) > > . Make check-headers.sh check based on kernel dir (Jiri Olsa) > > . Move syscall_64.tbl check into check-headers.sh (Jiri Olsa) > > Infrastructure: > > . Check for null when copying nsinfo. (Benno Evers) > > Libraries: > > . Rename libtraceevent prefixes, prep work for making it a shared > library generaly available (Tzvetomir Stoyanov (VMware)) > > Signed-off-by: Arnaldo Carvalho de Melo > > > Adrian Hunter (3): > perf auxtrace: Fix queue resize > kallsyms: Simplify update_iter_mod() > x86: Add entry trampolines to kcore > > Alexander Kapshuk (1): > perf tools: Fix check-headers.sh AND list path of execution > > Alexander Shishkin (1): > kallsyms, x86: Export addresses of PTI entry trampolines > > Arnaldo Carvalho de Melo (1): > perf python: Remove -mcet and -fcf-protection when building with clang > > Benno Evers (1): > perf tools: Check for null when copying nsinfo. > > Jiri Olsa (2): > perf tools: Make check-headers.sh check based on kernel dir > perf tools: Move syscall_64.tbl check into check-headers.sh > > Kim Phillips (1): > perf arm spe: Fix uninitialized record error variable > > Sandipan Das (1): > perf probe powerpc: Fix trace event post-processing > > Tzvetomir Stoyanov (VMware) (24): > tools lib traceevent, perf tools: Rename struct pevent to struct > tep_handle > tools lib traceevent, perf tools: Rename 'struct pevent_record' to > 'struct tep_record' > tools lib traceevent, perf tools: Rename pevent plugin related APIs > tools lib traceevent, perf tools: Rename pevent alloc / free APIs > tools lib traceevent, perf tools: Rename pevent find APIs > tools lib traceevent, perf tools: Rename pevent parse APIs > tools lib traceevent, perf tools: Rename pevent print APIs > tools lib traceevent, perf tools: Rename pevent_read_number_* APIs > tools lib traceevent, perf tools: Rename pevent_register_* APIs > tools lib traceevent, perf tools: Rename pevent_set_* APIs > tools lib traceevent, perf tools: Rename traceevent_* APIs > tools lib traceevent, perf tools: Rename 'enum pevent_flag' to 'enum > tep_flag' > tools lib traceevent, tools lib lockdep: Rename 'enum pevent_errno' to > 'enum tep_errno' > tools lib traceevent: Rename pevent_function* APIs > tools lib traceevent, perf tools: Rename traceevent_plugin_* APIs > tools lib traceevent: Rename pevent_filter* APIs > tools lib traceevent: Rename pevent_register / unregister APIs > tools lib traceevent: Rename pevent_data_ APIs > tools lib traceevent: Rename pevent field APIs > tools lib traceevent: Rename pevent_find_* APIs > tools lib traceevent: Rename various pevent get/set/is APIs > tools lib traceevent: Rename internal parser related APIs > tools lib traceevent: Rename various pevent APIs > tools lib traceevent: Rename static variables and functions in > event-parse.c > > arch/x86/mm/cpu_entry_area.c | 33 + > fs/proc/kcore.c| 7 +- > include/linux/kcore.h | 13 + > kernel/kallsyms.c | 51 +- > tools/lib/lockdep/Makefile | 4 +- > tools/lib/traceevent/Makefile | 4 +- >
Re: [GIT PULL 00/35] perf/core improvements and fixes
> On Aug 15, 2018, at 8:05 AM, Arnaldo Carvalho de Melo wrote: > > From: Arnaldo Carvalho de Melo > > Hi Ingo, > >Please consider pulling, this is on top of > perf-core-for-mingo-4.19-20180809, that is not yet in tip. > > Thanks, > > - Arnaldo > > Test results at the end of this message, as usual. > > The following changes since commit 6a9405b56c274024564f9014bba97b92c91b34d6: > > perf map: Optimize maps__fixup_overlappings() (2018-08-08 15:56:00 -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-4.19-20180815 > > for you to fetch changes up to 6855dc41b24619c3d1de3dbd27dd0546b0e45272: > > x86: Add entry trampolines to kcore I don’t object per se, but once I finish rebasing and testing my entry trampoline removal code, this will probably have to go.
Re: [GIT PULL 00/35] perf/core improvements and fixes
> On Aug 15, 2018, at 8:05 AM, Arnaldo Carvalho de Melo wrote: > > From: Arnaldo Carvalho de Melo > > Hi Ingo, > >Please consider pulling, this is on top of > perf-core-for-mingo-4.19-20180809, that is not yet in tip. > > Thanks, > > - Arnaldo > > Test results at the end of this message, as usual. > > The following changes since commit 6a9405b56c274024564f9014bba97b92c91b34d6: > > perf map: Optimize maps__fixup_overlappings() (2018-08-08 15:56:00 -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-4.19-20180815 > > for you to fetch changes up to 6855dc41b24619c3d1de3dbd27dd0546b0e45272: > > x86: Add entry trampolines to kcore I don’t object per se, but once I finish rebasing and testing my entry trampoline removal code, this will probably have to go.
Re: [GIT PULL 00/35] perf/core improvements and fixes
* Arnaldo Carvalho de Melowrote: > Hi Ingo, > > Please consider pulling, > > - Arnaldo > > > Test results at the end of this message, as usual. > > The following changes since commit faaf95677f33dac910b6cbe917cabea43c8c1616: > > Merge branch 'perf/urgent' into perf/core, to pick up fixes (2017-12-18 > 18:13:00 +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.16-20171227 > > for you to fetch changes up to 5d4fd9c8b83b36d34521b3af361a5726899045bf: > > perf tools: Auto-complete for events with ':' (2017-12-27 12:16:00 -0300) > > > perf/core improvements and fixes: > > - Allow system wide 'perf stat --per-thread', sorting the result (Jin Yao) > > E.g.: > > [root@jouet ~]# perf stat --per-thread --metrics IPC > ^C >Performance counter stats for 'system wide': > > make-9 23,012,094,032 inst_retired.any # 0.8 IPC >cc1-22419 692,027,497 inst_retired.any # 0.8 IPC >gcc-22418 328,231,855 inst_retired.any # 0.9 IPC >cc1-22509 220,853,647 inst_retired.any # 0.8 IPC >gcc-22486 199,874,810 inst_retired.any # 1.0 IPC > as-22466 177,896,365 inst_retired.any # 0.9 IPC >cc1-22465 150,732,374 inst_retired.any # 0.8 IPC >gcc-22508 112,555,593 inst_retired.any # 0.9 IPC >cc1-22487 108,964,079 inst_retired.any # 0.7 IPC >qemu-system-x86-2697 21,330,550 inst_retired.any # 0.3 IPC >systemd-journal-55120,642,951 inst_retired.any # 0.4 IPC >docker-containe-17651 9,552,892 inst_retired.any # 0.5 IPC >dockerd-current-98097,528,586 inst_retired.any # 0.5 IPC > make-22153 12,504,194,380 inst_retired.any # 0.8 IPC >python2-22429 12,081,290,954 inst_retired.any # 0.8 IPC > >python2-22429 15,026,328,103 cpu_clk_unhalted.thread >cc1-22419 826,660,193 cpu_clk_unhalted.thread >gcc-22418 365,321,295 cpu_clk_unhalted.thread >cc1-22509 279,169,362 cpu_clk_unhalted.thread >gcc-22486 210,156,950 cpu_clk_unhalted.thread > > >5.638075538 seconds time elapsed > > [root@jouet ~]# > > - Improve shell auto-completion of perf events (Jin Yao) > > - Fix symbol fixup issues in arm64 due to ELF type (Kim Phillips) > > - Ignore threads when they vanish after procfs based enumeration and > before we try to use them with sys_perf_event_open(), i.e. just remove > them from the thread_map and continue with the rest. This makes, among > other cases, the previous new feature (perf stat --per-thread for system > wide, albeit that not seeming to be the motivation for this patch) more > robust. (Mengting Zhang) > > - Generate s390 syscall table from asm/unistd.h, doing like x86, > removing the dependency on audit-libs to do this id->string translation, > speeding up the support for newly introducted syscalls (Hendrik Brueckner) > > - Fix 'perf test' on filesystems where readdir() returns d_type == DT_UNKNOWN, > such as XFS (Jiri Olsa) > > - Fix PERF_SAMPLE_RAW_DATA endianity handling for cross-arch tracepoint > processing (Jiri Olsa) > > - Add __return suffix for return events in 'perf probe', streamlining > entry/exit tracing (Masami Hiramatsu) > > - Improve support for versioned symbols in 'perf probe" (Masami Hiramatsu) > > - Clarify error message about invalid 'perf probe' event names (Masami > Hiramatsu) > > - Fix check open filename arg using 'perf trace' in a 'perf test' entry for > systems using glibc >= 2.26, such as some ARM and s390 distros (Michael > Petlan) > > - Make method for obtaining the (normalized) architecture id for a > perf.data file or for the running system used by the annotation routines > generally available, next user will be for generating per arch errno > string tables to allow for pretty printing errno codes recorded in a > perf.data file in architecture A to be properly decoded on hardware > archictecture B. (Arnaldo Carvalho de Melo) > > - Remove duplicate includes, found using scripts/checkincludes.pl (Pravin > Shedge) > > - s390 needs -fPIC, enable it, also revert a patch that supposedly did > that but instead enabled -fPIC for x86 (Hendrik Brueckner, Arnaldo Carvalho > de Melo) > > Signed-off-by: Arnaldo Carvalho de Melo > > > Arnaldo Carvalho de Melo (4): > perf annotate: Get the cpuid from evsel->evlist->env in > symbol__annotate() > perf annotate: Use perf_env when obtaining the arch name > perf env: Adopt perf_env__arch() from the
Re: [GIT PULL 00/35] perf/core improvements and fixes
* Arnaldo Carvalho de Melo wrote: > Hi Ingo, > > Please consider pulling, > > - Arnaldo > > > Test results at the end of this message, as usual. > > The following changes since commit faaf95677f33dac910b6cbe917cabea43c8c1616: > > Merge branch 'perf/urgent' into perf/core, to pick up fixes (2017-12-18 > 18:13:00 +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.16-20171227 > > for you to fetch changes up to 5d4fd9c8b83b36d34521b3af361a5726899045bf: > > perf tools: Auto-complete for events with ':' (2017-12-27 12:16:00 -0300) > > > perf/core improvements and fixes: > > - Allow system wide 'perf stat --per-thread', sorting the result (Jin Yao) > > E.g.: > > [root@jouet ~]# perf stat --per-thread --metrics IPC > ^C >Performance counter stats for 'system wide': > > make-9 23,012,094,032 inst_retired.any # 0.8 IPC >cc1-22419 692,027,497 inst_retired.any # 0.8 IPC >gcc-22418 328,231,855 inst_retired.any # 0.9 IPC >cc1-22509 220,853,647 inst_retired.any # 0.8 IPC >gcc-22486 199,874,810 inst_retired.any # 1.0 IPC > as-22466 177,896,365 inst_retired.any # 0.9 IPC >cc1-22465 150,732,374 inst_retired.any # 0.8 IPC >gcc-22508 112,555,593 inst_retired.any # 0.9 IPC >cc1-22487 108,964,079 inst_retired.any # 0.7 IPC >qemu-system-x86-2697 21,330,550 inst_retired.any # 0.3 IPC >systemd-journal-55120,642,951 inst_retired.any # 0.4 IPC >docker-containe-17651 9,552,892 inst_retired.any # 0.5 IPC >dockerd-current-98097,528,586 inst_retired.any # 0.5 IPC > make-22153 12,504,194,380 inst_retired.any # 0.8 IPC >python2-22429 12,081,290,954 inst_retired.any # 0.8 IPC > >python2-22429 15,026,328,103 cpu_clk_unhalted.thread >cc1-22419 826,660,193 cpu_clk_unhalted.thread >gcc-22418 365,321,295 cpu_clk_unhalted.thread >cc1-22509 279,169,362 cpu_clk_unhalted.thread >gcc-22486 210,156,950 cpu_clk_unhalted.thread > > >5.638075538 seconds time elapsed > > [root@jouet ~]# > > - Improve shell auto-completion of perf events (Jin Yao) > > - Fix symbol fixup issues in arm64 due to ELF type (Kim Phillips) > > - Ignore threads when they vanish after procfs based enumeration and > before we try to use them with sys_perf_event_open(), i.e. just remove > them from the thread_map and continue with the rest. This makes, among > other cases, the previous new feature (perf stat --per-thread for system > wide, albeit that not seeming to be the motivation for this patch) more > robust. (Mengting Zhang) > > - Generate s390 syscall table from asm/unistd.h, doing like x86, > removing the dependency on audit-libs to do this id->string translation, > speeding up the support for newly introducted syscalls (Hendrik Brueckner) > > - Fix 'perf test' on filesystems where readdir() returns d_type == DT_UNKNOWN, > such as XFS (Jiri Olsa) > > - Fix PERF_SAMPLE_RAW_DATA endianity handling for cross-arch tracepoint > processing (Jiri Olsa) > > - Add __return suffix for return events in 'perf probe', streamlining > entry/exit tracing (Masami Hiramatsu) > > - Improve support for versioned symbols in 'perf probe" (Masami Hiramatsu) > > - Clarify error message about invalid 'perf probe' event names (Masami > Hiramatsu) > > - Fix check open filename arg using 'perf trace' in a 'perf test' entry for > systems using glibc >= 2.26, such as some ARM and s390 distros (Michael > Petlan) > > - Make method for obtaining the (normalized) architecture id for a > perf.data file or for the running system used by the annotation routines > generally available, next user will be for generating per arch errno > string tables to allow for pretty printing errno codes recorded in a > perf.data file in architecture A to be properly decoded on hardware > archictecture B. (Arnaldo Carvalho de Melo) > > - Remove duplicate includes, found using scripts/checkincludes.pl (Pravin > Shedge) > > - s390 needs -fPIC, enable it, also revert a patch that supposedly did > that but instead enabled -fPIC for x86 (Hendrik Brueckner, Arnaldo Carvalho > de Melo) > > Signed-off-by: Arnaldo Carvalho de Melo > > > Arnaldo Carvalho de Melo (4): > perf annotate: Get the cpuid from evsel->evlist->env in > symbol__annotate() > perf annotate: Use perf_env when obtaining the arch name > perf env: Adopt perf_env__arch() from the annotate code > Revert "perf
Re: [GIT PULL 00/35] perf/core improvements and fixes
* Arnaldo Carvalho de Melowrote: > From: Arnaldo Carvalho de Melo > > Hi Ingo, > > Please consider pulling, > > - Arnaldo > > Test results at the end of this message, as usual. > > The following changes since commit 9d020d33fc1b2faa0eb35859df1381ca5dc94ffe: > > Merge branch 'linus' into perf/urgent, to resolve conflict (2017-03-02 > 08:05:45 +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.11-20170306 > > for you to fetch changes up to 001916b94a04809a94abb07daba6f9ace01906ba: > > perf bench numa: Add more comment for -c option (2017-03-06 12:39:30 -0300) > > > perf/core improvements and fixes: > > New features: > > - Allow sorting by symbol_size in 'perf report' and 'perf top' (Charles > Baylis) > > E.g.: > > # perf report -s symbol_size,symbol > > Samples: 9K of event 'cycles:k', Event count (approx.): 2870461623 > Overhead Symbol size Symbol > 14.55% 326 [k] flush_tlb_mm_range > 7.20% 1045 [k] filemap_map_pages > 5.82% 124 [k] vma_interval_tree_insert > 5.18% 2430 [k] unmap_page_range > 2.57% 571 [k] vma_interval_tree_remove > 1.94% 494 [k] page_add_file_rmap > 1.82% 740 [k] page_remove_rmap > 1.66% 1017 [k] release_pages > 1.57% 1636 [k] update_blocked_averages > 1.57% 76 [k] unlock_page > > - Add support for -p/--pid, -a/--all-cpus and -C/--cpu in 'perf ftrace' > (Namhyung Kim) > > Change in behaviour: > > - Make system wide (-a) the default option if no target was specified and one > of following conditions is met: > > - No workload specified (current behaviour) > > - A workload is specified but all requested events are system wide ones, > like uncore ones. (Jiri Olsa) > > Fixes: > > - Add missing initialization to the instruction decoder used in the > intel PT/BTS code, which was causing lots of failures in 'perf test', > looking for a value when there was none (Adrian Hunter) > > Infrastructure: > > - Add arch code needed to adopt the kernel's refcount_t to aid in > catching bugs when using atomic_t as a reference counter, basically > cmpxchg related functions (Arnaldo Carvalho de Melo) > > - Convert the code using atomic_t as reference counts to refcount_t > (Elena Rashetova) > > - Add feature test for sched_getcpu() to more easily check for its > presence in the many libc implementations and accross different > versions of such C libraries (Arnaldo Carvalho de Melo) > > - Issue a HW watchdog disable hint in 'perf stat' for when some of the > requested events can't get counted because a PMU counter is taken by that > watchdog (Borislav Petkov). > > - Add mapping for Intel's KnightsMill PMU events (Karol Wachowski) > > Documentation: > > - Clarify the term 'convergence' in: > >perf bench numa numa-mem -h --show_convergence (Jiri Olsa) > > Kernel code: > > - Ensure probe location is at function entry in kretprobes (Naveen N. Rao) > > - Allow return probes with offsets and absolute addresses (Naveen N. Rao) > > Signed-off-by: Arnaldo Carvalho de Melo > > > Adrian Hunter (1): > perf intel-PT/BTS: Add missing initialization > > Arnaldo Carvalho de Melo (12): > tools include: Adopt __compiletime_error > tools arch x86: Include asm/cmpxchg.h > tools arch x86: Introduce atomic_cmpxchg() > tools include: Introduce atomic_cmpxchg_{relaxed,release}() > tools include: Provide gcc based cmpxchg fallback for !x86 > tools include: Add UINT_MAX def to kernel.h > tools include: Adopt kernel's refcount.h > perf evlist: Clarify a bit the use of perf_mmap->refcnt > tools build: Add test for sched_getcpu() > perf bench futex: Use __maybe_unused > perf bench futex: Fix build on musl + clang > tools build: Use the same CC for feature detection and actual build > > Borislav Petkov (1): > perf stat: Issue a HW watchdog disable hint > > Charles Baylis (1): > perf tools: Allow sorting by symbol size > > Elena Reshetova (9): > perf cgroup: Convert cgroup_sel.refcnt from atomic_t to refcount_t > perf cpumap: Convert cpu_map.refcnt from atomic_t to refcount_t > perf comm: Convert comm_str.refcnt from atomic_t to refcount_t > perf dso: Convert dso.refcnt from atomic_t to refcount_t > perf map: Convert map.refcnt from atomic_t to refcount_t > perf map: Convert map_groups.refcnt from atomic_t to refcount_t > perf evlist: Convert perf_map.refcnt from atomic_t to refcount_t > perf thread: convert thread.refcnt from atomic_t to refcount_t > perf thread_map: Convert
Re: [GIT PULL 00/35] perf/core improvements and fixes
* Arnaldo Carvalho de Melo wrote: > From: Arnaldo Carvalho de Melo > > Hi Ingo, > > Please consider pulling, > > - Arnaldo > > Test results at the end of this message, as usual. > > The following changes since commit 9d020d33fc1b2faa0eb35859df1381ca5dc94ffe: > > Merge branch 'linus' into perf/urgent, to resolve conflict (2017-03-02 > 08:05:45 +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.11-20170306 > > for you to fetch changes up to 001916b94a04809a94abb07daba6f9ace01906ba: > > perf bench numa: Add more comment for -c option (2017-03-06 12:39:30 -0300) > > > perf/core improvements and fixes: > > New features: > > - Allow sorting by symbol_size in 'perf report' and 'perf top' (Charles > Baylis) > > E.g.: > > # perf report -s symbol_size,symbol > > Samples: 9K of event 'cycles:k', Event count (approx.): 2870461623 > Overhead Symbol size Symbol > 14.55% 326 [k] flush_tlb_mm_range > 7.20% 1045 [k] filemap_map_pages > 5.82% 124 [k] vma_interval_tree_insert > 5.18% 2430 [k] unmap_page_range > 2.57% 571 [k] vma_interval_tree_remove > 1.94% 494 [k] page_add_file_rmap > 1.82% 740 [k] page_remove_rmap > 1.66% 1017 [k] release_pages > 1.57% 1636 [k] update_blocked_averages > 1.57% 76 [k] unlock_page > > - Add support for -p/--pid, -a/--all-cpus and -C/--cpu in 'perf ftrace' > (Namhyung Kim) > > Change in behaviour: > > - Make system wide (-a) the default option if no target was specified and one > of following conditions is met: > > - No workload specified (current behaviour) > > - A workload is specified but all requested events are system wide ones, > like uncore ones. (Jiri Olsa) > > Fixes: > > - Add missing initialization to the instruction decoder used in the > intel PT/BTS code, which was causing lots of failures in 'perf test', > looking for a value when there was none (Adrian Hunter) > > Infrastructure: > > - Add arch code needed to adopt the kernel's refcount_t to aid in > catching bugs when using atomic_t as a reference counter, basically > cmpxchg related functions (Arnaldo Carvalho de Melo) > > - Convert the code using atomic_t as reference counts to refcount_t > (Elena Rashetova) > > - Add feature test for sched_getcpu() to more easily check for its > presence in the many libc implementations and accross different > versions of such C libraries (Arnaldo Carvalho de Melo) > > - Issue a HW watchdog disable hint in 'perf stat' for when some of the > requested events can't get counted because a PMU counter is taken by that > watchdog (Borislav Petkov). > > - Add mapping for Intel's KnightsMill PMU events (Karol Wachowski) > > Documentation: > > - Clarify the term 'convergence' in: > >perf bench numa numa-mem -h --show_convergence (Jiri Olsa) > > Kernel code: > > - Ensure probe location is at function entry in kretprobes (Naveen N. Rao) > > - Allow return probes with offsets and absolute addresses (Naveen N. Rao) > > Signed-off-by: Arnaldo Carvalho de Melo > > > Adrian Hunter (1): > perf intel-PT/BTS: Add missing initialization > > Arnaldo Carvalho de Melo (12): > tools include: Adopt __compiletime_error > tools arch x86: Include asm/cmpxchg.h > tools arch x86: Introduce atomic_cmpxchg() > tools include: Introduce atomic_cmpxchg_{relaxed,release}() > tools include: Provide gcc based cmpxchg fallback for !x86 > tools include: Add UINT_MAX def to kernel.h > tools include: Adopt kernel's refcount.h > perf evlist: Clarify a bit the use of perf_mmap->refcnt > tools build: Add test for sched_getcpu() > perf bench futex: Use __maybe_unused > perf bench futex: Fix build on musl + clang > tools build: Use the same CC for feature detection and actual build > > Borislav Petkov (1): > perf stat: Issue a HW watchdog disable hint > > Charles Baylis (1): > perf tools: Allow sorting by symbol size > > Elena Reshetova (9): > perf cgroup: Convert cgroup_sel.refcnt from atomic_t to refcount_t > perf cpumap: Convert cpu_map.refcnt from atomic_t to refcount_t > perf comm: Convert comm_str.refcnt from atomic_t to refcount_t > perf dso: Convert dso.refcnt from atomic_t to refcount_t > perf map: Convert map.refcnt from atomic_t to refcount_t > perf map: Convert map_groups.refcnt from atomic_t to refcount_t > perf evlist: Convert perf_map.refcnt from atomic_t to refcount_t > perf thread: convert thread.refcnt from atomic_t to refcount_t > perf thread_map: Convert thread_map.refcnt from atomic_t to refcount_t > > Jiri
Re: [GIT PULL 00/35] perf/core improvements and fixes
* Arnaldo Carvalho de Melowrote: > Hi Ingo, > > Please consider pulling, I first merged tip/perf/urgent into a > tip/perf/core and rebased the patches I had in acme/perf/core. > > - Arnaldo > > Build stats at the end of this message. > > The following changes since commit ce90c12d2453aa6be743719bb0a5d4040b92700f: > > Merge branch 'perf/urgent' into perf/core, to pick up fixes before merging > new changes (2016-08-23 15:35:47 -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-20160823 > > for you to fetch changes up to 5e30d55c71de058e4156080fe32d426c22d094cb: > > perf record: Fix spelling mistake "Finshed" -> "Finished" (2016-08-23 > 17:06:40 -0300) > > > perf/core improvements and fixes: > > User visible: > > . Allow configuring the default 'perf report -s' sort order in ~/.perfconfig, > for instance, "sym,dso" may be more fitting for kernel developers. (Arnaldo > Carvalho de Melo) > > - Support x8/x16/x32/x64 hexadecimal "types" in ftrace and 'perf probe' > (Masami Hiramatsu) > > Infrastructure: > > - Skip running the feature tests for 'make install-doc' (Rui Teng) > > - Introduce tools/include/linux/time64.h with *SEC_PER_*SEC macros > to use in all of tools/ (Arnaldo Carvalho de Melo) > > - Break down symbol__disassemble() into multiple functions, to ease > future work on better reporting the errors that may take place in > the various steps it performs (possibly decompressing kernel module > files, getting build-id keyed files, calling objdump, parsing its > output, etc) (Arnaldo Carvalho de Melo) > > - Typo fixes in various places (Colin Ian King) > > - Remove superfluous NULL check in the TUI code (Colin Ian King) > > - Allow displaying multiple header lines in the TUI browser, prep > work for the 'perf c2c' browser (Jiri Olsa) > > - Copy coresight-pmu.h header file needed by perf tools (Mathieu Poirier) > > - Use __weak definition from linux/compiler.h (Rui Teng) > > Signed-off-by: Arnaldo Carvalho de Melo > > > > Arnaldo Carvalho de Melo (16): > tools: Introduce tools/include/linux/time64.h for *SEC_PER_*SEC macros > perf bench numa: Use NSEC_PER_U?SEC > perf sched: Use linux/time64.h > perf timechart: Use NSEC_PER_U?SEC > perf bench sched-pipe: Use linux/time64.h, USEC_PER_SEC > perf stat: Use *SEC_PER_*SEC macros > perf bench mem: Use USEC_PER_SEC > perf bench sched-messaging: Use USEC_PER_MSEC > perf record: Use USEC_PER_MSEC > perf kvm: Use NSEC_PER_USEC > perf bench futex: Use NSEC_PER_USEC > perf top: Use MSEC_PER_SEC > perf disassemble: Move check for kallsyms + !kcore > perf disassemble: Simplify logic for picking the filename to disassemble > perf disassemble: Extract logic to find file to pass to objdump to a > separate function > perf report: Allow configuring the default sort order in ~/.perfconfig > > Colin Ian King (5): > perf hists browser: Remove superfluous null check on map > perf tools: Fix typo: "ehough" -> "enough" > perf test bpf: Fix typo: "ehough" -> "enough" > perf bpf: Fix typo: "ehough" -> "enough" > perf record: Fix spelling mistake "Finshed" -> "Finished" > > Jiri Olsa (5): > perf hists: Introduce nr_header_lines into struct perf_hpp_list > perf hists: Add line argument into perf_hpp_fmt's header callback > perf tools tui: Display multiple header lines > perf tools stdio: Display multiple header lines > perf hists: Add support for header span > > Masami Hiramatsu (6): > ftrace: kprobe: uprobe: Add x8/x16/x32/x64 for hexadecimal types > ftrace: probe: Add README entries for k/uprobe-events > perf probe: Add supported for type casting by the running kernel > perf probe: Support hexadecimal casting > perf probe: Use hexadecimal type by default if possible > ftrace: kprobe: uprobe: Show u8/u16/u32/u64 types in decimal > > Mathieu Poirier (1): > tools: Copy coresight-pmu.h header file needed by perf tools > > Rui Teng (2): > perf tools: Use __weak definition from linux/compiler.h > perf tools: Skip running the feature tests for 'make install-doc' > > Documentation/trace/kprobetrace.txt| 9 ++- > Documentation/trace/uprobetracer.txt | 9 ++- > kernel/trace/trace.c | 24 ++ > kernel/trace/trace_kprobe.c| 4 + > kernel/trace/trace_probe.c | 30 > kernel/trace/trace_probe.h | 11 ++- > kernel/trace/trace_uprobe.c| 4 + > tools/include/linux/coresight-pmu.h| 39
Re: [GIT PULL 00/35] perf/core improvements and fixes
* Arnaldo Carvalho de Melo wrote: > Hi Ingo, > > Please consider pulling, I first merged tip/perf/urgent into a > tip/perf/core and rebased the patches I had in acme/perf/core. > > - Arnaldo > > Build stats at the end of this message. > > The following changes since commit ce90c12d2453aa6be743719bb0a5d4040b92700f: > > Merge branch 'perf/urgent' into perf/core, to pick up fixes before merging > new changes (2016-08-23 15:35:47 -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-20160823 > > for you to fetch changes up to 5e30d55c71de058e4156080fe32d426c22d094cb: > > perf record: Fix spelling mistake "Finshed" -> "Finished" (2016-08-23 > 17:06:40 -0300) > > > perf/core improvements and fixes: > > User visible: > > . Allow configuring the default 'perf report -s' sort order in ~/.perfconfig, > for instance, "sym,dso" may be more fitting for kernel developers. (Arnaldo > Carvalho de Melo) > > - Support x8/x16/x32/x64 hexadecimal "types" in ftrace and 'perf probe' > (Masami Hiramatsu) > > Infrastructure: > > - Skip running the feature tests for 'make install-doc' (Rui Teng) > > - Introduce tools/include/linux/time64.h with *SEC_PER_*SEC macros > to use in all of tools/ (Arnaldo Carvalho de Melo) > > - Break down symbol__disassemble() into multiple functions, to ease > future work on better reporting the errors that may take place in > the various steps it performs (possibly decompressing kernel module > files, getting build-id keyed files, calling objdump, parsing its > output, etc) (Arnaldo Carvalho de Melo) > > - Typo fixes in various places (Colin Ian King) > > - Remove superfluous NULL check in the TUI code (Colin Ian King) > > - Allow displaying multiple header lines in the TUI browser, prep > work for the 'perf c2c' browser (Jiri Olsa) > > - Copy coresight-pmu.h header file needed by perf tools (Mathieu Poirier) > > - Use __weak definition from linux/compiler.h (Rui Teng) > > Signed-off-by: Arnaldo Carvalho de Melo > > > > Arnaldo Carvalho de Melo (16): > tools: Introduce tools/include/linux/time64.h for *SEC_PER_*SEC macros > perf bench numa: Use NSEC_PER_U?SEC > perf sched: Use linux/time64.h > perf timechart: Use NSEC_PER_U?SEC > perf bench sched-pipe: Use linux/time64.h, USEC_PER_SEC > perf stat: Use *SEC_PER_*SEC macros > perf bench mem: Use USEC_PER_SEC > perf bench sched-messaging: Use USEC_PER_MSEC > perf record: Use USEC_PER_MSEC > perf kvm: Use NSEC_PER_USEC > perf bench futex: Use NSEC_PER_USEC > perf top: Use MSEC_PER_SEC > perf disassemble: Move check for kallsyms + !kcore > perf disassemble: Simplify logic for picking the filename to disassemble > perf disassemble: Extract logic to find file to pass to objdump to a > separate function > perf report: Allow configuring the default sort order in ~/.perfconfig > > Colin Ian King (5): > perf hists browser: Remove superfluous null check on map > perf tools: Fix typo: "ehough" -> "enough" > perf test bpf: Fix typo: "ehough" -> "enough" > perf bpf: Fix typo: "ehough" -> "enough" > perf record: Fix spelling mistake "Finshed" -> "Finished" > > Jiri Olsa (5): > perf hists: Introduce nr_header_lines into struct perf_hpp_list > perf hists: Add line argument into perf_hpp_fmt's header callback > perf tools tui: Display multiple header lines > perf tools stdio: Display multiple header lines > perf hists: Add support for header span > > Masami Hiramatsu (6): > ftrace: kprobe: uprobe: Add x8/x16/x32/x64 for hexadecimal types > ftrace: probe: Add README entries for k/uprobe-events > perf probe: Add supported for type casting by the running kernel > perf probe: Support hexadecimal casting > perf probe: Use hexadecimal type by default if possible > ftrace: kprobe: uprobe: Show u8/u16/u32/u64 types in decimal > > Mathieu Poirier (1): > tools: Copy coresight-pmu.h header file needed by perf tools > > Rui Teng (2): > perf tools: Use __weak definition from linux/compiler.h > perf tools: Skip running the feature tests for 'make install-doc' > > Documentation/trace/kprobetrace.txt| 9 ++- > Documentation/trace/uprobetracer.txt | 9 ++- > kernel/trace/trace.c | 24 ++ > kernel/trace/trace_kprobe.c| 4 + > kernel/trace/trace_probe.c | 30 > kernel/trace/trace_probe.h | 11 ++- > kernel/trace/trace_uprobe.c| 4 + > tools/include/linux/coresight-pmu.h| 39 ++ >
Re: [GIT PULL 00/35] perf/core improvements and fixes
Em Fri, Dec 20, 2013 at 04:08:35PM -0300, Arnaldo Carvalho de Melo escreveu: > User visible changes: > > Improvements: > > . Do not show stats if workload fails in 'stat' (David Ahern) Hi Ingo, Please hold on, as reported elsewhere, the above change broke 'perf stat valid-workload', so I removed it from my tree. I'll resubmit soon with a bunch more, Thanks, - Arnaldo -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [GIT PULL 00/35] perf/core improvements and fixes
Em Fri, Dec 20, 2013 at 04:08:35PM -0300, Arnaldo Carvalho de Melo escreveu: User visible changes: Improvements: . Do not show stats if workload fails in 'stat' (David Ahern) Hi Ingo, Please hold on, as reported elsewhere, the above change broke 'perf stat valid-workload', so I removed it from my tree. I'll resubmit soon with a bunch more, Thanks, - Arnaldo -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/