diff options
author | Ingo Molnar <mingo@kernel.org> | 2014-07-05 05:28:13 -0400 |
---|---|---|
committer | Ingo Molnar <mingo@kernel.org> | 2014-07-05 05:28:13 -0400 |
commit | 432100ba2aacc2146a2b1f26e5b5ae5d6e29972a (patch) | |
tree | de1bd7b51e55c8b61507a56d69e6e333b4c84cd7 /tools/perf/scripts/python | |
parent | 2172c1f5aa58310784f358ca20fdddfcdc2a0d7b (diff) | |
parent | e281a9606d7073c517f2571e83faaff029ddc1cf (diff) |
Merge tag 'perf-core-for-mingo' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/core
Pull perf/core improvements and fixes from Arnaldo Carvalho de Melo:
New features:
* Add support for pagefault tracing in 'trace', please see multiple examples
in the changeset messages (Stanislav Fomichev).
User visible changes:
* Fallback to syscalls:* when raw_syscalls:* is not available in the perl and
python perf scripts. (Daniel Bristot de Oliveira)
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Diffstat (limited to 'tools/perf/scripts/python')
8 files changed, 28 insertions, 4 deletions
diff --git a/tools/perf/scripts/python/bin/failed-syscalls-by-pid-record b/tools/perf/scripts/python/bin/failed-syscalls-by-pid-record index 8104895a7b67..74685f318379 100644 --- a/tools/perf/scripts/python/bin/failed-syscalls-by-pid-record +++ b/tools/perf/scripts/python/bin/failed-syscalls-by-pid-record | |||
@@ -1,2 +1,3 @@ | |||
1 | #!/bin/bash | 1 | #!/bin/bash |
2 | perf record -e raw_syscalls:sys_exit $@ | 2 | (perf record -e raw_syscalls:sys_exit $@ || \ |
3 | perf record -e syscalls:sys_exit $@) 2> /dev/null | ||
diff --git a/tools/perf/scripts/python/bin/sctop-record b/tools/perf/scripts/python/bin/sctop-record index 4efbfaa7f6a5..d6940841e54f 100644 --- a/tools/perf/scripts/python/bin/sctop-record +++ b/tools/perf/scripts/python/bin/sctop-record | |||
@@ -1,2 +1,3 @@ | |||
1 | #!/bin/bash | 1 | #!/bin/bash |
2 | perf record -e raw_syscalls:sys_enter $@ | 2 | (perf record -e raw_syscalls:sys_enter $@ || \ |
3 | perf record -e syscalls:sys_enter $@) 2> /dev/null | ||
diff --git a/tools/perf/scripts/python/bin/syscall-counts-by-pid-record b/tools/perf/scripts/python/bin/syscall-counts-by-pid-record index 4efbfaa7f6a5..d6940841e54f 100644 --- a/tools/perf/scripts/python/bin/syscall-counts-by-pid-record +++ b/tools/perf/scripts/python/bin/syscall-counts-by-pid-record | |||
@@ -1,2 +1,3 @@ | |||
1 | #!/bin/bash | 1 | #!/bin/bash |
2 | perf record -e raw_syscalls:sys_enter $@ | 2 | (perf record -e raw_syscalls:sys_enter $@ || \ |
3 | perf record -e syscalls:sys_enter $@) 2> /dev/null | ||
diff --git a/tools/perf/scripts/python/bin/syscall-counts-record b/tools/perf/scripts/python/bin/syscall-counts-record index 4efbfaa7f6a5..d6940841e54f 100644 --- a/tools/perf/scripts/python/bin/syscall-counts-record +++ b/tools/perf/scripts/python/bin/syscall-counts-record | |||
@@ -1,2 +1,3 @@ | |||
1 | #!/bin/bash | 1 | #!/bin/bash |
2 | perf record -e raw_syscalls:sys_enter $@ | 2 | (perf record -e raw_syscalls:sys_enter $@ || \ |
3 | perf record -e syscalls:sys_enter $@) 2> /dev/null | ||
diff --git a/tools/perf/scripts/python/failed-syscalls-by-pid.py b/tools/perf/scripts/python/failed-syscalls-by-pid.py index 85805fac4116..266a8364bce5 100644 --- a/tools/perf/scripts/python/failed-syscalls-by-pid.py +++ b/tools/perf/scripts/python/failed-syscalls-by-pid.py | |||
@@ -50,6 +50,11 @@ def raw_syscalls__sys_exit(event_name, context, common_cpu, | |||
50 | except TypeError: | 50 | except TypeError: |
51 | syscalls[common_comm][common_pid][id][ret] = 1 | 51 | syscalls[common_comm][common_pid][id][ret] = 1 |
52 | 52 | ||
53 | def syscalls__sys_exit(event_name, context, common_cpu, | ||
54 | common_secs, common_nsecs, common_pid, common_comm, | ||
55 | id, ret): | ||
56 | raw_syscalls__sys_exit(**locals()) | ||
57 | |||
53 | def print_error_totals(): | 58 | def print_error_totals(): |
54 | if for_comm is not None: | 59 | if for_comm is not None: |
55 | print "\nsyscall errors for %s:\n\n" % (for_comm), | 60 | print "\nsyscall errors for %s:\n\n" % (for_comm), |
diff --git a/tools/perf/scripts/python/sctop.py b/tools/perf/scripts/python/sctop.py index 42c267e292fa..c9f3058b7dd4 100644 --- a/tools/perf/scripts/python/sctop.py +++ b/tools/perf/scripts/python/sctop.py | |||
@@ -53,6 +53,11 @@ def raw_syscalls__sys_enter(event_name, context, common_cpu, | |||
53 | except TypeError: | 53 | except TypeError: |
54 | syscalls[id] = 1 | 54 | syscalls[id] = 1 |
55 | 55 | ||
56 | def syscalls__sys_enter(event_name, context, common_cpu, | ||
57 | common_secs, common_nsecs, common_pid, common_comm, | ||
58 | id, args): | ||
59 | raw_syscalls__sys_enter(**locals()) | ||
60 | |||
56 | def print_syscall_totals(interval): | 61 | def print_syscall_totals(interval): |
57 | while 1: | 62 | while 1: |
58 | clear_term() | 63 | clear_term() |
diff --git a/tools/perf/scripts/python/syscall-counts-by-pid.py b/tools/perf/scripts/python/syscall-counts-by-pid.py index c64d1c55d745..cf2054c529c9 100644 --- a/tools/perf/scripts/python/syscall-counts-by-pid.py +++ b/tools/perf/scripts/python/syscall-counts-by-pid.py | |||
@@ -48,6 +48,11 @@ def raw_syscalls__sys_enter(event_name, context, common_cpu, | |||
48 | except TypeError: | 48 | except TypeError: |
49 | syscalls[common_comm][common_pid][id] = 1 | 49 | syscalls[common_comm][common_pid][id] = 1 |
50 | 50 | ||
51 | def syscalls__sys_enter(event_name, context, common_cpu, | ||
52 | common_secs, common_nsecs, common_pid, common_comm, | ||
53 | id, args): | ||
54 | raw_syscalls__sys_enter(**locals()) | ||
55 | |||
51 | def print_syscall_totals(): | 56 | def print_syscall_totals(): |
52 | if for_comm is not None: | 57 | if for_comm is not None: |
53 | print "\nsyscall events for %s:\n\n" % (for_comm), | 58 | print "\nsyscall events for %s:\n\n" % (for_comm), |
diff --git a/tools/perf/scripts/python/syscall-counts.py b/tools/perf/scripts/python/syscall-counts.py index b435d3f188e8..92b29381bd39 100644 --- a/tools/perf/scripts/python/syscall-counts.py +++ b/tools/perf/scripts/python/syscall-counts.py | |||
@@ -44,6 +44,11 @@ def raw_syscalls__sys_enter(event_name, context, common_cpu, | |||
44 | except TypeError: | 44 | except TypeError: |
45 | syscalls[id] = 1 | 45 | syscalls[id] = 1 |
46 | 46 | ||
47 | def syscalls__sys_enter(event_name, context, common_cpu, | ||
48 | common_secs, common_nsecs, common_pid, common_comm, | ||
49 | id, args): | ||
50 | raw_syscalls__sys_enter(**locals()) | ||
51 | |||
47 | def print_syscall_totals(): | 52 | def print_syscall_totals(): |
48 | if for_comm is not None: | 53 | if for_comm is not None: |
49 | print "\nsyscall events for %s:\n\n" % (for_comm), | 54 | print "\nsyscall events for %s:\n\n" % (for_comm), |