Re: [GIT PULL 00/24] perf/core improvements and fixes
* Arnaldo Carvalho de Melo wrote: > Hi Ingo, > > Please consider pulling, > > Regards, > > - Arnaldo > > Test results at the end of this message, as usual. > > The following changes since commit ad07c8ceb6631a83b62d405a61448bba92adac68: > > perf/core: Remove unused perf_flags (2019-01-21 11:01:31 +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.0-20190121 > > for you to fetch changes up to 32e9136e37840a62c659259a394ed3735e3b3c84: > > perf utils: Move perf_config using routines from color.c to separate object > (2019-01-21 17:38:56 -0300) > > > perf/core improvements and fixes: > > BPF: > > Song Liu: > > - Introduce PERF_RECORD_KSYMBOL to allow tooling to notice the addition > of new kernel symbols and be able to resolve samples in such symbols. > > - Introduce PERF_RECORD_BPF_EVENT to notify tooling about the loading > and unloading of BPF programs, making them visible and allowing for > the request of further information to allow for things like annotation. > > - Change the userspace perf tools to handle those new events and to > synthesize them for pre-existing loaded BPF programs. > > Kernel: > > Arnaldo Carvalho de Melo: > > - Make perf_event_output() propagate the output() return, allowing > users to check for -ENOSPC in the ring buffer. > > perf report: > > Thomas Richter: > > - Display arch specific diagnostic counter sets, starting with s390 > diagnostic counter sets. > > perf session: > > Jiri Olsa: > > - Introduce a reader object to prep for multithreaded processing > of recorded events. > > Misc: > > Rasmus Villemoes: > > - Replace automatic const char[] variables by statics, to avoid > initializing them at runtime, instead having them in .rodata, > reducing code size. > > YueHaibing: > > - Remove duplicated workqueue.h include from perf_event.h > > Brajeswar Ghosh: > > - Remove some more duplicated headers. > > Signed-off-by: Arnaldo Carvalho de Melo > > > Arnaldo Carvalho de Melo (4): > perf: Make perf_event_output() propagate the output() return > perf top: Synthesize BPF events for pre-existing loaded BPF programs > perf python: Remove -fstack-clash-protection when building with some > clang versions > perf utils: Move perf_config using routines from color.c to separate > object > > Brajeswar Ghosh (1): > perf tools: Remove duplicate headers > > Jiri Olsa (6): > perf session: Rearrange perf_session__process_events function > perf session: Get rid of file_size variable > perf session: Add reader object > perf session: Add 'data_size' member to reader object > perf session: Add 'data_offset' member to reader object > perf session: Add reader__process_events function > > Rasmus Villemoes (1): > perf tools: Replace automatic const char[] variables by statics > > Song Liu (8): > perf, bpf: Introduce PERF_RECORD_KSYMBOL > tools headers uapi: Sync tools/include/uapi/linux/perf_event.h > perf, bpf: Introduce PERF_RECORD_BPF_EVENT > tools headers uapi: Sync tools/include/uapi/linux/perf_event.h > perf tools: Handle PERF_RECORD_KSYMBOL > perf tools: Handle PERF_RECORD_BPF_EVENT > perf tools: Synthesize PERF_RECORD_* for loaded BPF programs > bpf: Add module name [bpf] to ksymbols for bpf programs > > Thomas Richter (3): > perf report: Display arch specific diagnostic counter sets, starting > with s390 > perf report: Display names in s390 diagnostic counter sets > perf report: Dump s390 counter set data to file > > YueHaibing (1): > perf: Remove duplicated workqueue.h include from perf_event.h > > include/linux/filter.h | 7 + > include/linux/perf_event.h | 21 +- > include/uapi/linux/perf_event.h | 53 - > kernel/bpf/core.c| 2 +- > kernel/bpf/syscall.c | 2 + > kernel/events/core.c | 224 +++- > kernel/kallsyms.c| 2 +- > kernel/trace/bpf_trace.c | 3 +- > tools/include/uapi/linux/perf_event.h| 53 - > tools/perf/builtin-c2c.c | 4 +- > tools/perf/builtin-kmem.c| 4 +- > tools/perf/builtin-record.c | 7 + > tools/perf/builtin-report.c | 6 +- > tools/perf/builtin-sched.c | 2 +- > tools/perf/builtin-stat.c| 1 - > tools/perf/builtin-top.c | 7 + >
Re: [GIT PULL 00/24] perf/core improvements and fixes
* Arnaldo Carvalho de Melowrote: > Hi Ingo, > > Please consider pulling, hopefully the next batch will have a > few other interesting patchkits, from Jin Yao, Kan Liang and Milian > Wolff. > > - Arnaldo > > Test results at the end of this message, as usual. > > The following changes since commit 8776fe75dc0e263ed2056ea9896c2267599dc447: > > lkdtm, kprobes: Convert from jprobes to kprobes (2017-10-23 13:52:45 +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-4.15-20171023 > > for you to fetch changes up to 65db92e0965ab56e8031d5c804f26d5be0e47047: > > perf vendor events: Add Goldmont Plus V1 event file (2017-10-23 16:30:54 > -0300) > > > perf/core improvements and fixes: > > - Update vendor events JSON metrics for Intel's Broadwell, Broadwell > Server, Haswell, Haswell Server, IvyBridge, IvyTown, JakeTown, Sandy > Bridge, Skylake and SkyLake Server (Andi Kleen) > > - Add vendor event file for Intel's Goldmont Plus V1 (Kan Liang) > > - Move perf_mmap methods from 'perf record' and evlist.c to a separate > mmap.[ch] pair, to better separate things and pave the way for further > work on multithreading tools (Arnaldo Carvalho de Melo) > > - Do not check ABI headers in a detached tarball build, as it the kernel > headers from where we copied tools/include/ are by definition not > available (Arnaldo Carvalho de Melo) > > - Make 'perf script' use fprintf() like printing, i.e. receiving a FILE > pointer so that it gets consistent with other tools/ code and allows > for printing to per-event files (Arnaldo Carvalho de Melo) > > - Error handling fixes (resource release on exit) for 'perf script' > and 'perf kmem' (Christophe JAILLET) > > - Make some 'perf event attr' tests optional on virtual machines, where > tested counters are not available (Jiri Olsa) > > Signed-off-by: Arnaldo Carvalho de Melo > > > Andi Kleen (12): > perf vendor events: Update JSON metrics for Broadwell > perf vendor events: Update JSON metrics for Broadwell Server > perf vendor events: Update JSON metrics for Haswell > perf vendor events: Update JSON metrics for Haswell Server > perf vendor events: Update JSON metrics for IvyBridge > perf vendor events: Update JSON metrics for IvyTown > perf vendor events: Update JSON metrics for JakeTown > perf vendor events: Update JSON metrics for Sandy Bridge > perf vendor events: Update JSON metrics for Skylake > perf vendor events: Update JSON metrics for Skylake Server > perf list: Fix group description in the man page > perf vendor events: Fix incorrect cmask syntax for some Intel metrics > > Arnaldo Carvalho de Melo (7): > perf mmap: Move perf_mmap and methods to separate mmap.[ch] files > perf record: Make record__mmap_read generic > perf mmap: Adopt push method from builtin-record.c > perf tools: Do not check ABI headers in a detached tarball build > perf tools: Introduce binary__fprintf() > perf script: Use fprintf like printing uniformly > perf namespaces: Add more appropriate set of headers > > Christophe JAILLET (2): > perf script: Fix error handling path > perf kmem: Perform some cleanup if '--time' is given an invalid value > > Jiri Olsa (2): > perf tests attr: Make hw events optional > perf annotate: Remove arch::cpuid_parse callback > > Kan Liang (1): > perf vendor events: Add Goldmont Plus V1 event file > > tools/perf/Documentation/perf-list.txt |2 +- > tools/perf/arch/arm/annotate/instructions.c|3 +- > tools/perf/arch/arm64/annotate/instructions.c |3 +- > tools/perf/arch/powerpc/annotate/instructions.c|4 +- > tools/perf/arch/s390/annotate/instructions.c |4 +- > tools/perf/arch/x86/annotate/instructions.c| 14 + > tools/perf/builtin-kmem.c |3 +- > tools/perf/builtin-record.c| 104 +- > tools/perf/builtin-script.c| 527 +++ > tools/perf/builtin-trace.c | 14 +- > tools/perf/check-headers.sh|5 + > .../pmu-events/arch/x86/broadwell/bdw-metrics.json | 18 +- > .../arch/x86/broadwellx/bdx-metrics.json | 18 +- > .../pmu-events/arch/x86/goldmontplus/cache.json| 1453 > > .../pmu-events/arch/x86/goldmontplus/frontend.json | 62 + > .../pmu-events/arch/x86/goldmontplus/memory.json | 38 + > .../pmu-events/arch/x86/goldmontplus/other.json| 98 ++ > .../pmu-events/arch/x86/goldmontplus/pipeline.json | 544 > .../arch/x86/goldmontplus/virtual-memory.json | 218 +++ >
Re: [GIT PULL 00/24] perf/core improvements and fixes
* Arnaldo Carvalho de Melo wrote: > Hi Ingo, > > Please consider pulling, hopefully the next batch will have a > few other interesting patchkits, from Jin Yao, Kan Liang and Milian > Wolff. > > - Arnaldo > > Test results at the end of this message, as usual. > > The following changes since commit 8776fe75dc0e263ed2056ea9896c2267599dc447: > > lkdtm, kprobes: Convert from jprobes to kprobes (2017-10-23 13:52:45 +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-4.15-20171023 > > for you to fetch changes up to 65db92e0965ab56e8031d5c804f26d5be0e47047: > > perf vendor events: Add Goldmont Plus V1 event file (2017-10-23 16:30:54 > -0300) > > > perf/core improvements and fixes: > > - Update vendor events JSON metrics for Intel's Broadwell, Broadwell > Server, Haswell, Haswell Server, IvyBridge, IvyTown, JakeTown, Sandy > Bridge, Skylake and SkyLake Server (Andi Kleen) > > - Add vendor event file for Intel's Goldmont Plus V1 (Kan Liang) > > - Move perf_mmap methods from 'perf record' and evlist.c to a separate > mmap.[ch] pair, to better separate things and pave the way for further > work on multithreading tools (Arnaldo Carvalho de Melo) > > - Do not check ABI headers in a detached tarball build, as it the kernel > headers from where we copied tools/include/ are by definition not > available (Arnaldo Carvalho de Melo) > > - Make 'perf script' use fprintf() like printing, i.e. receiving a FILE > pointer so that it gets consistent with other tools/ code and allows > for printing to per-event files (Arnaldo Carvalho de Melo) > > - Error handling fixes (resource release on exit) for 'perf script' > and 'perf kmem' (Christophe JAILLET) > > - Make some 'perf event attr' tests optional on virtual machines, where > tested counters are not available (Jiri Olsa) > > Signed-off-by: Arnaldo Carvalho de Melo > > > Andi Kleen (12): > perf vendor events: Update JSON metrics for Broadwell > perf vendor events: Update JSON metrics for Broadwell Server > perf vendor events: Update JSON metrics for Haswell > perf vendor events: Update JSON metrics for Haswell Server > perf vendor events: Update JSON metrics for IvyBridge > perf vendor events: Update JSON metrics for IvyTown > perf vendor events: Update JSON metrics for JakeTown > perf vendor events: Update JSON metrics for Sandy Bridge > perf vendor events: Update JSON metrics for Skylake > perf vendor events: Update JSON metrics for Skylake Server > perf list: Fix group description in the man page > perf vendor events: Fix incorrect cmask syntax for some Intel metrics > > Arnaldo Carvalho de Melo (7): > perf mmap: Move perf_mmap and methods to separate mmap.[ch] files > perf record: Make record__mmap_read generic > perf mmap: Adopt push method from builtin-record.c > perf tools: Do not check ABI headers in a detached tarball build > perf tools: Introduce binary__fprintf() > perf script: Use fprintf like printing uniformly > perf namespaces: Add more appropriate set of headers > > Christophe JAILLET (2): > perf script: Fix error handling path > perf kmem: Perform some cleanup if '--time' is given an invalid value > > Jiri Olsa (2): > perf tests attr: Make hw events optional > perf annotate: Remove arch::cpuid_parse callback > > Kan Liang (1): > perf vendor events: Add Goldmont Plus V1 event file > > tools/perf/Documentation/perf-list.txt |2 +- > tools/perf/arch/arm/annotate/instructions.c|3 +- > tools/perf/arch/arm64/annotate/instructions.c |3 +- > tools/perf/arch/powerpc/annotate/instructions.c|4 +- > tools/perf/arch/s390/annotate/instructions.c |4 +- > tools/perf/arch/x86/annotate/instructions.c| 14 + > tools/perf/builtin-kmem.c |3 +- > tools/perf/builtin-record.c| 104 +- > tools/perf/builtin-script.c| 527 +++ > tools/perf/builtin-trace.c | 14 +- > tools/perf/check-headers.sh|5 + > .../pmu-events/arch/x86/broadwell/bdw-metrics.json | 18 +- > .../arch/x86/broadwellx/bdx-metrics.json | 18 +- > .../pmu-events/arch/x86/goldmontplus/cache.json| 1453 > > .../pmu-events/arch/x86/goldmontplus/frontend.json | 62 + > .../pmu-events/arch/x86/goldmontplus/memory.json | 38 + > .../pmu-events/arch/x86/goldmontplus/other.json| 98 ++ > .../pmu-events/arch/x86/goldmontplus/pipeline.json | 544 > .../arch/x86/goldmontplus/virtual-memory.json | 218 +++ >
Re: [GIT PULL 00/24] perf/core improvements and fixes
* Arnaldo Carvalho de Melowrote: > Hi Ingo, > > Please consider pulling, > > Test results, with a new target: cross-compiling to Android ARM API 24 (NDK > r12b), > for all except android-ndk:r12b now objtool is tested too, in adition to > tools/perf. > > [root@jouet ~]# dm > alpine:3.4: Ok > android-ndk:r12b: Ok > centos:5: Ok > 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 > opensuse:13.2: Ok > opensuse:42.1: Ok > ubuntu:14.04.4: Ok > ubuntu:15.10: Ok > ubuntu:16.04: Ok > [root@jouet ~]# > > oops, the mageia image din't got rebuilt, will fix that, pretty good coverage > even so :-) > > - Arnaldo > > The following changes since commit b29c6574699dc475da5dbff8db19297b203aacce: > > Merge tag 'perf-core-for-mingo-20160713' of > git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/core > (2016-07-14 08:54:13 +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-20160715 > > for you to fetch changes up to b49364f36cfdb6d540ac961102d7ffaf84279bb6: > > objtool: Initialize variable to silence old compiler (2016-07-15 17:32:52 > -0300) > > > perf/core improvements and fixes: > > User visible: > > - Allow reading from a backward ring buffer (one setup via sys_perf_event_open > with perf_event_attr.write_backward = 1) (Wang Nan) > > Infrastructure: > > - Fix the build on Android NDK r12b (initially just for arm), that is now port > of my perf-build container collection and will get tested prior to sending > patches upstream (Arnaldo Carvalho de Melo) > > - Add correct header for ipv6 defini > > - Fix bitsperlong.h fallout (Arnaldo Carvalho de Melo, Peter Zijlstra) > > - Use base 0 (auto) in filename__read_ull, so that we can handle hex values > too (Jiri Olsa) > > Signed-off-by: Arnaldo Carvalho de Melo > > > Arnaldo Carvalho de Melo (8): > tools lib traceevent: Add correct header for ipv6 definitions > perf tools: Do not provide dup sched_getcpu() prototype on Android > tools: Make "__always_inline" just "inline" on Android > perf tools: Just pr_debug() about not being able to read cacheline_size > perf tools: Bail out at "--sort dcacheline" and cacheline_size not known > perf evlist: Drop redundant evsel->overwrite indicator > objtool: Add -I$(srctree)/tools/arch/$(ARCH)/include/uapi > objtool: Initialize variable to silence old compiler > > Jiri Olsa (1): > tools lib api fs: Use base 0 in filename__read_ull > > Peter Zijlstra (1): > tools: Simplify BITS_PER_LONG define > > Wang Nan (14): > tools lib fd array: Allow associating a pointer cookie with each entry > perf evlist: Update mmap related APIs and helpers > perf record: Decouple record__mmap_read() and evlist. > perf evlist: Record mmap cookie into fdarray private field > perf evlist: Extract common code in mmap failure processing > perf evlist: Introduce backward_mmap array for evlist > perf evlist: Map backward events to backward_mmap > perf evlist: Drop evlist->backward > perf evlist: Setup backward mmap state machine > perf record: Read from overwritable ring buffer > perf evlist: Make {pause,resume} internal helpers > perf tools: Enable overwrite settings > perf session: Don't warn about out of order event if write_backward is > used > perf record: Add --tail-synthesize option > > tools/include/asm-generic/bitsperlong.h | 23 +-- > tools/include/linux/compiler.h | 11 ++ > tools/lib/api/fd/array.h | 1 + > tools/lib/api/fs/fs.c| 7 +- > tools/lib/traceevent/event-parse.c | 3 +- > tools/objtool/Makefile | 2 +- > tools/objtool/builtin-check.c| 2 +- > tools/perf/Documentation/perf-record.txt | 22 +++ > tools/perf/builtin-record.c | 113 ++--- > tools/perf/perf.c| 2 +- > tools/perf/perf.h| 2 + > tools/perf/tests/backward-ring-buffer.c | 14 +- > tools/perf/util/evlist.c | 269 > ++- > tools/perf/util/evlist.h | 47 +- > tools/perf/util/evsel.c | 16 +- > tools/perf/util/evsel.h | 3 +- > tools/perf/util/parse-events.c | 20 ++- > tools/perf/util/parse-events.h | 2 + > tools/perf/util/parse-events.l | 2 + > tools/perf/util/session.c| 22 ++- > tools/perf/util/sort.c | 8 +- >
Re: [GIT PULL 00/24] perf/core improvements and fixes
* Arnaldo Carvalho de Melo wrote: > Hi Ingo, > > Please consider pulling, > > Test results, with a new target: cross-compiling to Android ARM API 24 (NDK > r12b), > for all except android-ndk:r12b now objtool is tested too, in adition to > tools/perf. > > [root@jouet ~]# dm > alpine:3.4: Ok > android-ndk:r12b: Ok > centos:5: Ok > 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 > opensuse:13.2: Ok > opensuse:42.1: Ok > ubuntu:14.04.4: Ok > ubuntu:15.10: Ok > ubuntu:16.04: Ok > [root@jouet ~]# > > oops, the mageia image din't got rebuilt, will fix that, pretty good coverage > even so :-) > > - Arnaldo > > The following changes since commit b29c6574699dc475da5dbff8db19297b203aacce: > > Merge tag 'perf-core-for-mingo-20160713' of > git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/core > (2016-07-14 08:54:13 +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-20160715 > > for you to fetch changes up to b49364f36cfdb6d540ac961102d7ffaf84279bb6: > > objtool: Initialize variable to silence old compiler (2016-07-15 17:32:52 > -0300) > > > perf/core improvements and fixes: > > User visible: > > - Allow reading from a backward ring buffer (one setup via sys_perf_event_open > with perf_event_attr.write_backward = 1) (Wang Nan) > > Infrastructure: > > - Fix the build on Android NDK r12b (initially just for arm), that is now port > of my perf-build container collection and will get tested prior to sending > patches upstream (Arnaldo Carvalho de Melo) > > - Add correct header for ipv6 defini > > - Fix bitsperlong.h fallout (Arnaldo Carvalho de Melo, Peter Zijlstra) > > - Use base 0 (auto) in filename__read_ull, so that we can handle hex values > too (Jiri Olsa) > > Signed-off-by: Arnaldo Carvalho de Melo > > > Arnaldo Carvalho de Melo (8): > tools lib traceevent: Add correct header for ipv6 definitions > perf tools: Do not provide dup sched_getcpu() prototype on Android > tools: Make "__always_inline" just "inline" on Android > perf tools: Just pr_debug() about not being able to read cacheline_size > perf tools: Bail out at "--sort dcacheline" and cacheline_size not known > perf evlist: Drop redundant evsel->overwrite indicator > objtool: Add -I$(srctree)/tools/arch/$(ARCH)/include/uapi > objtool: Initialize variable to silence old compiler > > Jiri Olsa (1): > tools lib api fs: Use base 0 in filename__read_ull > > Peter Zijlstra (1): > tools: Simplify BITS_PER_LONG define > > Wang Nan (14): > tools lib fd array: Allow associating a pointer cookie with each entry > perf evlist: Update mmap related APIs and helpers > perf record: Decouple record__mmap_read() and evlist. > perf evlist: Record mmap cookie into fdarray private field > perf evlist: Extract common code in mmap failure processing > perf evlist: Introduce backward_mmap array for evlist > perf evlist: Map backward events to backward_mmap > perf evlist: Drop evlist->backward > perf evlist: Setup backward mmap state machine > perf record: Read from overwritable ring buffer > perf evlist: Make {pause,resume} internal helpers > perf tools: Enable overwrite settings > perf session: Don't warn about out of order event if write_backward is > used > perf record: Add --tail-synthesize option > > tools/include/asm-generic/bitsperlong.h | 23 +-- > tools/include/linux/compiler.h | 11 ++ > tools/lib/api/fd/array.h | 1 + > tools/lib/api/fs/fs.c| 7 +- > tools/lib/traceevent/event-parse.c | 3 +- > tools/objtool/Makefile | 2 +- > tools/objtool/builtin-check.c| 2 +- > tools/perf/Documentation/perf-record.txt | 22 +++ > tools/perf/builtin-record.c | 113 ++--- > tools/perf/perf.c| 2 +- > tools/perf/perf.h| 2 + > tools/perf/tests/backward-ring-buffer.c | 14 +- > tools/perf/util/evlist.c | 269 > ++- > tools/perf/util/evlist.h | 47 +- > tools/perf/util/evsel.c | 16 +- > tools/perf/util/evsel.h | 3 +- > tools/perf/util/parse-events.c | 20 ++- > tools/perf/util/parse-events.h | 2 + > tools/perf/util/parse-events.l | 2 + > tools/perf/util/session.c| 22 ++- > tools/perf/util/sort.c | 8 +- > tools/perf/util/util.h | 2 +-
Re: [GIT PULL 00/24] perf/core improvements and fixes
Em Wed, Jun 08, 2016 at 08:10:50AM +0900, Taeung Song escreveu: > I found something weird about perf/core branch on your repository. > (I don't know whether it is just my illusion or not) > > I can't pull new commits on top of perf-core-for-mingo-20160606 > by normal way as below I forgot to push perf/core, having pushed just perf-core-for-mingo-20160607, which is enough for Ingo to pull what I sent to him, but not for you to get if you use perf/core, as usual, instead of perf-core-for-mingo-20160607. I pushed perf/core now, please update your local repo and all should be ok now. - Arnaldo
Re: [GIT PULL 00/24] perf/core improvements and fixes
Em Wed, Jun 08, 2016 at 08:10:50AM +0900, Taeung Song escreveu: > I found something weird about perf/core branch on your repository. > (I don't know whether it is just my illusion or not) > > I can't pull new commits on top of perf-core-for-mingo-20160606 > by normal way as below I forgot to push perf/core, having pushed just perf-core-for-mingo-20160607, which is enough for Ingo to pull what I sent to him, but not for you to get if you use perf/core, as usual, instead of perf-core-for-mingo-20160607. I pushed perf/core now, please update your local repo and all should be ok now. - Arnaldo
Re: [GIT PULL 00/24] perf/core improvements and fixes
* Arnaldo Carvalho de Melowrote: > Hi Ingo, > > Please consider pulling, this is on top of perf-core-for-mingo-20160606, > > Thanks, > > - Arnaldo > > The following changes since commit 7db91f251056f90fec4121f028680ab3153a0f3c: > > perf config: Handle the error when config set is NULL at collect_config() > (2016-06-06 17:43:19 -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-20160607 > > for you to fetch changes up to 057fbfb25cde4a368418f3f720cdc31d48800c4d: > > perf callchain: Support aarch64 cross-platform (2016-06-07 15:13:35 -0300) > > > perf/core improvements and fixes: > > User visible: > > - Support cross unwinding, i.e. collecting '--call-graph dwarf' perf.data > files > in one machine and then doing analysis in another machine of a different > hardware architecture. This enables, for instance, to do: > > perf record -a --call-graph dwarf > > on a x86-32 or aarch64 system and then do 'perf report' on it on a > x86_64 workstation. (He Kuang) > > - Fix crash in build_id_cache__kallsyms_path(), recent regression (Wang Nan) > > Infrastructure: > > - Make tools/lib/bpf use the IS_ERR return facility consistently and also stop > using the _get_ term for non-reference count methods (Arnaldo Carvalho de > Melo) > > - 'perf config' refactorings (Taeung Song) > > Signed-off-by: Arnaldo Carvalho de Melo > > > Arnaldo Carvalho de Melo (7): > tools lib bpf: Use IS_ERR() reporting macros with bpf_map__get_private() > tools lib bpf: Rename bpf_map__get_name() to bpf_map__name() > tools lib bpf: Use IS_ERR() reporting macros with bpf_map__get_def() > tools lib bpf: Rename bpf_map__get_fd() to bpf_map__fd() > tools lib bpf: Remove _get_ from non-refcount method names > tools lib bpf: Make bpf_program__get_private() use IS_ERR() > tools lib bpf: Rename set_private() to set_priv() > > He Kuang (14): > perf unwind: Use LIBUNWIND_DIR for remote libunwind feature check > perf unwind: Decouple thread->address_space on libunwind > perf unwind: Introduce 'struct unwind_libunwind_ops' for local unwind > perf unwind: Move unwind__prepare_access from thread_new into > thread__insert_map > perf unwind: Don't mix LIBUNWIND_LIBS into LIBUNWIND_LDFLAGS > perf unwind: Separate local/remote libunwind config > perf unwind: Rename unwind-libunwind.c to unwind-libunwind-local.c > perf tools: Extract common API out of unwind-libunwind-local.c > perf tools: Export normalize_arch() function > perf unwind: Check the target platform before assigning unwind methods > perf unwind: Change fixed name of libunwind__arch_reg_id to macro > perf unwind: Introduce flag to separate local/remote unwind compilation > perf callchain: Support x86 target platform > perf callchain: Support aarch64 cross-platform > > Taeung Song (2): > perf config: Constructor should free its allocated memory when failing > perf config: Use new perf_config_set__init() to initialize config set > > Wang Nan (1): > perf tools: Fix crash in build_id_cache__kallsyms_path() > > tools/lib/bpf/libbpf.c| 60 +-- > tools/lib/bpf/libbpf.h| 25 +- > tools/perf/arch/arm/util/Build| 2 +- > tools/perf/arch/arm64/util/Build | 2 +- > tools/perf/arch/arm64/util/unwind-libunwind.c | 4 +- > tools/perf/arch/common.c | 2 +- > tools/perf/arch/common.h | 1 + > tools/perf/arch/x86/util/Build| 2 +- > tools/perf/arch/x86/util/unwind-libunwind.c | 6 +- > tools/perf/config/Makefile| 52 +- > tools/perf/util/Build | 3 + > tools/perf/util/bpf-loader.c | 132 +++-- > tools/perf/util/build-id.c| 11 +- > tools/perf/util/config.c | 51 +- > tools/perf/util/libunwind/arm64.c | 35 ++ > tools/perf/util/libunwind/x86_32.c| 37 ++ > tools/perf/util/machine.c | 14 +- > tools/perf/util/thread.c | 13 +- > tools/perf/util/thread.h | 9 +- > tools/perf/util/unwind-libunwind-local.c | 697 > ++ > tools/perf/util/unwind-libunwind.c| 688 ++--- > tools/perf/util/unwind.h | 22 +- > 22 files changed, 1056 insertions(+), 812 deletions(-) > create mode 100644 tools/perf/util/libunwind/arm64.c > create mode 100644 tools/perf/util/libunwind/x86_32.c > create mode 100644 tools/perf/util/unwind-libunwind-local.c Pulled,
Re: [GIT PULL 00/24] perf/core improvements and fixes
* Arnaldo Carvalho de Melo wrote: > Hi Ingo, > > Please consider pulling, this is on top of perf-core-for-mingo-20160606, > > Thanks, > > - Arnaldo > > The following changes since commit 7db91f251056f90fec4121f028680ab3153a0f3c: > > perf config: Handle the error when config set is NULL at collect_config() > (2016-06-06 17:43:19 -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-20160607 > > for you to fetch changes up to 057fbfb25cde4a368418f3f720cdc31d48800c4d: > > perf callchain: Support aarch64 cross-platform (2016-06-07 15:13:35 -0300) > > > perf/core improvements and fixes: > > User visible: > > - Support cross unwinding, i.e. collecting '--call-graph dwarf' perf.data > files > in one machine and then doing analysis in another machine of a different > hardware architecture. This enables, for instance, to do: > > perf record -a --call-graph dwarf > > on a x86-32 or aarch64 system and then do 'perf report' on it on a > x86_64 workstation. (He Kuang) > > - Fix crash in build_id_cache__kallsyms_path(), recent regression (Wang Nan) > > Infrastructure: > > - Make tools/lib/bpf use the IS_ERR return facility consistently and also stop > using the _get_ term for non-reference count methods (Arnaldo Carvalho de > Melo) > > - 'perf config' refactorings (Taeung Song) > > Signed-off-by: Arnaldo Carvalho de Melo > > > Arnaldo Carvalho de Melo (7): > tools lib bpf: Use IS_ERR() reporting macros with bpf_map__get_private() > tools lib bpf: Rename bpf_map__get_name() to bpf_map__name() > tools lib bpf: Use IS_ERR() reporting macros with bpf_map__get_def() > tools lib bpf: Rename bpf_map__get_fd() to bpf_map__fd() > tools lib bpf: Remove _get_ from non-refcount method names > tools lib bpf: Make bpf_program__get_private() use IS_ERR() > tools lib bpf: Rename set_private() to set_priv() > > He Kuang (14): > perf unwind: Use LIBUNWIND_DIR for remote libunwind feature check > perf unwind: Decouple thread->address_space on libunwind > perf unwind: Introduce 'struct unwind_libunwind_ops' for local unwind > perf unwind: Move unwind__prepare_access from thread_new into > thread__insert_map > perf unwind: Don't mix LIBUNWIND_LIBS into LIBUNWIND_LDFLAGS > perf unwind: Separate local/remote libunwind config > perf unwind: Rename unwind-libunwind.c to unwind-libunwind-local.c > perf tools: Extract common API out of unwind-libunwind-local.c > perf tools: Export normalize_arch() function > perf unwind: Check the target platform before assigning unwind methods > perf unwind: Change fixed name of libunwind__arch_reg_id to macro > perf unwind: Introduce flag to separate local/remote unwind compilation > perf callchain: Support x86 target platform > perf callchain: Support aarch64 cross-platform > > Taeung Song (2): > perf config: Constructor should free its allocated memory when failing > perf config: Use new perf_config_set__init() to initialize config set > > Wang Nan (1): > perf tools: Fix crash in build_id_cache__kallsyms_path() > > tools/lib/bpf/libbpf.c| 60 +-- > tools/lib/bpf/libbpf.h| 25 +- > tools/perf/arch/arm/util/Build| 2 +- > tools/perf/arch/arm64/util/Build | 2 +- > tools/perf/arch/arm64/util/unwind-libunwind.c | 4 +- > tools/perf/arch/common.c | 2 +- > tools/perf/arch/common.h | 1 + > tools/perf/arch/x86/util/Build| 2 +- > tools/perf/arch/x86/util/unwind-libunwind.c | 6 +- > tools/perf/config/Makefile| 52 +- > tools/perf/util/Build | 3 + > tools/perf/util/bpf-loader.c | 132 +++-- > tools/perf/util/build-id.c| 11 +- > tools/perf/util/config.c | 51 +- > tools/perf/util/libunwind/arm64.c | 35 ++ > tools/perf/util/libunwind/x86_32.c| 37 ++ > tools/perf/util/machine.c | 14 +- > tools/perf/util/thread.c | 13 +- > tools/perf/util/thread.h | 9 +- > tools/perf/util/unwind-libunwind-local.c | 697 > ++ > tools/perf/util/unwind-libunwind.c| 688 ++--- > tools/perf/util/unwind.h | 22 +- > 22 files changed, 1056 insertions(+), 812 deletions(-) > create mode 100644 tools/perf/util/libunwind/arm64.c > create mode 100644 tools/perf/util/libunwind/x86_32.c > create mode 100644 tools/perf/util/unwind-libunwind-local.c Pulled, thanks a lot Arnaldo! Ingo
Re: [GIT PULL 00/24] perf/core improvements and fixes
Hi, Arnaldo I found something weird about perf/core branch on your repository. (I don't know whether it is just my illusion or not) I can't pull new commits on top of perf-core-for-mingo-20160606 by normal way as below # git remote show acme * remote acme Fetch URL: git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux.git # git log --oneline edb13ed tools lib bpf: Rename set_private() to set_priv() be834ff tools lib bpf: Make bpf_program__get_private() use IS_ERR() ... # git pull acme perf/core From git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux * branchperf/core -> FETCH_HEAD Already up-to-date. And then nothing changed, I didn't also find new commits and new tag 'perf-core-for-mingo-20160607'. However, if using tag perf-core-for-mingo-20160607, I can get new commits from your repository as below. # git fetch acme --tags remote: Counting objects: 4888, done. remote: Compressing objects: 100% (4800/4800), done. remote: Total 4888 (delta 266), reused 1212 (delta 59) Receiving objects: 100% (4888/4888), 21.36 MiB | 3.72 MiB/s, done. Resolving deltas: 100% (266/266), done. From git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux * [new tag] perf-core-for-mingo-20160307 -> perf-core-for-mingo-20160307 * [new tag] perf-core-for-mingo-20160329 -> perf-core-for-mingo-20160329 * [new tag] perf-core-for-mingo-20160407 -> perf-core-for-mingo-20160407 * [new tag] perf-core-for-mingo-20160607 -> perf-core-for-mingo-20160607 * [new tag] perf-ebpf-for-mingo -> perf-ebpf-for-mingo * [new tag] perf-urgent-for-mingo-20160510 -> perf-urgent-for-mingo-20160510 * [new tag] v2.6.11-> v2.6.11 * [new tag] v2.6.11-tree -> v2.6.11-tree But there is a strange thing about git branch. I can't find which branch is that have tag perf-core-for-mingo-20160607 like below. # git branch -a --contains perf-core-for-mingo-20160607 As the final outcome, I got new commits on top of perf-core-for-mingo-20160606 directly using a tag 'perf-core-for-mingo-20160607' as below. # git reset --hard perf-core-for-mingo-20160607 HEAD is now at 057fbfb perf callchain: Support aarch64 cross-platform But isn't it a problem ? Just use a tag? Thanks, Taeung On 06/08/2016 05:04 AM, Arnaldo Carvalho de Melo wrote: Hi Ingo, Please consider pulling, this is on top of perf-core-for-mingo-20160606, Thanks, - Arnaldo The following changes since commit 7db91f251056f90fec4121f028680ab3153a0f3c: perf config: Handle the error when config set is NULL at collect_config() (2016-06-06 17:43:19 -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-20160607 for you to fetch changes up to 057fbfb25cde4a368418f3f720cdc31d48800c4d: perf callchain: Support aarch64 cross-platform (2016-06-07 15:13:35 -0300) perf/core improvements and fixes: User visible: - Support cross unwinding, i.e. collecting '--call-graph dwarf' perf.data files in one machine and then doing analysis in another machine of a different hardware architecture. This enables, for instance, to do: perf record -a --call-graph dwarf on a x86-32 or aarch64 system and then do 'perf report' on it on a x86_64 workstation. (He Kuang) - Fix crash in build_id_cache__kallsyms_path(), recent regression (Wang Nan) Infrastructure: - Make tools/lib/bpf use the IS_ERR return facility consistently and also stop using the _get_ term for non-reference count methods (Arnaldo Carvalho de Melo) - 'perf config' refactorings (Taeung Song) Signed-off-by: Arnaldo Carvalho de MeloArnaldo Carvalho de Melo (7): tools lib bpf: Use IS_ERR() reporting macros with bpf_map__get_private() tools lib bpf: Rename bpf_map__get_name() to bpf_map__name() tools lib bpf: Use IS_ERR() reporting macros with bpf_map__get_def() tools lib bpf: Rename bpf_map__get_fd() to bpf_map__fd() tools lib bpf: Remove _get_ from non-refcount method names tools lib bpf: Make bpf_program__get_private() use IS_ERR() tools lib bpf: Rename set_private() to set_priv() He Kuang (14): perf unwind: Use LIBUNWIND_DIR for remote libunwind feature check perf unwind: Decouple thread->address_space on libunwind perf unwind: Introduce 'struct unwind_libunwind_ops' for local unwind perf unwind: Move unwind__prepare_access from thread_new into thread__insert_map perf unwind: Don't mix LIBUNWIND_LIBS into LIBUNWIND_LDFLAGS perf unwind: Separate local/remote libunwind config perf unwind: Rename unwind-libunwind.c to unwind-libunwind-local.c perf tools: Extract common API out of unwind-libunwind-local.c perf tools: Export normalize_arch() function
Re: [GIT PULL 00/24] perf/core improvements and fixes
Hi, Arnaldo I found something weird about perf/core branch on your repository. (I don't know whether it is just my illusion or not) I can't pull new commits on top of perf-core-for-mingo-20160606 by normal way as below # git remote show acme * remote acme Fetch URL: git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux.git # git log --oneline edb13ed tools lib bpf: Rename set_private() to set_priv() be834ff tools lib bpf: Make bpf_program__get_private() use IS_ERR() ... # git pull acme perf/core From git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux * branchperf/core -> FETCH_HEAD Already up-to-date. And then nothing changed, I didn't also find new commits and new tag 'perf-core-for-mingo-20160607'. However, if using tag perf-core-for-mingo-20160607, I can get new commits from your repository as below. # git fetch acme --tags remote: Counting objects: 4888, done. remote: Compressing objects: 100% (4800/4800), done. remote: Total 4888 (delta 266), reused 1212 (delta 59) Receiving objects: 100% (4888/4888), 21.36 MiB | 3.72 MiB/s, done. Resolving deltas: 100% (266/266), done. From git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux * [new tag] perf-core-for-mingo-20160307 -> perf-core-for-mingo-20160307 * [new tag] perf-core-for-mingo-20160329 -> perf-core-for-mingo-20160329 * [new tag] perf-core-for-mingo-20160407 -> perf-core-for-mingo-20160407 * [new tag] perf-core-for-mingo-20160607 -> perf-core-for-mingo-20160607 * [new tag] perf-ebpf-for-mingo -> perf-ebpf-for-mingo * [new tag] perf-urgent-for-mingo-20160510 -> perf-urgent-for-mingo-20160510 * [new tag] v2.6.11-> v2.6.11 * [new tag] v2.6.11-tree -> v2.6.11-tree But there is a strange thing about git branch. I can't find which branch is that have tag perf-core-for-mingo-20160607 like below. # git branch -a --contains perf-core-for-mingo-20160607 As the final outcome, I got new commits on top of perf-core-for-mingo-20160606 directly using a tag 'perf-core-for-mingo-20160607' as below. # git reset --hard perf-core-for-mingo-20160607 HEAD is now at 057fbfb perf callchain: Support aarch64 cross-platform But isn't it a problem ? Just use a tag? Thanks, Taeung On 06/08/2016 05:04 AM, Arnaldo Carvalho de Melo wrote: Hi Ingo, Please consider pulling, this is on top of perf-core-for-mingo-20160606, Thanks, - Arnaldo The following changes since commit 7db91f251056f90fec4121f028680ab3153a0f3c: perf config: Handle the error when config set is NULL at collect_config() (2016-06-06 17:43:19 -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-20160607 for you to fetch changes up to 057fbfb25cde4a368418f3f720cdc31d48800c4d: perf callchain: Support aarch64 cross-platform (2016-06-07 15:13:35 -0300) perf/core improvements and fixes: User visible: - Support cross unwinding, i.e. collecting '--call-graph dwarf' perf.data files in one machine and then doing analysis in another machine of a different hardware architecture. This enables, for instance, to do: perf record -a --call-graph dwarf on a x86-32 or aarch64 system and then do 'perf report' on it on a x86_64 workstation. (He Kuang) - Fix crash in build_id_cache__kallsyms_path(), recent regression (Wang Nan) Infrastructure: - Make tools/lib/bpf use the IS_ERR return facility consistently and also stop using the _get_ term for non-reference count methods (Arnaldo Carvalho de Melo) - 'perf config' refactorings (Taeung Song) Signed-off-by: Arnaldo Carvalho de Melo Arnaldo Carvalho de Melo (7): tools lib bpf: Use IS_ERR() reporting macros with bpf_map__get_private() tools lib bpf: Rename bpf_map__get_name() to bpf_map__name() tools lib bpf: Use IS_ERR() reporting macros with bpf_map__get_def() tools lib bpf: Rename bpf_map__get_fd() to bpf_map__fd() tools lib bpf: Remove _get_ from non-refcount method names tools lib bpf: Make bpf_program__get_private() use IS_ERR() tools lib bpf: Rename set_private() to set_priv() He Kuang (14): perf unwind: Use LIBUNWIND_DIR for remote libunwind feature check perf unwind: Decouple thread->address_space on libunwind perf unwind: Introduce 'struct unwind_libunwind_ops' for local unwind perf unwind: Move unwind__prepare_access from thread_new into thread__insert_map perf unwind: Don't mix LIBUNWIND_LIBS into LIBUNWIND_LDFLAGS perf unwind: Separate local/remote libunwind config perf unwind: Rename unwind-libunwind.c to unwind-libunwind-local.c perf tools: Extract common API out of unwind-libunwind-local.c perf tools: Export normalize_arch() function perf
Re: [GIT PULL 00/24] perf/core improvements and fixes
* Arnaldo Carvalho de Melo wrote: > From: Arnaldo Carvalho de Melo > > Hi Ingo, > > Please consider pulling, > > - Arnaldo > > The following changes since commit 6eedf416429a32e0216f61b8b690d25577b2b91e: > > Merge tag 'perf-core-for-mingo' of > git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/urgent > (2015-06-26 10:38:11 +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 36c8bb56a9f718a9a5f35d1834ca9dcec95deb4a: > > perf symbols: Check access permission when reading symbol files (2015-06-26 > 12:11:53 -0300) > > > perf/core improvements and fixes: > > User visible: > > - Validate syscall list passed via -e argument to 'perf trace' (Arnaldo > Carvalho de Melo) > > - Introduce 'perf stat --per-thread' (Jiri Olsa) > > - Check access permission for --kallsyms and --vmlinux (Li Zhang) > > Infrastructure: > > - Move stuff out of 'perf stat' and into the lib for further use (Jiri Olsa) > > Signed-off-by: Arnaldo Carvalho de Melo > > > Arnaldo Carvalho de Melo (1): > perf trace: Validate syscall list passed via -e argument > > Jiri Olsa (22): > perf thread_map: Introduce thread_map__reset function > perf thrad_map: Add comm string into array > perf tests: Add thread_map object tests > perf stat: Introduce perf_counts function > perf stat: Use xyarray for cpu evsel counts > perf stat: Make stats work over the thread dimension > perf stat: Rename struct perf_counts::cpu member to values > perf stat: Introduce perf_evlist__reset_stats > perf stat: Move perf_evsel__(alloc|free|reset)_stat_priv into stat > object > perf stat: Move perf_evsel__(alloc|free)_prev_raw_counts into stat > object > perf stat: Move perf_evlist__(alloc|free|reset)_stats into stat object > perf stat: Introduce perf_evsel__alloc_stats function > perf stat: Introduce perf_evsel__read function > perf stat: Introduce read_counters function > perf stat: Separate counters reading and processing > perf stat: Move zero_per_pkg into counter process code > perf stat: Move perf_stat initialization counter process code > perf stat: Remove perf_evsel__read_cb function > perf stat: Rename print_interval to process_interval > perf stat: Using init_stats instead of memset > perf stat: Introduce print_counters function > perf stat: Introduce --per-thread option > > Li Zhang (1): > perf symbols: Check access permission when reading symbol files > > tools/perf/Documentation/perf-stat.txt | 4 + > tools/perf/builtin-report.c| 11 + > tools/perf/builtin-stat.c | 402 > +++-- > tools/perf/builtin-trace.c | 32 +++ > tools/perf/tests/Build | 1 + > tools/perf/tests/builtin-test.c| 4 + > tools/perf/tests/openat-syscall-all-cpus.c | 6 +- > tools/perf/tests/openat-syscall.c | 4 +- > tools/perf/tests/tests.h | 1 + > tools/perf/tests/thread-map.c | 38 +++ > tools/perf/util/evlist.h | 1 - > tools/perf/util/evsel.c| 24 +- > tools/perf/util/evsel.h| 28 +- > tools/perf/util/python-ext-sources | 1 + > tools/perf/util/stat.c | 132 +- > tools/perf/util/stat.h | 47 +++- > tools/perf/util/symbol.c | 5 +- > tools/perf/util/thread_map.c | 76 +- > tools/perf/util/thread_map.h | 8 + > 19 files changed, 570 insertions(+), 255 deletions(-) > create mode 100644 tools/perf/tests/thread-map.c Pulled, thanks a lot Arnaldo! Ingo -- 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/24] perf/core improvements and fixes
* Arnaldo Carvalho de Melo a...@kernel.org wrote: From: Arnaldo Carvalho de Melo a...@redhat.com Hi Ingo, Please consider pulling, - Arnaldo The following changes since commit 6eedf416429a32e0216f61b8b690d25577b2b91e: Merge tag 'perf-core-for-mingo' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/urgent (2015-06-26 10:38:11 +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 36c8bb56a9f718a9a5f35d1834ca9dcec95deb4a: perf symbols: Check access permission when reading symbol files (2015-06-26 12:11:53 -0300) perf/core improvements and fixes: User visible: - Validate syscall list passed via -e argument to 'perf trace' (Arnaldo Carvalho de Melo) - Introduce 'perf stat --per-thread' (Jiri Olsa) - Check access permission for --kallsyms and --vmlinux (Li Zhang) Infrastructure: - Move stuff out of 'perf stat' and into the lib for further use (Jiri Olsa) Signed-off-by: Arnaldo Carvalho de Melo a...@redhat.com Arnaldo Carvalho de Melo (1): perf trace: Validate syscall list passed via -e argument Jiri Olsa (22): perf thread_map: Introduce thread_map__reset function perf thrad_map: Add comm string into array perf tests: Add thread_map object tests perf stat: Introduce perf_counts function perf stat: Use xyarray for cpu evsel counts perf stat: Make stats work over the thread dimension perf stat: Rename struct perf_counts::cpu member to values perf stat: Introduce perf_evlist__reset_stats perf stat: Move perf_evsel__(alloc|free|reset)_stat_priv into stat object perf stat: Move perf_evsel__(alloc|free)_prev_raw_counts into stat object perf stat: Move perf_evlist__(alloc|free|reset)_stats into stat object perf stat: Introduce perf_evsel__alloc_stats function perf stat: Introduce perf_evsel__read function perf stat: Introduce read_counters function perf stat: Separate counters reading and processing perf stat: Move zero_per_pkg into counter process code perf stat: Move perf_stat initialization counter process code perf stat: Remove perf_evsel__read_cb function perf stat: Rename print_interval to process_interval perf stat: Using init_stats instead of memset perf stat: Introduce print_counters function perf stat: Introduce --per-thread option Li Zhang (1): perf symbols: Check access permission when reading symbol files tools/perf/Documentation/perf-stat.txt | 4 + tools/perf/builtin-report.c| 11 + tools/perf/builtin-stat.c | 402 +++-- tools/perf/builtin-trace.c | 32 +++ tools/perf/tests/Build | 1 + tools/perf/tests/builtin-test.c| 4 + tools/perf/tests/openat-syscall-all-cpus.c | 6 +- tools/perf/tests/openat-syscall.c | 4 +- tools/perf/tests/tests.h | 1 + tools/perf/tests/thread-map.c | 38 +++ tools/perf/util/evlist.h | 1 - tools/perf/util/evsel.c| 24 +- tools/perf/util/evsel.h| 28 +- tools/perf/util/python-ext-sources | 1 + tools/perf/util/stat.c | 132 +- tools/perf/util/stat.h | 47 +++- tools/perf/util/symbol.c | 5 +- tools/perf/util/thread_map.c | 76 +- tools/perf/util/thread_map.h | 8 + 19 files changed, 570 insertions(+), 255 deletions(-) create mode 100644 tools/perf/tests/thread-map.c Pulled, thanks a lot Arnaldo! Ingo -- 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/24] perf/core improvements and fixes
On Fri, Mar 13, 2015 at 01:34:51PM +0100, Ingo Molnar wrote: > > * Arnaldo Carvalho de Melo wrote: > > > Infrastructure: > > > . Fix libbabeltrace detection (Jiri Olsa) > > So this still doesn't seem to work for me: > > ... libbabeltrace: [ OFF ] > > it should really not be included in the default build until the > required library features are more widely available in distros. the patch that moves babeltrace out of default check wasn't pulled in yet: http://marc.info/?l=linux-kernel=142606453815125=2 also note there's another bug in test-all that prevents the test-all speed up, fixed by this patch: http://marc.info/?l=linux-kernel=142606452415123=2 > > I think we should only use library features by default that are > available in the latest Fedora, SuSE and Ubuntu distros. We want them > to build and package perf and there's little point in adding features > that won't work on packaged up perf. I think we should have the possibility to work and commit new features even if the support is not yet in the main distros for such features we could: - leave those features out of the default features check like we'll do for babeltrace - maybe use some sort of EXPERIMENTAL config option dependency once we have the .config file support ;-) jirka -- 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/24] perf/core improvements and fixes
* Arnaldo Carvalho de Melo wrote: > Infrastructure: > . Fix libbabeltrace detection (Jiri Olsa) So this still doesn't seem to work for me: ... libbabeltrace: [ OFF ] it should really not be included in the default build until the required library features are more widely available in distros. I think we should only use library features by default that are available in the latest Fedora, SuSE and Ubuntu distros. We want them to build and package perf and there's little point in adding features that won't work on packaged up perf. Thanks, Ingo -- 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/24] perf/core improvements and fixes
On Fri, Mar 13, 2015 at 01:34:51PM +0100, Ingo Molnar wrote: * Arnaldo Carvalho de Melo a...@kernel.org wrote: Infrastructure: . Fix libbabeltrace detection (Jiri Olsa) So this still doesn't seem to work for me: ... libbabeltrace: [ OFF ] it should really not be included in the default build until the required library features are more widely available in distros. the patch that moves babeltrace out of default check wasn't pulled in yet: http://marc.info/?l=linux-kernelm=142606453815125w=2 also note there's another bug in test-all that prevents the test-all speed up, fixed by this patch: http://marc.info/?l=linux-kernelm=142606452415123w=2 I think we should only use library features by default that are available in the latest Fedora, SuSE and Ubuntu distros. We want them to build and package perf and there's little point in adding features that won't work on packaged up perf. I think we should have the possibility to work and commit new features even if the support is not yet in the main distros for such features we could: - leave those features out of the default features check like we'll do for babeltrace - maybe use some sort of EXPERIMENTAL config option dependency once we have the .config file support ;-) jirka -- 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/24] perf/core improvements and fixes
* Arnaldo Carvalho de Melo a...@kernel.org wrote: Infrastructure: . Fix libbabeltrace detection (Jiri Olsa) So this still doesn't seem to work for me: ... libbabeltrace: [ OFF ] it should really not be included in the default build until the required library features are more widely available in distros. I think we should only use library features by default that are available in the latest Fedora, SuSE and Ubuntu distros. We want them to build and package perf and there's little point in adding features that won't work on packaged up perf. Thanks, Ingo -- 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/24] perf/core improvements and fixes
* Arnaldo Carvalho de Melo wrote: > Hi Ingo, > > Please consider pulling, > > - Arnaldo > > The following changes since commit cc6cd47e7395bc05c5077009808b820633eb3f18: > > perf/x86: Tone down kernel messages when the PMU check fails in a virtual > environment (2014-10-03 06:04:41 +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 2c241bd35e6f626ad6f867dcf9fefdc2315f125f: > > perf symbols: Make sym->end be the first address after the symbol range > (2014-10-14 17:50:58 -0300) > > > perf/core improvements and fixes: > > Infrastructure: > > . Do not include a struct hists per perf_evsel, untangling the histogram code > from perf_evsel, to pave the way for exporting a minimalistic > tools/lib/api/perf/ library usable by tools/perf and initially by the rasd > daemon being developed by Borislav Petkov, Robert Richter and Jean Pihet. > (Arnaldo Carvalho de Melo) > > . Make perf_evlist__open(evlist, NULL, NULL), i.e. without cpu and thread > maps mean syswide monitoring, reducing the boilerplate for tools that > only want system wide mode. (Arnaldo Carvalho de Melo) > > . Fix off-by-one bugs in map->end handling (Stephane Eranian) > > . Fix off-by-one bug in maps__find(), also related to map->end handling > (Namhyung Kim) > > . Make struct symbol->end be the first addr after the symbol range, to make it > match the convention used for struct map->end. (Arnaldo Carvalho de Melo) > > . Fix perf_evlist__add_pollfd() error handling in 'perf kvm stat live' (Jiri > Olsa) > > . Fix python test build by moving callchain_param to an object linked into the > python binding (Jiri Olsa) > > Signed-off-by: Arnaldo Carvalho de Melo > > > Arnaldo Carvalho de Melo (18): > perf sched: Stop updating hists stats, not used > perf script: Stop updating hists stats, not used > perf evsel: Add hists helper > perf session: Don't count per evsel events > perf tools: Move events_stats struct to event.h > perf ui browsers: Add missing include > perf session: Remove last reference to hists struct > perf evsel: Subclassing > perf callchain: Move the callchain_param extern to callchain.h > perf tools: Remove hists from evsel > perf thread_map: Create dummy constructor out of open coded equivalent > perf evlist: Check that there is a thread_map when preparing a workload > perf evlist: Default to syswide target when no thread/cpu maps set > perf evsel: Add missing 'target' struct forward declaration > perf evsel: Make some exit routines static > perf machine: Add missing dsos->root rbtree root initialization > perf symbols: Fix map->end fixup > perf symbols: Make sym->end be the first address after the symbol range > > Jiri Olsa (4): > perf kvm stat live: Fix perf_evlist__add_pollfd error handling > perf kvm stat live: Use perf_evlist__add_pollfd return fd position > perf kvm stat live: Use fdarray object instead of pollfd > perf callchain: Move callchain_param to util object in to fix python > test > > Namhyung Kim (1): > perf tools: Fixup off-by-one comparision in maps__find > > Stephane Eranian (1): > perf tools: fix off-by-one error in maps > > tools/perf/builtin-annotate.c | 14 +++-- > tools/perf/builtin-diff.c | 21 --- > tools/perf/builtin-kvm.c | 22 +++ > tools/perf/builtin-record.c| 1 + > tools/perf/builtin-report.c| 24 --- > tools/perf/builtin-sched.c | 3 - > tools/perf/builtin-script.c| 1 - > tools/perf/builtin-top.c | 60 ++ > tools/perf/tests/builtin-test.c| 5 ++ > tools/perf/tests/hists_cumulate.c | 8 +-- > tools/perf/tests/hists_filter.c| 23 +++ > tools/perf/tests/hists_link.c | 23 --- > tools/perf/tests/hists_output.c| 20 +++--- > tools/perf/ui/browsers/header.c| 1 + > tools/perf/ui/browsers/hists.c | 20 +++--- > tools/perf/ui/gtk/hists.c | 2 +- > tools/perf/util/annotate.c | 8 +-- > tools/perf/util/callchain.h| 2 + > tools/perf/util/event.h| 26 > tools/perf/util/evlist.c | 48 +- > tools/perf/util/evsel.c| 66 ++- > tools/perf/util/evsel.h| 14 ++--- >
Re: [GIT PULL 00/24] perf/core improvements and fixes
* Arnaldo Carvalho de Melo a...@kernel.org wrote: Hi Ingo, Please consider pulling, - Arnaldo The following changes since commit cc6cd47e7395bc05c5077009808b820633eb3f18: perf/x86: Tone down kernel messages when the PMU check fails in a virtual environment (2014-10-03 06:04:41 +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 2c241bd35e6f626ad6f867dcf9fefdc2315f125f: perf symbols: Make sym-end be the first address after the symbol range (2014-10-14 17:50:58 -0300) perf/core improvements and fixes: Infrastructure: . Do not include a struct hists per perf_evsel, untangling the histogram code from perf_evsel, to pave the way for exporting a minimalistic tools/lib/api/perf/ library usable by tools/perf and initially by the rasd daemon being developed by Borislav Petkov, Robert Richter and Jean Pihet. (Arnaldo Carvalho de Melo) . Make perf_evlist__open(evlist, NULL, NULL), i.e. without cpu and thread maps mean syswide monitoring, reducing the boilerplate for tools that only want system wide mode. (Arnaldo Carvalho de Melo) . Fix off-by-one bugs in map-end handling (Stephane Eranian) . Fix off-by-one bug in maps__find(), also related to map-end handling (Namhyung Kim) . Make struct symbol-end be the first addr after the symbol range, to make it match the convention used for struct map-end. (Arnaldo Carvalho de Melo) . Fix perf_evlist__add_pollfd() error handling in 'perf kvm stat live' (Jiri Olsa) . Fix python test build by moving callchain_param to an object linked into the python binding (Jiri Olsa) Signed-off-by: Arnaldo Carvalho de Melo a...@redhat.com Arnaldo Carvalho de Melo (18): perf sched: Stop updating hists stats, not used perf script: Stop updating hists stats, not used perf evsel: Add hists helper perf session: Don't count per evsel events perf tools: Move events_stats struct to event.h perf ui browsers: Add missing include perf session: Remove last reference to hists struct perf evsel: Subclassing perf callchain: Move the callchain_param extern to callchain.h perf tools: Remove hists from evsel perf thread_map: Create dummy constructor out of open coded equivalent perf evlist: Check that there is a thread_map when preparing a workload perf evlist: Default to syswide target when no thread/cpu maps set perf evsel: Add missing 'target' struct forward declaration perf evsel: Make some exit routines static perf machine: Add missing dsos-root rbtree root initialization perf symbols: Fix map-end fixup perf symbols: Make sym-end be the first address after the symbol range Jiri Olsa (4): perf kvm stat live: Fix perf_evlist__add_pollfd error handling perf kvm stat live: Use perf_evlist__add_pollfd return fd position perf kvm stat live: Use fdarray object instead of pollfd perf callchain: Move callchain_param to util object in to fix python test Namhyung Kim (1): perf tools: Fixup off-by-one comparision in maps__find Stephane Eranian (1): perf tools: fix off-by-one error in maps tools/perf/builtin-annotate.c | 14 +++-- tools/perf/builtin-diff.c | 21 --- tools/perf/builtin-kvm.c | 22 +++ tools/perf/builtin-record.c| 1 + tools/perf/builtin-report.c| 24 --- tools/perf/builtin-sched.c | 3 - tools/perf/builtin-script.c| 1 - tools/perf/builtin-top.c | 60 ++ tools/perf/tests/builtin-test.c| 5 ++ tools/perf/tests/hists_cumulate.c | 8 +-- tools/perf/tests/hists_filter.c| 23 +++ tools/perf/tests/hists_link.c | 23 --- tools/perf/tests/hists_output.c| 20 +++--- tools/perf/ui/browsers/header.c| 1 + tools/perf/ui/browsers/hists.c | 20 +++--- tools/perf/ui/gtk/hists.c | 2 +- tools/perf/util/annotate.c | 8 +-- tools/perf/util/callchain.h| 2 + tools/perf/util/event.h| 26 tools/perf/util/evlist.c | 48 +- tools/perf/util/evsel.c| 66 ++- tools/perf/util/evsel.h| 14 ++--- tools/perf/util/hist.c | 73 +- tools/perf/util/hist.h
Re: [GIT PULL 00/24] perf/core improvements and fixes
On Tue, Aug 21, 2012 at 11:32:31AM +0200, Ingo Molnar wrote: > > * Arnaldo Carvalho de Melo wrote: > SNIP > > One minor observation, the Makefile tells us: > > Makefile:496: No libunwind found. Please install libunwind >= 0.99 > > I guess that should be libunwind-dev[el], right? Plain libunwind > is not enough. right, will fix it thanks, jirka -- 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/24] perf/core improvements and fixes
* Arnaldo Carvalho de Melo wrote: > Hi Ingo, > > Please consider pulling, this is on top of my previous pull requests, > > - Arnaldo > > The following changes since commit 0fe7d7e9761ec7e23350b5543ddac470bb3cde1e: > > perf symbols: Add description of JIT interface (2012-08-13 14:55:02 -0300) > > 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 78bc3ee69efb1124b8478c7527389a826074: > > perf hists: Rename and move some functions (2012-08-20 09:47:31 -0300) > > > perf/core improvements and fixes: > > . Fix include order for bison/flex-generated C files, from Ben Hutchings > > . Build fixes and documentation corrections from David Ahern > > . Group parsing support, from Jiri Olsa > > . UI/gtk refactorings and improvements from Namhyung Kim > > . NULL deref fix for perf script, from Namhyung Kim > > . Assorted cleanups from Robert Richter > > . Let O= makes handle relative paths, from Steven Rostedt > > Signed-off-by: Arnaldo Carvalho de Melo > > > Arnaldo Carvalho de Melo (3): > perf tools: Add missing files to build the python binding > perf evlist: Rename __group method to __set_leader > perf evlist: Introduce evsel list accessors > > Ben Hutchings (1): > perf tools: Fix include order for bison/flex-generated C files > > David Ahern (3): > perf script perl/python: Fix libexec scripts path in Documentation > perf: silence GTK2 probing errors > perf symbols: Fix builds with NO_LIBELF set > > Jiri Olsa (4): > perf tools: Add support to parse event group syntax > perf tools: Add support to update event modifier > perf tools: Enable grouping logic for parsed events > perf test: Add automated tests for event group parsing > > Namhyung Kim (8): > perf script: Fix a NULL pointer dereference > perf ui: Introduce struct ui_helpline > perf ui gtk: Implement helpline_fns > perf ui/gtk: Use helpline API in browser > perf ui gtk: Add perf_gtk__show_helpline() for pr_* > perf ui gtk: Ensure not to call gtk_main_quit() twice > perf hists: Separate out hist print functions > perf hists: Rename and move some functions > > Robert Richter (4): > perf tools: Fix type for evsel->ids and add size check for ids > perf tools: Report number of pmu type of unknown events > perf tools: Rename some variables for better understanding > perf tools: Rename global variable 'events' in util/header.c > > Steven Rostedt (1): > perf tools: Let O= makes handle relative paths > > tools/perf/Documentation/perf-script-perl.txt |4 +- > tools/perf/Documentation/perf-script-python.txt | 10 +- > tools/perf/Makefile | 20 +- > tools/perf/builtin-record.c | 17 +- > tools/perf/builtin-stat.c | 15 +- > tools/perf/builtin-test.c | 10 +- > tools/perf/builtin-top.c| 18 +- > tools/perf/ui/browsers/hists.c |4 +- > tools/perf/ui/gtk/browser.c |5 +- > tools/perf/ui/gtk/gtk.h |2 + > tools/perf/ui/gtk/helpline.c| 56 ++ > tools/perf/ui/gtk/setup.c |3 + > tools/perf/ui/gtk/util.c|5 - > tools/perf/ui/helpline.c| 56 +- > tools/perf/ui/helpline.h| 33 +- > tools/perf/ui/setup.c |4 + > tools/perf/ui/stdio/hist.c | 653 ++ > tools/perf/ui/tui/helpline.c| 57 ++ > tools/perf/ui/tui/setup.c |2 - > tools/perf/util/debug.c |4 +- > tools/perf/util/debug.h |8 +- > tools/perf/util/evlist.c| 73 +-- > tools/perf/util/evlist.h| 27 +- > tools/perf/util/evsel.c | 52 +- > tools/perf/util/evsel.h | 20 +- > tools/perf/util/header.c| 97 ++-- > tools/perf/util/header.h|2 +- > tools/perf/util/hist.c | 677 > +-- > tools/perf/util/hist.h |6 +- > tools/perf/util/parse-events-test.c | 387 ++--- > tools/perf/util/parse-events.c | 93 +++- > tools/perf/util/parse-events.h |4 +- > tools/perf/util/parse-events.l |2 + > tools/perf/util/parse-events.y | 93 +++- > tools/perf/util/python-ext-sources
Re: [GIT PULL 00/24] perf/core improvements and fixes
* Arnaldo Carvalho de Melo a...@infradead.org wrote: Hi Ingo, Please consider pulling, this is on top of my previous pull requests, - Arnaldo The following changes since commit 0fe7d7e9761ec7e23350b5543ddac470bb3cde1e: perf symbols: Add description of JIT interface (2012-08-13 14:55:02 -0300) 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 78bc3ee69efb1124b8478c7527389a826074: perf hists: Rename and move some functions (2012-08-20 09:47:31 -0300) perf/core improvements and fixes: . Fix include order for bison/flex-generated C files, from Ben Hutchings . Build fixes and documentation corrections from David Ahern . Group parsing support, from Jiri Olsa . UI/gtk refactorings and improvements from Namhyung Kim . NULL deref fix for perf script, from Namhyung Kim . Assorted cleanups from Robert Richter . Let O= makes handle relative paths, from Steven Rostedt Signed-off-by: Arnaldo Carvalho de Melo a...@redhat.com Arnaldo Carvalho de Melo (3): perf tools: Add missing files to build the python binding perf evlist: Rename __group method to __set_leader perf evlist: Introduce evsel list accessors Ben Hutchings (1): perf tools: Fix include order for bison/flex-generated C files David Ahern (3): perf script perl/python: Fix libexec scripts path in Documentation perf: silence GTK2 probing errors perf symbols: Fix builds with NO_LIBELF set Jiri Olsa (4): perf tools: Add support to parse event group syntax perf tools: Add support to update event modifier perf tools: Enable grouping logic for parsed events perf test: Add automated tests for event group parsing Namhyung Kim (8): perf script: Fix a NULL pointer dereference perf ui: Introduce struct ui_helpline perf ui gtk: Implement helpline_fns perf ui/gtk: Use helpline API in browser perf ui gtk: Add perf_gtk__show_helpline() for pr_* perf ui gtk: Ensure not to call gtk_main_quit() twice perf hists: Separate out hist print functions perf hists: Rename and move some functions Robert Richter (4): perf tools: Fix type for evsel-ids and add size check for ids perf tools: Report number of pmu type of unknown events perf tools: Rename some variables for better understanding perf tools: Rename global variable 'events' in util/header.c Steven Rostedt (1): perf tools: Let O= makes handle relative paths tools/perf/Documentation/perf-script-perl.txt |4 +- tools/perf/Documentation/perf-script-python.txt | 10 +- tools/perf/Makefile | 20 +- tools/perf/builtin-record.c | 17 +- tools/perf/builtin-stat.c | 15 +- tools/perf/builtin-test.c | 10 +- tools/perf/builtin-top.c| 18 +- tools/perf/ui/browsers/hists.c |4 +- tools/perf/ui/gtk/browser.c |5 +- tools/perf/ui/gtk/gtk.h |2 + tools/perf/ui/gtk/helpline.c| 56 ++ tools/perf/ui/gtk/setup.c |3 + tools/perf/ui/gtk/util.c|5 - tools/perf/ui/helpline.c| 56 +- tools/perf/ui/helpline.h| 33 +- tools/perf/ui/setup.c |4 + tools/perf/ui/stdio/hist.c | 653 ++ tools/perf/ui/tui/helpline.c| 57 ++ tools/perf/ui/tui/setup.c |2 - tools/perf/util/debug.c |4 +- tools/perf/util/debug.h |8 +- tools/perf/util/evlist.c| 73 +-- tools/perf/util/evlist.h| 27 +- tools/perf/util/evsel.c | 52 +- tools/perf/util/evsel.h | 20 +- tools/perf/util/header.c| 97 ++-- tools/perf/util/header.h|2 +- tools/perf/util/hist.c | 677 +-- tools/perf/util/hist.h |6 +- tools/perf/util/parse-events-test.c | 387 ++--- tools/perf/util/parse-events.c | 93 +++- tools/perf/util/parse-events.h |4 +- tools/perf/util/parse-events.l |2 + tools/perf/util/parse-events.y | 93 +++- tools/perf/util/python-ext-sources |2 + tools/perf/util/python.c|7 +-
Re: [GIT PULL 00/24] perf/core improvements and fixes
On Tue, Aug 21, 2012 at 11:32:31AM +0200, Ingo Molnar wrote: * Arnaldo Carvalho de Melo a...@infradead.org wrote: SNIP One minor observation, the Makefile tells us: Makefile:496: No libunwind found. Please install libunwind = 0.99 I guess that should be libunwind-dev[el], right? Plain libunwind is not enough. right, will fix it thanks, jirka -- 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/