Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 07100877 authored by Daniel Bristot de Oliveira's avatar Daniel Bristot de Oliveira Committed by Arnaldo Carvalho de Melo
Browse files

perf scripts: Fallback to syscalls:* when raw_syscalls:* is not available



Older kernels (e.g., RHEL6) do system call tracing via the
syscalls:sys_{enter,exit} tracepoints rather than using raw_syscalls:*.

Update perf python and perl scripts to fallback to syscalls:* when
raw_syscalls:* isn't available.

Signed-off-by: default avatarDaniel Bristot de Oliveira <bristot@redhat.com>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: Luis Claudio R. Goncalves <lgoncalv@redhat.com>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Link: http://lkml.kernel.org/r/5a6c64081a3375bc3bc66351b14559678ef4d71e.1402507908.git.bristot@redhat.com


Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
parent 1c92f885
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
#!/bin/bash
perf record -e raw_syscalls:sys_exit $@
(perf record -e raw_syscalls:sys_exit $@ || \
 perf record -e syscalls:sys_exit $@) 2> /dev/null
+5 −0
Original line number Diff line number Diff line
@@ -26,6 +26,11 @@ sub raw_syscalls::sys_exit
	}
}

sub syscalls::sys_exit
{
	raw_syscalls::sys_exit(@_)
}

sub trace_end
{
    printf("\nfailed syscalls by comm:\n\n");
+2 −1
Original line number Diff line number Diff line
#!/bin/bash
perf record -e raw_syscalls:sys_exit $@
(perf record -e raw_syscalls:sys_exit $@ || \
 perf record -e syscalls:sys_exit $@) 2> /dev/null
+2 −1
Original line number Diff line number Diff line
#!/bin/bash
perf record -e raw_syscalls:sys_enter $@
(perf record -e raw_syscalls:sys_enter $@ || \
 perf record -e syscalls:sys_enter $@) 2> /dev/null
+2 −1
Original line number Diff line number Diff line
#!/bin/bash
perf record -e raw_syscalls:sys_enter $@
(perf record -e raw_syscalls:sys_enter $@ || \
 perf record -e syscalls:sys_enter $@) 2> /dev/null
Loading