2017-04-13 06:03:14

by Ravi Bangoria

[permalink] [raw]
Subject: [PATCH] perf trace: Add usage of --no-syscalls in man page

perf trace supports --no-syscalls option but it's not listed in
the man page. (Though, I see an example using --no-syscalls in
EXAMPLES section.)

Signed-off-by: Ravi Bangoria <[email protected]>
---
tools/perf/Documentation/perf-trace.txt | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/tools/perf/Documentation/perf-trace.txt b/tools/perf/Documentation/perf-trace.txt
index afd7286..c1e3288 100644
--- a/tools/perf/Documentation/perf-trace.txt
+++ b/tools/perf/Documentation/perf-trace.txt
@@ -123,7 +123,8 @@ the thread executes on the designated CPUs. Default is to monitor all CPUs.
major or all pagefaults. Default value is maj.

--syscalls::
- Trace system calls. This options is enabled by default.
+ Trace system calls. This options is enabled by default, disable with
+ --no-syscalls.

--call-graph [mode,type,min[,limit],order[,key][,branch]]::
Setup and enable call-graph (stack chain/backtrace) recording.
--
2.1.4


2017-04-13 13:51:17

by Arnaldo Carvalho de Melo

[permalink] [raw]
Subject: Re: [PATCH] perf trace: Add usage of --no-syscalls in man page

Em Thu, Apr 13, 2017 at 11:32:12AM +0530, Ravi Bangoria escreveu:
> perf trace supports --no-syscalls option but it's not listed in
> the man page. (Though, I see an example using --no-syscalls in
> EXAMPLES section.)

Thanks, applied.

I'm thinking about making --no-syscalls the default when 'trace' is
hardlinked to 'perf', i.e. 'perf trace' remains as it is, but if one
calls 'trace', then --no-syscalls is the default, as after non-syscall
events got supported I find myself using --no-syscalls way too often,
what do you think?

Or perhaps have a 'perf strace' to try to have as much in common with
'strace' in terms of default behaviour, options, etc?

- Arnaldo

> Signed-off-by: Ravi Bangoria <[email protected]>
> ---
> tools/perf/Documentation/perf-trace.txt | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/tools/perf/Documentation/perf-trace.txt b/tools/perf/Documentation/perf-trace.txt
> index afd7286..c1e3288 100644
> --- a/tools/perf/Documentation/perf-trace.txt
> +++ b/tools/perf/Documentation/perf-trace.txt
> @@ -123,7 +123,8 @@ the thread executes on the designated CPUs. Default is to monitor all CPUs.
> major or all pagefaults. Default value is maj.
>
> --syscalls::
> - Trace system calls. This options is enabled by default.
> + Trace system calls. This options is enabled by default, disable with
> + --no-syscalls.
>
> --call-graph [mode,type,min[,limit],order[,key][,branch]]::
> Setup and enable call-graph (stack chain/backtrace) recording.
> --
> 2.1.4

2017-04-14 06:37:31

by Ravi Bangoria

[permalink] [raw]
Subject: Re: [PATCH] perf trace: Add usage of --no-syscalls in man page

Hi Arnaldo, Thanks for pulling the patch.

On Thursday 13 April 2017 07:21 PM, Arnaldo Carvalho de Melo wrote:
> Em Thu, Apr 13, 2017 at 11:32:12AM +0530, Ravi Bangoria escreveu:
>> perf trace supports --no-syscalls option but it's not listed in
>> the man page. (Though, I see an example using --no-syscalls in
>> EXAMPLES section.)
> Thanks, applied.
>
> I'm thinking about making --no-syscalls the default when 'trace' is
> hardlinked to 'perf', i.e. 'perf trace' remains as it is, but if one
> calls 'trace', then --no-syscalls is the default, as after non-syscall
> events got supported I find myself using --no-syscalls way too often,
> what do you think?

+1. Makes sense to me.

I also use 'perf trace' more often for non-syscall events.
So.. if others are okay please do it.

-Ravi

Subject: [tip:perf/core] perf trace: Add usage of --no-syscalls in man page

Commit-ID: 739cf305512cb852e852099f9e12dd66bf4df076
Gitweb: http://git.kernel.org/tip/739cf305512cb852e852099f9e12dd66bf4df076
Author: Ravi Bangoria <[email protected]>
AuthorDate: Thu, 13 Apr 2017 11:32:12 +0530
Committer: Arnaldo Carvalho de Melo <[email protected]>
CommitDate: Thu, 13 Apr 2017 10:54:04 -0300

perf trace: Add usage of --no-syscalls in man page

perf trace supports --no-syscalls option but it's not listed in the man
page. (Though, I see an example using --no-syscalls in EXAMPLES
section.)

Committer note:

The --no-syscalls option tells 'perf trace' not to automagically ask for
raw_syscalls:sys_{enter,exit} to then format it in a strace like way.

This become more used as 'perf trace' got support for arbitrary events,
such as tracepoints, so more and more we use:

# perf trace --no-syscalls -e nmi:*
0.000 nmi:nmi_handler:perf_event_nmi_handler() delta_ns: 36649 handled: 1)
0.019 nmi:nmi_handler:nmi_cpu_backtrace_handler() delta_ns: 2907 handled: 0)
0.676 nmi:nmi_handler:perf_event_nmi_handler() delta_ns: 9401 handled: 1)
0.680 nmi:nmi_handler:nmi_cpu_backtrace_handler() delta_ns: 288 handled: 0)
0.701 nmi:nmi_handler:perf_event_nmi_handler() delta_ns: 4977 handled: 1)
0.703 nmi:nmi_handler:nmi_cpu_backtrace_handler() delta_ns: 67 handled: 0)
0.736 nmi:nmi_handler:perf_event_nmi_handler() delta_ns: 8549 handled: 1)
^C#

Signed-off-by: Ravi Bangoria <[email protected]>
Cc: Alexander Shishkin <[email protected]>
Cc: Alexis Berlemont <[email protected]>
Cc: Peter Zijlstra <[email protected]>
Link: http://lkml.kernel.org/r/1492063332-5745-1-git-send-email-ravi.bangoria@linux.vnet.ibm.com
Signed-off-by: Arnaldo Carvalho de Melo <[email protected]>
---
tools/perf/Documentation/perf-trace.txt | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/tools/perf/Documentation/perf-trace.txt b/tools/perf/Documentation/perf-trace.txt
index afd7286..c1e3288 100644
--- a/tools/perf/Documentation/perf-trace.txt
+++ b/tools/perf/Documentation/perf-trace.txt
@@ -123,7 +123,8 @@ the thread executes on the designated CPUs. Default is to monitor all CPUs.
major or all pagefaults. Default value is maj.

--syscalls::
- Trace system calls. This options is enabled by default.
+ Trace system calls. This options is enabled by default, disable with
+ --no-syscalls.

--call-graph [mode,type,min[,limit],order[,key][,branch]]::
Setup and enable call-graph (stack chain/backtrace) recording.