* [PATCH 1/2] perf tools: Disable ordered_events for report raw dump @ 2020-08-27 13:48 Jiri Olsa 2020-08-27 13:48 ` [PATCH 2/2] perf tools: Call test_attr__open directly Jiri Olsa 2020-09-01 15:12 ` [PATCH 1/2] perf tools: Disable ordered_events for report raw dump Arnaldo Carvalho de Melo 0 siblings, 2 replies; 5+ messages in thread From: Jiri Olsa @ 2020-08-27 13:48 UTC (permalink / raw) To: Arnaldo Carvalho de Melo Cc: lkml, Ingo Molnar, Namhyung Kim, Alexander Shishkin, Peter Zijlstra, Michael Petlan, Ian Rogers Disable ordered_events for report raw dump, because for raw dump we want to see events as they are stored in the perf.data file, not sorted by time. Signed-off-by: Jiri Olsa <jolsa@kernel.org> --- tools/perf/builtin-report.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/tools/perf/builtin-report.c b/tools/perf/builtin-report.c index ece1cddfcd7c..3c74c9c0f3c3 100644 --- a/tools/perf/builtin-report.c +++ b/tools/perf/builtin-report.c @@ -1332,6 +1332,9 @@ int cmd_report(int argc, const char **argv) if (report.mmaps_mode) report.tasks_mode = true; + if (dump_trace) + report.tool.ordered_events = false; + if (quiet) perf_quiet_option(); -- 2.26.2 ^ permalink raw reply related [flat|nested] 5+ messages in thread
* [PATCH 2/2] perf tools: Call test_attr__open directly 2020-08-27 13:48 [PATCH 1/2] perf tools: Disable ordered_events for report raw dump Jiri Olsa @ 2020-08-27 13:48 ` Jiri Olsa 2020-08-27 19:32 ` [PATCHv2] " Jiri Olsa 2020-09-01 15:12 ` [PATCH 1/2] perf tools: Disable ordered_events for report raw dump Arnaldo Carvalho de Melo 1 sibling, 1 reply; 5+ messages in thread From: Jiri Olsa @ 2020-08-27 13:48 UTC (permalink / raw) To: Arnaldo Carvalho de Melo Cc: lkml, Ingo Molnar, Namhyung Kim, Alexander Shishkin, Peter Zijlstra, Michael Petlan, Ian Rogers There's no longer need to have test_attr__open inside sys_perf_event_open call, because both record and stat call evsel__open_cpu, so we can call it directly from there and not polute perf-sys.h header. Signed-off-by: Jiri Olsa <jolsa@kernel.org> --- tools/perf/perf-sys.h | 22 ++-------------------- tools/perf/tests/attr.c | 2 +- tools/perf/util/evsel.c | 5 +++++ tools/perf/util/util.h | 6 ++++++ 4 files changed, 14 insertions(+), 21 deletions(-) diff --git a/tools/perf/perf-sys.h b/tools/perf/perf-sys.h index 15e458e150bd..7a2264e1e4e1 100644 --- a/tools/perf/perf-sys.h +++ b/tools/perf/perf-sys.h @@ -9,31 +9,13 @@ struct perf_event_attr; -extern bool test_attr__enabled; -void test_attr__ready(void); -void test_attr__init(void); -void test_attr__open(struct perf_event_attr *attr, pid_t pid, int cpu, - int fd, int group_fd, unsigned long flags); - -#ifndef HAVE_ATTR_TEST -#define HAVE_ATTR_TEST 1 -#endif - static inline int sys_perf_event_open(struct perf_event_attr *attr, pid_t pid, int cpu, int group_fd, unsigned long flags) { - int fd; - - fd = syscall(__NR_perf_event_open, attr, pid, cpu, - group_fd, flags); - -#if HAVE_ATTR_TEST - if (unlikely(test_attr__enabled)) - test_attr__open(attr, pid, cpu, fd, group_fd, flags); -#endif - return fd; + return syscall(__NR_perf_event_open, attr, pid, cpu, + group_fd, flags); } #endif /* _PERF_SYS_H */ diff --git a/tools/perf/tests/attr.c b/tools/perf/tests/attr.c index a9599ab8c471..ec972e0892ab 100644 --- a/tools/perf/tests/attr.c +++ b/tools/perf/tests/attr.c @@ -30,9 +30,9 @@ #include <sys/types.h> #include <sys/stat.h> #include <unistd.h> -#include "../perf-sys.h" #include <subcmd/exec-cmd.h> #include "event.h" +#include "util.h" #include "tests.h" #define ENV "PERF_TEST_ATTR" diff --git a/tools/perf/util/evsel.c b/tools/perf/util/evsel.c index fd865002cbbd..6f0e23105cf8 100644 --- a/tools/perf/util/evsel.c +++ b/tools/perf/util/evsel.c @@ -1680,6 +1680,11 @@ static int evsel__open_cpu(struct evsel *evsel, struct perf_cpu_map *cpus, FD(evsel, cpu, thread) = fd; + if (unlikely(test_attr__enabled)) { + test_attr__open(&evsel->core.attr, pid, cpus->map[cpu], + fd, group_fd, flags); + } + if (fd < 0) { err = -errno; diff --git a/tools/perf/util/util.h b/tools/perf/util/util.h index f486fdd3a538..ad737052e597 100644 --- a/tools/perf/util/util.h +++ b/tools/perf/util/util.h @@ -62,4 +62,10 @@ char *perf_exe(char *buf, int len); #endif #endif +extern bool test_attr__enabled; +void test_attr__ready(void); +void test_attr__init(void); +struct perf_event_attr; +void test_attr__open(struct perf_event_attr *attr, pid_t pid, int cpu, + int fd, int group_fd, unsigned long flags); #endif /* GIT_COMPAT_UTIL_H */ -- 2.26.2 ^ permalink raw reply related [flat|nested] 5+ messages in thread
* [PATCHv2] perf tools: Call test_attr__open directly 2020-08-27 13:48 ` [PATCH 2/2] perf tools: Call test_attr__open directly Jiri Olsa @ 2020-08-27 19:32 ` Jiri Olsa 2020-09-10 14:59 ` Arnaldo Carvalho de Melo 0 siblings, 1 reply; 5+ messages in thread From: Jiri Olsa @ 2020-08-27 19:32 UTC (permalink / raw) To: Jiri Olsa Cc: Arnaldo Carvalho de Melo, lkml, Ingo Molnar, Namhyung Kim, Alexander Shishkin, Peter Zijlstra, Michael Petlan, Ian Rogers nack.. forgot python header change :-\ v2 attached thanks, jirka --- There's no longer need to have test_attr__open inside sys_perf_event_open call, because both record and stat call evsel__open_cpu, so we can call it directly from there and not polute perf-sys.h header. Signed-off-by: Jiri Olsa <jolsa@kernel.org> --- tools/perf/perf-sys.h | 22 ++-------------------- tools/perf/tests/attr.c | 2 +- tools/perf/util/evsel.c | 5 +++++ tools/perf/util/python.c | 2 +- tools/perf/util/util.h | 6 ++++++ 5 files changed, 15 insertions(+), 22 deletions(-) diff --git a/tools/perf/perf-sys.h b/tools/perf/perf-sys.h index 15e458e150bd..7a2264e1e4e1 100644 --- a/tools/perf/perf-sys.h +++ b/tools/perf/perf-sys.h @@ -9,31 +9,13 @@ struct perf_event_attr; -extern bool test_attr__enabled; -void test_attr__ready(void); -void test_attr__init(void); -void test_attr__open(struct perf_event_attr *attr, pid_t pid, int cpu, - int fd, int group_fd, unsigned long flags); - -#ifndef HAVE_ATTR_TEST -#define HAVE_ATTR_TEST 1 -#endif - static inline int sys_perf_event_open(struct perf_event_attr *attr, pid_t pid, int cpu, int group_fd, unsigned long flags) { - int fd; - - fd = syscall(__NR_perf_event_open, attr, pid, cpu, - group_fd, flags); - -#if HAVE_ATTR_TEST - if (unlikely(test_attr__enabled)) - test_attr__open(attr, pid, cpu, fd, group_fd, flags); -#endif - return fd; + return syscall(__NR_perf_event_open, attr, pid, cpu, + group_fd, flags); } #endif /* _PERF_SYS_H */ diff --git a/tools/perf/tests/attr.c b/tools/perf/tests/attr.c index a9599ab8c471..ec972e0892ab 100644 --- a/tools/perf/tests/attr.c +++ b/tools/perf/tests/attr.c @@ -30,9 +30,9 @@ #include <sys/types.h> #include <sys/stat.h> #include <unistd.h> -#include "../perf-sys.h" #include <subcmd/exec-cmd.h> #include "event.h" +#include "util.h" #include "tests.h" #define ENV "PERF_TEST_ATTR" diff --git a/tools/perf/util/evsel.c b/tools/perf/util/evsel.c index fd865002cbbd..6f0e23105cf8 100644 --- a/tools/perf/util/evsel.c +++ b/tools/perf/util/evsel.c @@ -1680,6 +1680,11 @@ static int evsel__open_cpu(struct evsel *evsel, struct perf_cpu_map *cpus, FD(evsel, cpu, thread) = fd; + if (unlikely(test_attr__enabled)) { + test_attr__open(&evsel->core.attr, pid, cpus->map[cpu], + fd, group_fd, flags); + } + if (fd < 0) { err = -errno; diff --git a/tools/perf/util/python.c b/tools/perf/util/python.c index 75a9b1d62bba..74f85948d101 100644 --- a/tools/perf/util/python.c +++ b/tools/perf/util/python.c @@ -17,7 +17,7 @@ #include "mmap.h" #include "util/env.h" #include <internal/lib.h> -#include "../perf-sys.h" +#include "util.h" #if PY_MAJOR_VERSION < 3 #define _PyUnicode_FromString(arg) \ diff --git a/tools/perf/util/util.h b/tools/perf/util/util.h index f486fdd3a538..ad737052e597 100644 --- a/tools/perf/util/util.h +++ b/tools/perf/util/util.h @@ -62,4 +62,10 @@ char *perf_exe(char *buf, int len); #endif #endif +extern bool test_attr__enabled; +void test_attr__ready(void); +void test_attr__init(void); +struct perf_event_attr; +void test_attr__open(struct perf_event_attr *attr, pid_t pid, int cpu, + int fd, int group_fd, unsigned long flags); #endif /* GIT_COMPAT_UTIL_H */ -- 2.26.2 ^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [PATCHv2] perf tools: Call test_attr__open directly 2020-08-27 19:32 ` [PATCHv2] " Jiri Olsa @ 2020-09-10 14:59 ` Arnaldo Carvalho de Melo 0 siblings, 0 replies; 5+ messages in thread From: Arnaldo Carvalho de Melo @ 2020-09-10 14:59 UTC (permalink / raw) To: Jiri Olsa Cc: Jiri Olsa, lkml, Ingo Molnar, Namhyung Kim, Alexander Shishkin, Peter Zijlstra, Michael Petlan, Ian Rogers Em Thu, Aug 27, 2020 at 09:32:01PM +0200, Jiri Olsa escreveu: > nack.. forgot python header change :-\ v2 attached > > thanks, > jirka Thanks, applied. > > --- > There's no longer need to have test_attr__open inside > sys_perf_event_open call, because both record and stat > call evsel__open_cpu, so we can call it directly from > there and not polute perf-sys.h header. > > Signed-off-by: Jiri Olsa <jolsa@kernel.org> > --- > tools/perf/perf-sys.h | 22 ++-------------------- > tools/perf/tests/attr.c | 2 +- > tools/perf/util/evsel.c | 5 +++++ > tools/perf/util/python.c | 2 +- > tools/perf/util/util.h | 6 ++++++ > 5 files changed, 15 insertions(+), 22 deletions(-) > > diff --git a/tools/perf/perf-sys.h b/tools/perf/perf-sys.h > index 15e458e150bd..7a2264e1e4e1 100644 > --- a/tools/perf/perf-sys.h > +++ b/tools/perf/perf-sys.h > @@ -9,31 +9,13 @@ > > struct perf_event_attr; > > -extern bool test_attr__enabled; > -void test_attr__ready(void); > -void test_attr__init(void); > -void test_attr__open(struct perf_event_attr *attr, pid_t pid, int cpu, > - int fd, int group_fd, unsigned long flags); > - > -#ifndef HAVE_ATTR_TEST > -#define HAVE_ATTR_TEST 1 > -#endif > - > static inline int > sys_perf_event_open(struct perf_event_attr *attr, > pid_t pid, int cpu, int group_fd, > unsigned long flags) > { > - int fd; > - > - fd = syscall(__NR_perf_event_open, attr, pid, cpu, > - group_fd, flags); > - > -#if HAVE_ATTR_TEST > - if (unlikely(test_attr__enabled)) > - test_attr__open(attr, pid, cpu, fd, group_fd, flags); > -#endif > - return fd; > + return syscall(__NR_perf_event_open, attr, pid, cpu, > + group_fd, flags); > } > > #endif /* _PERF_SYS_H */ > diff --git a/tools/perf/tests/attr.c b/tools/perf/tests/attr.c > index a9599ab8c471..ec972e0892ab 100644 > --- a/tools/perf/tests/attr.c > +++ b/tools/perf/tests/attr.c > @@ -30,9 +30,9 @@ > #include <sys/types.h> > #include <sys/stat.h> > #include <unistd.h> > -#include "../perf-sys.h" > #include <subcmd/exec-cmd.h> > #include "event.h" > +#include "util.h" > #include "tests.h" > > #define ENV "PERF_TEST_ATTR" > diff --git a/tools/perf/util/evsel.c b/tools/perf/util/evsel.c > index fd865002cbbd..6f0e23105cf8 100644 > --- a/tools/perf/util/evsel.c > +++ b/tools/perf/util/evsel.c > @@ -1680,6 +1680,11 @@ static int evsel__open_cpu(struct evsel *evsel, struct perf_cpu_map *cpus, > > FD(evsel, cpu, thread) = fd; > > + if (unlikely(test_attr__enabled)) { > + test_attr__open(&evsel->core.attr, pid, cpus->map[cpu], > + fd, group_fd, flags); > + } > + > if (fd < 0) { > err = -errno; > > diff --git a/tools/perf/util/python.c b/tools/perf/util/python.c > index 75a9b1d62bba..74f85948d101 100644 > --- a/tools/perf/util/python.c > +++ b/tools/perf/util/python.c > @@ -17,7 +17,7 @@ > #include "mmap.h" > #include "util/env.h" > #include <internal/lib.h> > -#include "../perf-sys.h" > +#include "util.h" > > #if PY_MAJOR_VERSION < 3 > #define _PyUnicode_FromString(arg) \ > diff --git a/tools/perf/util/util.h b/tools/perf/util/util.h > index f486fdd3a538..ad737052e597 100644 > --- a/tools/perf/util/util.h > +++ b/tools/perf/util/util.h > @@ -62,4 +62,10 @@ char *perf_exe(char *buf, int len); > #endif > #endif > > +extern bool test_attr__enabled; > +void test_attr__ready(void); > +void test_attr__init(void); > +struct perf_event_attr; > +void test_attr__open(struct perf_event_attr *attr, pid_t pid, int cpu, > + int fd, int group_fd, unsigned long flags); > #endif /* GIT_COMPAT_UTIL_H */ > -- > 2.26.2 > -- - Arnaldo ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH 1/2] perf tools: Disable ordered_events for report raw dump 2020-08-27 13:48 [PATCH 1/2] perf tools: Disable ordered_events for report raw dump Jiri Olsa 2020-08-27 13:48 ` [PATCH 2/2] perf tools: Call test_attr__open directly Jiri Olsa @ 2020-09-01 15:12 ` Arnaldo Carvalho de Melo 1 sibling, 0 replies; 5+ messages in thread From: Arnaldo Carvalho de Melo @ 2020-09-01 15:12 UTC (permalink / raw) To: Jiri Olsa Cc: lkml, Ingo Molnar, Namhyung Kim, Alexander Shishkin, Peter Zijlstra, Michael Petlan, Ian Rogers Em Thu, Aug 27, 2020 at 03:48:29PM +0200, Jiri Olsa escreveu: > Disable ordered_events for report raw dump, because > for raw dump we want to see events as they are stored > in the perf.data file, not sorted by time. Applied to perf/urgent, Thanks, - Arnaldo > Signed-off-by: Jiri Olsa <jolsa@kernel.org> > --- > tools/perf/builtin-report.c | 3 +++ > 1 file changed, 3 insertions(+) > > diff --git a/tools/perf/builtin-report.c b/tools/perf/builtin-report.c > index ece1cddfcd7c..3c74c9c0f3c3 100644 > --- a/tools/perf/builtin-report.c > +++ b/tools/perf/builtin-report.c > @@ -1332,6 +1332,9 @@ int cmd_report(int argc, const char **argv) > if (report.mmaps_mode) > report.tasks_mode = true; > > + if (dump_trace) > + report.tool.ordered_events = false; > + > if (quiet) > perf_quiet_option(); > > -- > 2.26.2 > -- - Arnaldo ^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2020-09-10 20:11 UTC | newest] Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2020-08-27 13:48 [PATCH 1/2] perf tools: Disable ordered_events for report raw dump Jiri Olsa 2020-08-27 13:48 ` [PATCH 2/2] perf tools: Call test_attr__open directly Jiri Olsa 2020-08-27 19:32 ` [PATCHv2] " Jiri Olsa 2020-09-10 14:59 ` Arnaldo Carvalho de Melo 2020-09-01 15:12 ` [PATCH 1/2] perf tools: Disable ordered_events for report raw dump Arnaldo Carvalho de Melo
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.