* [GIT PULL 00/19] perf/core improvements and fixes
@ 2015-04-08 14:23 Arnaldo Carvalho de Melo
2015-04-08 14:23 ` [PATCH 03/19] tools lib traceevent: Honor operator priority Arnaldo Carvalho de Melo
` (2 more replies)
0 siblings, 3 replies; 4+ messages in thread
From: Arnaldo Carvalho de Melo @ 2015-04-08 14:23 UTC (permalink / raw)
To: Ingo Molnar
Cc: linux-kernel, Arnaldo Carvalho de Melo, Adrian Hunter,
Alexander Shishkin, Andi Kleen, Andrew Morton, Borislav Petkov,
David Ahern, Frederic Weisbecker, He Kuang, H. Peter Anvin,
Jiri Olsa, John Stultz, Joonsoo Kim, Kaixu Xia, Kan Liang,
Linus Torvalds, linux-mm, Markus T Metzger, Masami Hiramatsu,
Mathieu Poirier, Mike Galbraith, Minchan Kim, Namhyung Kim,
Paul Mackerras, Peter Zijlstra, pi3orama, Robert Richter,
Stephane Eranian, Steven Rostedt, Thomas Gleixner, Wang Nan,
William Cohen, Yunlong Song, Zefan Li, Arnaldo Carvalho de Melo
Hi Ingo,
Please consider pulling, it is the pull req from yesterday, minus a patch
that introduced a problem, plus a fex fixes.
I am investigating a problem I noticed for another patch that is upstream
and after that will get back to the removed patch from yesterday's batch,
- Arnaldo
The following changes since commit 6645f3187f5beb64f7a40515cfa18f3889264ece:
Merge tag 'perf-core-for-mingo' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/core (2015-04-03 07:00:02 +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 a1e12da4796a4ddd0e911687a290eb396d1c64bf:
perf tools: Add 'I' event modifier for exclude_idle bit (2015-04-08 11:00:16 -0300)
----------------------------------------------------------------
perf/core improvements and fixes:
- Teach about perf_event_attr.clockid to 'perf record' (Peter Zijlstra)
- perf sched replay improvements for high CPU core count machines (Yunlong Song)
- Consider PERF_RECORD_ events with cpumode == 0 in 'perf top', removing one
cause of long term memory usage buildup, i.e. not processing PERF_RECORD_EXIT
events (Arnaldo Carvalho de Melo)
- Add 'I' event modifier for perf_event_attr.exclude_idle bit (Jiri Olsa)
- Respect -i option 'in perf kmem' (Jiri Olsa)
Infrastructure:
- Honor operator priority in libtraceevent (Namhyung Kim)
- Merge all perf_event_attr print functions (Peter Zijlstra)
- Check kmaps access to make code more robust (Wang Nan)
- Fix inverted logic in perf_mmap__empty() (He Kuang)
- Fix ARM 32 'perf probe' building error (Wang Nan)
- Fix perf_event_attr tests (Jiri Olsa)
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
----------------------------------------------------------------
He Kuang (1):
perf evlist: Fix inverted logic in perf_mmap__empty
Jiri Olsa (3):
perf kmem: Respect -i option
perf tests: Fix attr tests
perf tools: Add 'I' event modifier for exclude_idle bit
Namhyung Kim (1):
tools lib traceevent: Honor operator priority
Peter Zijlstra (2):
perf record: Add clockid parameter
perf tools: Merge all perf_event_attr print functions
Wang Nan (3):
perf kmaps: Check kmaps to make code more robust
perf probe: Fix ARM 32 building error
perf report: Don't call map__kmap if map is NULL.
Yunlong Song (9):
perf sched replay: Use struct task_desc instead of struct task_task for correct meaning
perf sched replay: Increase the MAX_PID value to fix assertion failure problem
perf sched replay: Alloc the memory of pid_to_task dynamically to adapt to the unexpected change of pid_max
perf sched replay: Realloc the memory of pid_to_task stepwise to adapt to the different pid_max configurations
perf sched replay: Fix the segmentation fault problem caused by pr_err in threads
perf sched replay: Handle the dead halt of sem_wait when create_tasks() fails for any task
perf sched replay: Fix the EMFILE error caused by the limitation of the maximum open files
perf sched replay: Support using -f to override perf.data file ownership
perf sched replay: Use replay_repeat to calculate the runavg of cpu usage instead of the default value 10
tools/lib/traceevent/event-parse.c | 17 +-
tools/perf/Documentation/perf-list.txt | 1 +
tools/perf/Documentation/perf-record.txt | 7 +
tools/perf/builtin-kmem.c | 3 +-
tools/perf/builtin-record.c | 87 +++++++++
tools/perf/builtin-report.c | 2 +-
tools/perf/builtin-sched.c | 67 +++++--
tools/perf/perf.h | 2 +
tools/perf/tests/attr/base-record | 2 +-
tools/perf/tests/attr/base-stat | 2 +-
tools/perf/tests/parse-events.c | 40 ++++
tools/perf/util/evlist.c | 2 +-
tools/perf/util/evsel.c | 325 ++++++++++++++++---------------
tools/perf/util/evsel.h | 6 +
tools/perf/util/header.c | 28 +--
tools/perf/util/machine.c | 5 +-
tools/perf/util/map.c | 20 ++
tools/perf/util/map.h | 6 +-
tools/perf/util/parse-events.c | 8 +-
tools/perf/util/parse-events.l | 2 +-
tools/perf/util/probe-event.c | 5 +-
tools/perf/util/session.c | 3 +
tools/perf/util/symbol-elf.c | 16 +-
tools/perf/util/symbol.c | 34 +++-
24 files changed, 477 insertions(+), 213 deletions(-)
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
^ permalink raw reply [flat|nested] 4+ messages in thread
* [PATCH 03/19] tools lib traceevent: Honor operator priority
2015-04-08 14:23 [GIT PULL 00/19] perf/core improvements and fixes Arnaldo Carvalho de Melo
@ 2015-04-08 14:23 ` Arnaldo Carvalho de Melo
2015-04-08 14:23 ` [PATCH 04/19] perf kmem: Respect -i option Arnaldo Carvalho de Melo
2015-04-08 15:05 ` [GIT PULL 00/19] perf/core improvements and fixes Ingo Molnar
2 siblings, 0 replies; 4+ messages in thread
From: Arnaldo Carvalho de Melo @ 2015-04-08 14:23 UTC (permalink / raw)
To: Ingo Molnar
Cc: linux-kernel, Namhyung Kim, David Ahern, Jiri Olsa, Joonsoo Kim,
Minchan Kim, Peter Zijlstra, linux-mm, Arnaldo Carvalho de Melo
From: Namhyung Kim <namhyung@kernel.org>
Currently it ignores operator priority and just sets processed args as a
right operand. But it could result in priority inversion in case that
the right operand is also a operator arg and its priority is lower.
For example, following print format is from new kmem events.
"page=%p", REC->pfn != -1UL ? (((struct page *)(0xffffea0000000000UL)) + (REC->pfn)) : ((void *)0)
But this was treated as below:
REC->pfn != ((null - 1UL) ? ((struct page *)0xffffea0000000000UL + REC->pfn) : (void *) 0)
In this case, the right arg was '?' operator which has lower priority.
But it just sets the whole arg so making the output confusing - page was
always 0 or 1 since that's the result of logical operation.
With this patch, it can handle it properly like following:
((REC->pfn != (null - 1UL)) ? ((struct page *)0xffffea0000000000UL + REC->pfn) : (void *) 0)
Signed-off-by: Namhyung Kim <namhyung@kernel.org>
Acked-by: Steven Rostedt <rostedt@goodmis.org>
Cc: David Ahern <dsahern@gmail.com>
Cc: Jiri Olsa <jolsa@redhat.com>
Cc: Joonsoo Kim <js1304@gmail.com>
Cc: Minchan Kim <minchan@kernel.org>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: linux-mm@kvack.org
Link: http://lkml.kernel.org/r/1428298576-9785-10-git-send-email-namhyung@kernel.org
[ Replaced 'swap' with 'rotate' in a comment as requested by Steve and agreed by Namhyung ]
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
---
tools/lib/traceevent/event-parse.c | 17 ++++++++++++++++-
1 file changed, 16 insertions(+), 1 deletion(-)
diff --git a/tools/lib/traceevent/event-parse.c b/tools/lib/traceevent/event-parse.c
index 6d31b6419d37..12a7e2a40c89 100644
--- a/tools/lib/traceevent/event-parse.c
+++ b/tools/lib/traceevent/event-parse.c
@@ -1939,7 +1939,22 @@ process_op(struct event_format *event, struct print_arg *arg, char **tok)
goto out_warn_free;
type = process_arg_token(event, right, tok, type);
- arg->op.right = right;
+
+ if (right->type == PRINT_OP &&
+ get_op_prio(arg->op.op) < get_op_prio(right->op.op)) {
+ struct print_arg tmp;
+
+ /* rotate ops according to the priority */
+ arg->op.right = right->op.left;
+
+ tmp = *arg;
+ *arg = *right;
+ *right = tmp;
+
+ arg->op.left = right;
+ } else {
+ arg->op.right = right;
+ }
} else if (strcmp(token, "[") == 0) {
--
1.9.3
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
^ permalink raw reply related [flat|nested] 4+ messages in thread
* [PATCH 04/19] perf kmem: Respect -i option
2015-04-08 14:23 [GIT PULL 00/19] perf/core improvements and fixes Arnaldo Carvalho de Melo
2015-04-08 14:23 ` [PATCH 03/19] tools lib traceevent: Honor operator priority Arnaldo Carvalho de Melo
@ 2015-04-08 14:23 ` Arnaldo Carvalho de Melo
2015-04-08 15:05 ` [GIT PULL 00/19] perf/core improvements and fixes Ingo Molnar
2 siblings, 0 replies; 4+ messages in thread
From: Arnaldo Carvalho de Melo @ 2015-04-08 14:23 UTC (permalink / raw)
To: Ingo Molnar
Cc: linux-kernel, Jiri Olsa, David Ahern, Jiri Olsa, Joonsoo Kim,
Minchan Kim, Peter Zijlstra, linux-mm, Namhyung Kim,
Arnaldo Carvalho de Melo
From: Jiri Olsa <jolsa@kernel.org>
Currently the perf kmem does not respect -i option.
Initializing the file.path properly after options get parsed.
Signed-off-by: Jiri Olsa <jolsa@kernel.org>
Cc: David Ahern <dsahern@gmail.com>
Cc: Jiri Olsa <jolsa@redhat.com>
Cc: Joonsoo Kim <js1304@gmail.com>
Cc: Minchan Kim <minchan@kernel.org>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: linux-mm@kvack.org
Link: http://lkml.kernel.org/r/1428298576-9785-2-git-send-email-namhyung@kernel.org
Signed-off-by: Namhyung Kim <namhyung@kernel.org>
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
---
tools/perf/builtin-kmem.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/tools/perf/builtin-kmem.c b/tools/perf/builtin-kmem.c
index ac303ef9f2f0..4ebf65c79434 100644
--- a/tools/perf/builtin-kmem.c
+++ b/tools/perf/builtin-kmem.c
@@ -663,7 +663,6 @@ int cmd_kmem(int argc, const char **argv, const char *prefix __maybe_unused)
{
const char * const default_sort_order = "frag,hit,bytes";
struct perf_data_file file = {
- .path = input_name,
.mode = PERF_DATA_MODE_READ,
};
const struct option kmem_options[] = {
@@ -701,6 +700,8 @@ int cmd_kmem(int argc, const char **argv, const char *prefix __maybe_unused)
return __cmd_record(argc, argv);
}
+ file.path = input_name;
+
session = perf_session__new(&file, false, &perf_kmem);
if (session == NULL)
return -1;
--
1.9.3
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [GIT PULL 00/19] perf/core improvements and fixes
2015-04-08 14:23 [GIT PULL 00/19] perf/core improvements and fixes Arnaldo Carvalho de Melo
2015-04-08 14:23 ` [PATCH 03/19] tools lib traceevent: Honor operator priority Arnaldo Carvalho de Melo
2015-04-08 14:23 ` [PATCH 04/19] perf kmem: Respect -i option Arnaldo Carvalho de Melo
@ 2015-04-08 15:05 ` Ingo Molnar
2 siblings, 0 replies; 4+ messages in thread
From: Ingo Molnar @ 2015-04-08 15:05 UTC (permalink / raw)
To: Arnaldo Carvalho de Melo
Cc: linux-kernel, Adrian Hunter, Alexander Shishkin, Andi Kleen,
Andrew Morton, Borislav Petkov, David Ahern, Frederic Weisbecker,
He Kuang, H. Peter Anvin, Jiri Olsa, John Stultz, Joonsoo Kim,
Kaixu Xia, Kan Liang, Linus Torvalds, linux-mm, Markus T Metzger,
Masami Hiramatsu, Mathieu Poirier, Mike Galbraith, Minchan Kim,
Namhyung Kim, Paul Mackerras, Peter Zijlstra, pi3orama,
Robert Richter, Stephane Eranian, Steven Rostedt, Thomas Gleixner,
Wang Nan, William Cohen, Yunlong Song, Zefan Li,
Arnaldo Carvalho de Melo
* Arnaldo Carvalho de Melo <acme@kernel.org> wrote:
> Hi Ingo,
>
> Please consider pulling, it is the pull req from yesterday, minus a patch
> that introduced a problem, plus a fex fixes.
>
> I am investigating a problem I noticed for another patch that is upstream
> and after that will get back to the removed patch from yesterday's batch,
>
> - Arnaldo
>
> The following changes since commit 6645f3187f5beb64f7a40515cfa18f3889264ece:
>
> Merge tag 'perf-core-for-mingo' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/core (2015-04-03 07:00:02 +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 a1e12da4796a4ddd0e911687a290eb396d1c64bf:
>
> perf tools: Add 'I' event modifier for exclude_idle bit (2015-04-08 11:00:16 -0300)
>
> ----------------------------------------------------------------
> perf/core improvements and fixes:
>
> - Teach about perf_event_attr.clockid to 'perf record' (Peter Zijlstra)
>
> - perf sched replay improvements for high CPU core count machines (Yunlong Song)
>
> - Consider PERF_RECORD_ events with cpumode == 0 in 'perf top', removing one
> cause of long term memory usage buildup, i.e. not processing PERF_RECORD_EXIT
> events (Arnaldo Carvalho de Melo)
>
> - Add 'I' event modifier for perf_event_attr.exclude_idle bit (Jiri Olsa)
>
> - Respect -i option 'in perf kmem' (Jiri Olsa)
>
> Infrastructure:
>
> - Honor operator priority in libtraceevent (Namhyung Kim)
>
> - Merge all perf_event_attr print functions (Peter Zijlstra)
>
> - Check kmaps access to make code more robust (Wang Nan)
>
> - Fix inverted logic in perf_mmap__empty() (He Kuang)
>
> - Fix ARM 32 'perf probe' building error (Wang Nan)
>
> - Fix perf_event_attr tests (Jiri Olsa)
>
> Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
>
> ----------------------------------------------------------------
> He Kuang (1):
> perf evlist: Fix inverted logic in perf_mmap__empty
>
> Jiri Olsa (3):
> perf kmem: Respect -i option
> perf tests: Fix attr tests
> perf tools: Add 'I' event modifier for exclude_idle bit
>
> Namhyung Kim (1):
> tools lib traceevent: Honor operator priority
>
> Peter Zijlstra (2):
> perf record: Add clockid parameter
> perf tools: Merge all perf_event_attr print functions
>
> Wang Nan (3):
> perf kmaps: Check kmaps to make code more robust
> perf probe: Fix ARM 32 building error
> perf report: Don't call map__kmap if map is NULL.
>
> Yunlong Song (9):
> perf sched replay: Use struct task_desc instead of struct task_task for correct meaning
> perf sched replay: Increase the MAX_PID value to fix assertion failure problem
> perf sched replay: Alloc the memory of pid_to_task dynamically to adapt to the unexpected change of pid_max
> perf sched replay: Realloc the memory of pid_to_task stepwise to adapt to the different pid_max configurations
> perf sched replay: Fix the segmentation fault problem caused by pr_err in threads
> perf sched replay: Handle the dead halt of sem_wait when create_tasks() fails for any task
> perf sched replay: Fix the EMFILE error caused by the limitation of the maximum open files
> perf sched replay: Support using -f to override perf.data file ownership
> perf sched replay: Use replay_repeat to calculate the runavg of cpu usage instead of the default value 10
>
> tools/lib/traceevent/event-parse.c | 17 +-
> tools/perf/Documentation/perf-list.txt | 1 +
> tools/perf/Documentation/perf-record.txt | 7 +
> tools/perf/builtin-kmem.c | 3 +-
> tools/perf/builtin-record.c | 87 +++++++++
> tools/perf/builtin-report.c | 2 +-
> tools/perf/builtin-sched.c | 67 +++++--
> tools/perf/perf.h | 2 +
> tools/perf/tests/attr/base-record | 2 +-
> tools/perf/tests/attr/base-stat | 2 +-
> tools/perf/tests/parse-events.c | 40 ++++
> tools/perf/util/evlist.c | 2 +-
> tools/perf/util/evsel.c | 325 ++++++++++++++++---------------
> tools/perf/util/evsel.h | 6 +
> tools/perf/util/header.c | 28 +--
> tools/perf/util/machine.c | 5 +-
> tools/perf/util/map.c | 20 ++
> tools/perf/util/map.h | 6 +-
> tools/perf/util/parse-events.c | 8 +-
> tools/perf/util/parse-events.l | 2 +-
> tools/perf/util/probe-event.c | 5 +-
> tools/perf/util/session.c | 3 +
> tools/perf/util/symbol-elf.c | 16 +-
> tools/perf/util/symbol.c | 34 +++-
> 24 files changed, 477 insertions(+), 213 deletions(-)
Pulled, thanks a lot Arnaldo!
Ingo
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2015-04-08 15:05 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-04-08 14:23 [GIT PULL 00/19] perf/core improvements and fixes Arnaldo Carvalho de Melo
2015-04-08 14:23 ` [PATCH 03/19] tools lib traceevent: Honor operator priority Arnaldo Carvalho de Melo
2015-04-08 14:23 ` [PATCH 04/19] perf kmem: Respect -i option Arnaldo Carvalho de Melo
2015-04-08 15:05 ` [GIT PULL 00/19] perf/core improvements and fixes Ingo Molnar
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).