Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1364128 > unrolled thread

[PATCH 2/6] perf mem: Add -U/-K (--all-user/--all-kernel) options

Started byJiri Olsa <jolsa@kernel.org>
First post2016-03-24 14:00 +0100
Last post2016-03-31 09:00 +0200
Articles 3 — 3 participants

Back to article view | Back to linux.kernel

This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by below is the oldest one visible, not the original post.


Contents

  [PATCH 2/6] perf mem: Add -U/-K (--all-user/--all-kernel) options Jiri Olsa <jolsa@kernel.org> - 2016-03-24 14:00 +0100
    Re: [PATCH 2/6] perf mem: Add -U/-K (--all-user/--all-kernel) options Arnaldo Carvalho de Melo <acme@kernel.org> - 2016-03-24 17:00 +0100
    [tip:perf/core] perf mem: Add -U/-K (--all-user/--all-kernel)  options tip-bot for Jiri Olsa <tipbot@zytor.com> - 2016-03-31 09:00 +0200

#1364128 — [PATCH 2/6] perf mem: Add -U/-K (--all-user/--all-kernel) options

FromJiri Olsa <jolsa@kernel.org>
Date2016-03-24 14:00 +0100
Subject[PATCH 2/6] perf mem: Add -U/-K (--all-user/--all-kernel) options
Message-ID<rgd1N-2Ln-29@gated-at.bofh.it>
Add -U/-K (--all-user/--all-kernel) options to use
the perf record --all-user/--all-kernel options.

Link: http://lkml.kernel.org/n/tip-adxn5c48oe0gmjrjmq6we27q@git.kernel.org
Signed-off-by: Jiri Olsa <jolsa@kernel.org>
---
 tools/perf/Documentation/perf-mem.txt |  8 ++++++++
 tools/perf/builtin-mem.c              | 11 ++++++++++-
 2 files changed, 18 insertions(+), 1 deletion(-)

diff --git a/tools/perf/Documentation/perf-mem.txt b/tools/perf/Documentation/perf-mem.txt
index 6676d2784733..f8e23f50ce59 100644
--- a/tools/perf/Documentation/perf-mem.txt
+++ b/tools/perf/Documentation/perf-mem.txt
@@ -51,6 +51,14 @@ OPTIONS
 --ldload::
 	Specify desired latency for loads event.
 
+-K::
+--all-kernel::
+	Configure all used events to run in kernel space.
+
+-U::
+--all-user::
+	Configure all used events to run in user space.
+
 SEE ALSO
 --------
 linkperf:perf-record[1], linkperf:perf-report[1]
diff --git a/tools/perf/builtin-mem.c b/tools/perf/builtin-mem.c
index bf0bfca5be20..5dad76e1c8df 100644
--- a/tools/perf/builtin-mem.c
+++ b/tools/perf/builtin-mem.c
@@ -62,6 +62,7 @@ static int __cmd_record(int argc, const char **argv, struct perf_mem *mem)
 	int rec_argc, i = 0, j;
 	const char **rec_argv;
 	int ret;
+	bool all_user = false, all_kernel = false;
 	struct option options[] = {
 	OPT_CALLBACK('e', "event", &mem, "event",
 		     "event selector. use 'perf mem record -e list' to list available events",
@@ -69,13 +70,15 @@ static int __cmd_record(int argc, const char **argv, struct perf_mem *mem)
 	OPT_UINTEGER(0, "ldlat", &perf_mem_events__loads_ldlat, "mem-loads latency"),
 	OPT_INCR('v', "verbose", &verbose,
 		 "be more verbose (show counter open errors, etc)"),
+	OPT_BOOLEAN('U', "--all-user", &all_user, "collect only user level data"),
+	OPT_BOOLEAN('K', "--all-kernel", &all_kernel, "collect only kernel level data"),
 	OPT_END()
 	};
 
 	argc = parse_options(argc, argv, options, record_mem_usage,
 			     PARSE_OPT_STOP_AT_NON_OPTION);
 
-	rec_argc = argc + 7; /* max number of arguments */
+	rec_argc = argc + 9; /* max number of arguments */
 	rec_argv = calloc(rec_argc + 1, sizeof(char *));
 	if (!rec_argv)
 		return -1;
@@ -104,6 +107,12 @@ static int __cmd_record(int argc, const char **argv, struct perf_mem *mem)
 		rec_argv[i++] = perf_mem_events__name(j);
 	};
 
+	if (all_user)
+		rec_argv[i++] = "--all-user";
+
+	if (all_kernel)
+		rec_argv[i++] = "--all-kernel";
+
 	for (j = 0; j < argc; j++, i++)
 		rec_argv[i] = argv[j];
 
-- 
2.4.3

[toc] | [next] | [standalone]


#1364296

FromArnaldo Carvalho de Melo <acme@kernel.org>
Date2016-03-24 17:00 +0100
Message-ID<rgfPZ-4J1-37@gated-at.bofh.it>
In reply to#1364128
Em Thu, Mar 24, 2016 at 01:52:16PM +0100, Jiri Olsa escreveu:
> Add -U/-K (--all-user/--all-kernel) options to use
> the perf record --all-user/--all-kernel options.

Applying this after fixing up the clash due to the first patch not being
merged so far.
 
> Link: http://lkml.kernel.org/n/tip-adxn5c48oe0gmjrjmq6we27q@git.kernel.org
> Signed-off-by: Jiri Olsa <jolsa@kernel.org>
> ---
>  tools/perf/Documentation/perf-mem.txt |  8 ++++++++
>  tools/perf/builtin-mem.c              | 11 ++++++++++-
>  2 files changed, 18 insertions(+), 1 deletion(-)
> 
> diff --git a/tools/perf/Documentation/perf-mem.txt b/tools/perf/Documentation/perf-mem.txt
> index 6676d2784733..f8e23f50ce59 100644
> --- a/tools/perf/Documentation/perf-mem.txt
> +++ b/tools/perf/Documentation/perf-mem.txt
> @@ -51,6 +51,14 @@ OPTIONS
>  --ldload::
>  	Specify desired latency for loads event.
>  
> +-K::
> +--all-kernel::
> +	Configure all used events to run in kernel space.
> +
> +-U::
> +--all-user::
> +	Configure all used events to run in user space.
> +
>  SEE ALSO
>  --------
>  linkperf:perf-record[1], linkperf:perf-report[1]
> diff --git a/tools/perf/builtin-mem.c b/tools/perf/builtin-mem.c
> index bf0bfca5be20..5dad76e1c8df 100644
> --- a/tools/perf/builtin-mem.c
> +++ b/tools/perf/builtin-mem.c
> @@ -62,6 +62,7 @@ static int __cmd_record(int argc, const char **argv, struct perf_mem *mem)
>  	int rec_argc, i = 0, j;
>  	const char **rec_argv;
>  	int ret;
> +	bool all_user = false, all_kernel = false;
>  	struct option options[] = {
>  	OPT_CALLBACK('e', "event", &mem, "event",
>  		     "event selector. use 'perf mem record -e list' to list available events",
> @@ -69,13 +70,15 @@ static int __cmd_record(int argc, const char **argv, struct perf_mem *mem)
>  	OPT_UINTEGER(0, "ldlat", &perf_mem_events__loads_ldlat, "mem-loads latency"),
>  	OPT_INCR('v', "verbose", &verbose,
>  		 "be more verbose (show counter open errors, etc)"),
> +	OPT_BOOLEAN('U', "--all-user", &all_user, "collect only user level data"),
> +	OPT_BOOLEAN('K', "--all-kernel", &all_kernel, "collect only kernel level data"),
>  	OPT_END()
>  	};
>  
>  	argc = parse_options(argc, argv, options, record_mem_usage,
>  			     PARSE_OPT_STOP_AT_NON_OPTION);
>  
> -	rec_argc = argc + 7; /* max number of arguments */
> +	rec_argc = argc + 9; /* max number of arguments */
>  	rec_argv = calloc(rec_argc + 1, sizeof(char *));
>  	if (!rec_argv)
>  		return -1;
> @@ -104,6 +107,12 @@ static int __cmd_record(int argc, const char **argv, struct perf_mem *mem)
>  		rec_argv[i++] = perf_mem_events__name(j);
>  	};
>  
> +	if (all_user)
> +		rec_argv[i++] = "--all-user";
> +
> +	if (all_kernel)
> +		rec_argv[i++] = "--all-kernel";
> +
>  	for (j = 0; j < argc; j++, i++)
>  		rec_argv[i] = argv[j];
>  
> -- 
> 2.4.3

[toc] | [prev] | [next] | [standalone]


#1367886 — [tip:perf/core] perf mem: Add -U/-K (--all-user/--all-kernel) options

Fromtip-bot for Jiri Olsa <tipbot@zytor.com>
Date2016-03-31 09:00 +0200
Subject[tip:perf/core] perf mem: Add -U/-K (--all-user/--all-kernel) options
Message-ID<riEKf-Xu-35@gated-at.bofh.it>
In reply to#1364128
Commit-ID:  ad16511b0e404652331a5350c522d0824f8209de
Gitweb:     http://git.kernel.org/tip/ad16511b0e404652331a5350c522d0824f8209de
Author:     Jiri Olsa <jolsa@kernel.org>
AuthorDate: Thu, 24 Mar 2016 13:52:16 +0100
Committer:  Arnaldo Carvalho de Melo <acme@redhat.com>
CommitDate: Wed, 30 Mar 2016 11:14:07 -0300

perf mem: Add -U/-K (--all-user/--all-kernel) options

Add -U/-K (--all-user/--all-kernel) options to use the perf record
--all-user/--all-kernel options.

Signed-off-by: Jiri Olsa <jolsa@kernel.org>
Cc: Andi Kleen <ak@linux.intel.com>
Cc: David Ahern <dsahern@gmail.com>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: Stephane Eranian <eranian@google.com>
Link: http://lkml.kernel.org/r/1458823940-24583-3-git-send-email-jolsa@kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
---
 tools/perf/Documentation/perf-mem.txt |  8 ++++++++
 tools/perf/builtin-mem.c              | 11 ++++++++++-
 2 files changed, 18 insertions(+), 1 deletion(-)

diff --git a/tools/perf/Documentation/perf-mem.txt b/tools/perf/Documentation/perf-mem.txt
index 43310d8..1d6092c 100644
--- a/tools/perf/Documentation/perf-mem.txt
+++ b/tools/perf/Documentation/perf-mem.txt
@@ -48,6 +48,14 @@ OPTIONS
 	option can be passed in record mode. It will be interpreted the same way as perf
 	record.
 
+-K::
+--all-kernel::
+	Configure all used events to run in kernel space.
+
+-U::
+--all-user::
+	Configure all used events to run in user space.
+
 SEE ALSO
 --------
 linkperf:perf-record[1], linkperf:perf-report[1]
diff --git a/tools/perf/builtin-mem.c b/tools/perf/builtin-mem.c
index 85db3be..1dc140c 100644
--- a/tools/perf/builtin-mem.c
+++ b/tools/perf/builtin-mem.c
@@ -62,19 +62,22 @@ static int __cmd_record(int argc, const char **argv, struct perf_mem *mem)
 	int rec_argc, i = 0, j;
 	const char **rec_argv;
 	int ret;
+	bool all_user = false, all_kernel = false;
 	struct option options[] = {
 	OPT_CALLBACK('e', "event", &mem, "event",
 		     "event selector. use 'perf mem record -e list' to list available events",
 		     parse_record_events),
 	OPT_INCR('v', "verbose", &verbose,
 		 "be more verbose (show counter open errors, etc)"),
+	OPT_BOOLEAN('U', "--all-user", &all_user, "collect only user level data"),
+	OPT_BOOLEAN('K', "--all-kernel", &all_kernel, "collect only kernel level data"),
 	OPT_END()
 	};
 
 	argc = parse_options(argc, argv, options, record_mem_usage,
 			     PARSE_OPT_STOP_AT_NON_OPTION);
 
-	rec_argc = argc + 7; /* max number of arguments */
+	rec_argc = argc + 9; /* max number of arguments */
 	rec_argv = calloc(rec_argc + 1, sizeof(char *));
 	if (!rec_argv)
 		return -1;
@@ -103,6 +106,12 @@ static int __cmd_record(int argc, const char **argv, struct perf_mem *mem)
 		rec_argv[i++] = perf_mem_events__name(j);
 	};
 
+	if (all_user)
+		rec_argv[i++] = "--all-user";
+
+	if (all_kernel)
+		rec_argv[i++] = "--all-kernel";
+
 	for (j = 0; j < argc; j++, i++)
 		rec_argv[i] = argv[j];
 

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web