* [PATCH 0/2] perf: Remove trace_find_next_event()
@ 2019-10-17 21:05 Steven Rostedt
2019-10-17 21:05 ` [PATCH 1/2] perf: Iterate on tep event arrays directly Steven Rostedt
2019-10-17 21:05 ` [PATCH 2/2] perf: Remove unused trace_find_next_event() Steven Rostedt
0 siblings, 2 replies; 8+ messages in thread
From: Steven Rostedt @ 2019-10-17 21:05 UTC (permalink / raw)
To: linux-kernel, linux-trace-devel
Cc: Arnaldo Carvalho de Melo, Ingo Molnar, Jiri Olsa, Namhyung Kim,
Andrew Morton, Tzvetomir Stoyanov
The trace_find_next_event() is buggy and useless. Open code the current
users (it's not much work), and nuke the function.
Steven Rostedt (VMware) (2):
perf: Iterate on tep event arrays directly
perf: Remove unused trace_find_next_event()
----
.../perf/util/scripting-engines/trace-event-perl.c | 8 ++++--
.../util/scripting-engines/trace-event-python.c | 9 +++++--
tools/perf/util/trace-event-parse.c | 31 ----------------------
tools/perf/util/trace-event.h | 2 --
4 files changed, 13 insertions(+), 37 deletions(-)
^ permalink raw reply [flat|nested] 8+ messages in thread* [PATCH 1/2] perf: Iterate on tep event arrays directly 2019-10-17 21:05 [PATCH 0/2] perf: Remove trace_find_next_event() Steven Rostedt @ 2019-10-17 21:05 ` Steven Rostedt 2019-10-17 21:24 ` Arnaldo Carvalho de Melo 2019-10-17 21:05 ` [PATCH 2/2] perf: Remove unused trace_find_next_event() Steven Rostedt 1 sibling, 1 reply; 8+ messages in thread From: Steven Rostedt @ 2019-10-17 21:05 UTC (permalink / raw) To: linux-kernel, linux-trace-devel Cc: Arnaldo Carvalho de Melo, Ingo Molnar, Jiri Olsa, Namhyung Kim, Andrew Morton, Tzvetomir Stoyanov, Daniel Bristot de Oliveira, Arnaldo Carvalho de Melo From: "Steven Rostedt (VMware)" <rostedt@goodmis.org> Instead of calling a useless (and broken) helper function to get the next event of a tep event array, just get the array directly and iterate over it. Note, the broken part was from trace_find_next_event() which after this will no longer be used, and can be removed. Link: http://lkml.kernel.org/r/20191017153733.630cd5eb@gandalf.local.home Reported-by: Daniel Bristot de Oliveira <bristot@redhat.com> Tested-by: Arnaldo Carvalho de Melo <acme@redhat.com> Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org> --- tools/perf/util/scripting-engines/trace-event-perl.c | 8 ++++++-- tools/perf/util/scripting-engines/trace-event-python.c | 9 +++++++-- 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/tools/perf/util/scripting-engines/trace-event-perl.c b/tools/perf/util/scripting-engines/trace-event-perl.c index 15961854ba67..741f040648b5 100644 --- a/tools/perf/util/scripting-engines/trace-event-perl.c +++ b/tools/perf/util/scripting-engines/trace-event-perl.c @@ -539,10 +539,11 @@ static int perl_stop_script(void) static int perl_generate_script(struct tep_handle *pevent, const char *outfile) { + int i, not_first, count, nr_events; + struct tep_event **all_events; struct tep_event *event = NULL; struct tep_format_field *f; char fname[PATH_MAX]; - int not_first, count; FILE *ofp; sprintf(fname, "%s.pl", outfile); @@ -603,8 +604,11 @@ sub print_backtrace\n\ }\n\n\ "); + nr_events = tep_get_events_count(pevent); + all_events = tep_list_events(pevent, TEP_EVENT_SORT_ID); - while ((event = trace_find_next_event(pevent, event))) { + for (i = 0; all_events && i < nr_events; i++) { + event = all_events[i]; fprintf(ofp, "sub %s::%s\n{\n", event->system, event->name); fprintf(ofp, "\tmy ("); diff --git a/tools/perf/util/scripting-engines/trace-event-python.c b/tools/perf/util/scripting-engines/trace-event-python.c index 5d341efc3237..93c03b39cd9c 100644 --- a/tools/perf/util/scripting-engines/trace-event-python.c +++ b/tools/perf/util/scripting-engines/trace-event-python.c @@ -1687,10 +1687,11 @@ static int python_stop_script(void) static int python_generate_script(struct tep_handle *pevent, const char *outfile) { + int i, not_first, count, nr_events; + struct tep_event **all_events; struct tep_event *event = NULL; struct tep_format_field *f; char fname[PATH_MAX]; - int not_first, count; FILE *ofp; sprintf(fname, "%s.py", outfile); @@ -1735,7 +1736,11 @@ static int python_generate_script(struct tep_handle *pevent, const char *outfile fprintf(ofp, "def trace_end():\n"); fprintf(ofp, "\tprint(\"in trace_end\")\n\n"); - while ((event = trace_find_next_event(pevent, event))) { + nr_events = tep_get_events_count(pevent); + all_events = tep_list_events(pevent, TEP_EVENT_SORT_ID); + + for (i = 0; all_events && i < nr_events; i++) { + event = all_events[i]; fprintf(ofp, "def %s__%s(", event->system, event->name); fprintf(ofp, "event_name, "); fprintf(ofp, "context, "); -- 2.23.0 ^ permalink raw reply related [flat|nested] 8+ messages in thread
* Re: [PATCH 1/2] perf: Iterate on tep event arrays directly 2019-10-17 21:05 ` [PATCH 1/2] perf: Iterate on tep event arrays directly Steven Rostedt @ 2019-10-17 21:24 ` Arnaldo Carvalho de Melo 2019-10-17 21:28 ` Steven Rostedt 0 siblings, 1 reply; 8+ messages in thread From: Arnaldo Carvalho de Melo @ 2019-10-17 21:24 UTC (permalink / raw) To: Steven Rostedt Cc: linux-kernel, linux-trace-devel, Ingo Molnar, Jiri Olsa, Namhyung Kim, Andrew Morton, Tzvetomir Stoyanov, Daniel Bristot de Oliveira, Arnaldo Carvalho de Melo Em Thu, Oct 17, 2019 at 05:05:22PM -0400, Steven Rostedt escreveu: > From: "Steven Rostedt (VMware)" <rostedt@goodmis.org> > > Instead of calling a useless (and broken) helper function to get the next > event of a tep event array, just get the array directly and iterate over it. > > Note, the broken part was from trace_find_next_event() which after this will > no longer be used, and can be removed. > > Link: http://lkml.kernel.org/r/20191017153733.630cd5eb@gandalf.local.home I'll add a: Fixes: bb3dd7e7c4d5 ("tools lib traceevent, perf tools: Move struct tep_handler definition in a local header file") Cc: stable@vger.kernel.org : v4.20+ As this is when this problem starts causing the segfault when generating python scripts from perf.data files with multiple tracepoint events, ok? - Arnaldo > Reported-by: Daniel Bristot de Oliveira <bristot@redhat.com> > Tested-by: Arnaldo Carvalho de Melo <acme@redhat.com> > Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org> > --- > tools/perf/util/scripting-engines/trace-event-perl.c | 8 ++++++-- > tools/perf/util/scripting-engines/trace-event-python.c | 9 +++++++-- > 2 files changed, 13 insertions(+), 4 deletions(-) > > diff --git a/tools/perf/util/scripting-engines/trace-event-perl.c b/tools/perf/util/scripting-engines/trace-event-perl.c > index 15961854ba67..741f040648b5 100644 > --- a/tools/perf/util/scripting-engines/trace-event-perl.c > +++ b/tools/perf/util/scripting-engines/trace-event-perl.c > @@ -539,10 +539,11 @@ static int perl_stop_script(void) > > static int perl_generate_script(struct tep_handle *pevent, const char *outfile) > { > + int i, not_first, count, nr_events; > + struct tep_event **all_events; > struct tep_event *event = NULL; > struct tep_format_field *f; > char fname[PATH_MAX]; > - int not_first, count; > FILE *ofp; > > sprintf(fname, "%s.pl", outfile); > @@ -603,8 +604,11 @@ sub print_backtrace\n\ > }\n\n\ > "); > > + nr_events = tep_get_events_count(pevent); > + all_events = tep_list_events(pevent, TEP_EVENT_SORT_ID); > > - while ((event = trace_find_next_event(pevent, event))) { > + for (i = 0; all_events && i < nr_events; i++) { > + event = all_events[i]; > fprintf(ofp, "sub %s::%s\n{\n", event->system, event->name); > fprintf(ofp, "\tmy ("); > > diff --git a/tools/perf/util/scripting-engines/trace-event-python.c b/tools/perf/util/scripting-engines/trace-event-python.c > index 5d341efc3237..93c03b39cd9c 100644 > --- a/tools/perf/util/scripting-engines/trace-event-python.c > +++ b/tools/perf/util/scripting-engines/trace-event-python.c > @@ -1687,10 +1687,11 @@ static int python_stop_script(void) > > static int python_generate_script(struct tep_handle *pevent, const char *outfile) > { > + int i, not_first, count, nr_events; > + struct tep_event **all_events; > struct tep_event *event = NULL; > struct tep_format_field *f; > char fname[PATH_MAX]; > - int not_first, count; > FILE *ofp; > > sprintf(fname, "%s.py", outfile); > @@ -1735,7 +1736,11 @@ static int python_generate_script(struct tep_handle *pevent, const char *outfile > fprintf(ofp, "def trace_end():\n"); > fprintf(ofp, "\tprint(\"in trace_end\")\n\n"); > > - while ((event = trace_find_next_event(pevent, event))) { > + nr_events = tep_get_events_count(pevent); > + all_events = tep_list_events(pevent, TEP_EVENT_SORT_ID); > + > + for (i = 0; all_events && i < nr_events; i++) { > + event = all_events[i]; > fprintf(ofp, "def %s__%s(", event->system, event->name); > fprintf(ofp, "event_name, "); > fprintf(ofp, "context, "); > -- > 2.23.0 > -- - Arnaldo ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH 1/2] perf: Iterate on tep event arrays directly 2019-10-17 21:24 ` Arnaldo Carvalho de Melo @ 2019-10-17 21:28 ` Steven Rostedt 2019-10-17 21:29 ` Arnaldo Carvalho de Melo 0 siblings, 1 reply; 8+ messages in thread From: Steven Rostedt @ 2019-10-17 21:28 UTC (permalink / raw) To: Arnaldo Carvalho de Melo Cc: linux-kernel, linux-trace-devel, Ingo Molnar, Jiri Olsa, Namhyung Kim, Andrew Morton, Tzvetomir Stoyanov, Daniel Bristot de Oliveira, Arnaldo Carvalho de Melo On Thu, 17 Oct 2019 18:24:31 -0300 Arnaldo Carvalho de Melo <arnaldo.melo@gmail.com> wrote: > I'll add a: > > Fixes: bb3dd7e7c4d5 ("tools lib traceevent, perf tools: Move struct tep_handler definition in a local header file") > Cc: stable@vger.kernel.org : v4.20+ > > As this is when this problem starts causing the segfault when generating > python scripts from perf.data files with multiple tracepoint events, ok? Sure, go ahead. I realized I forgot to add a Fixes tag when sending it. -- Steve ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH 1/2] perf: Iterate on tep event arrays directly 2019-10-17 21:28 ` Steven Rostedt @ 2019-10-17 21:29 ` Arnaldo Carvalho de Melo 0 siblings, 0 replies; 8+ messages in thread From: Arnaldo Carvalho de Melo @ 2019-10-17 21:29 UTC (permalink / raw) To: Steven Rostedt Cc: linux-kernel, linux-trace-devel, Ingo Molnar, Jiri Olsa, Namhyung Kim, Andrew Morton, Tzvetomir Stoyanov, Daniel Bristot de Oliveira Em Thu, Oct 17, 2019 at 05:28:23PM -0400, Steven Rostedt escreveu: > On Thu, 17 Oct 2019 18:24:31 -0300 > Arnaldo Carvalho de Melo <arnaldo.melo@gmail.com> wrote: > > > I'll add a: > > > > Fixes: bb3dd7e7c4d5 ("tools lib traceevent, perf tools: Move struct tep_handler definition in a local header file") > > Cc: stable@vger.kernel.org : v4.20+ > > > > As this is when this problem starts causing the segfault when generating > > python scripts from perf.data files with multiple tracepoint events, ok? > > Sure, go ahead. I realized I forgot to add a Fixes tag when sending it. np, I added it, thanks for the prompt fix! - Arnaldo ^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH 2/2] perf: Remove unused trace_find_next_event() 2019-10-17 21:05 [PATCH 0/2] perf: Remove trace_find_next_event() Steven Rostedt 2019-10-17 21:05 ` [PATCH 1/2] perf: Iterate on tep event arrays directly Steven Rostedt @ 2019-10-17 21:05 ` Steven Rostedt 2019-10-21 23:18 ` [tip: perf/core] perf tools: " tip-bot2 for Steven Rostedt (VMware) 2019-11-06 18:14 ` [tip: perf/urgent] " tip-bot2 for Steven Rostedt (VMware) 1 sibling, 2 replies; 8+ messages in thread From: Steven Rostedt @ 2019-10-17 21:05 UTC (permalink / raw) To: linux-kernel, linux-trace-devel Cc: Arnaldo Carvalho de Melo, Ingo Molnar, Jiri Olsa, Namhyung Kim, Andrew Morton, Tzvetomir Stoyanov From: "Steven Rostedt (VMware)" <rostedt@goodmis.org> trace_find_next_event() was buggy and pretty much a useless helper. As there are no more users, just remove it. Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org> --- tools/perf/util/trace-event-parse.c | 31 ----------------------------- tools/perf/util/trace-event.h | 2 -- 2 files changed, 33 deletions(-) diff --git a/tools/perf/util/trace-event-parse.c b/tools/perf/util/trace-event-parse.c index 5d6bfc70b210..9634f0ae57be 100644 --- a/tools/perf/util/trace-event-parse.c +++ b/tools/perf/util/trace-event-parse.c @@ -173,37 +173,6 @@ int parse_event_file(struct tep_handle *pevent, return tep_parse_event(pevent, buf, size, sys); } -struct tep_event *trace_find_next_event(struct tep_handle *pevent, - struct tep_event *event) -{ - static int idx; - int events_count; - struct tep_event *all_events; - - all_events = tep_get_first_event(pevent); - events_count = tep_get_events_count(pevent); - if (!pevent || !all_events || events_count < 1) - return NULL; - - if (!event) { - idx = 0; - return all_events; - } - - if (idx < events_count && event == (all_events + idx)) { - idx++; - if (idx == events_count) - return NULL; - return (all_events + idx); - } - - for (idx = 1; idx < events_count; idx++) { - if (event == (all_events + (idx - 1))) - return (all_events + idx); - } - return NULL; -} - struct flag { const char *name; unsigned long long value; diff --git a/tools/perf/util/trace-event.h b/tools/perf/util/trace-event.h index 2e158387b3d7..72fdf2a3577c 100644 --- a/tools/perf/util/trace-event.h +++ b/tools/perf/util/trace-event.h @@ -47,8 +47,6 @@ void parse_saved_cmdline(struct tep_handle *pevent, char *file, unsigned int siz ssize_t trace_report(int fd, struct trace_event *tevent, bool repipe); -struct tep_event *trace_find_next_event(struct tep_handle *pevent, - struct tep_event *event); unsigned long long read_size(struct tep_event *event, void *ptr, int size); unsigned long long eval_flag(const char *flag); -- 2.23.0 ^ permalink raw reply related [flat|nested] 8+ messages in thread
* [tip: perf/core] perf tools: Remove unused trace_find_next_event() 2019-10-17 21:05 ` [PATCH 2/2] perf: Remove unused trace_find_next_event() Steven Rostedt @ 2019-10-21 23:18 ` tip-bot2 for Steven Rostedt (VMware) 2019-11-06 18:14 ` [tip: perf/urgent] " tip-bot2 for Steven Rostedt (VMware) 1 sibling, 0 replies; 8+ messages in thread From: tip-bot2 for Steven Rostedt (VMware) @ 2019-10-21 23:18 UTC (permalink / raw) To: linux-tip-commits Cc: Steven Rostedt (VMware), Andrew Morton, Jiri Olsa, Namhyung Kim, Tzvetomir Stoyanov, linux-trace-devel, Arnaldo Carvalho de Melo, Ingo Molnar, Borislav Petkov, linux-kernel The following commit has been merged into the perf/core branch of tip: Commit-ID: 9bdff5b6436655d42dd30253c521e86ce07b9961 Gitweb: https://git.kernel.org/tip/9bdff5b6436655d42dd30253c521e86ce07b9961 Author: Steven Rostedt (VMware) <rostedt@goodmis.org> AuthorDate: Thu, 17 Oct 2019 17:05:23 -04:00 Committer: Arnaldo Carvalho de Melo <acme@redhat.com> CommitterDate: Fri, 18 Oct 2019 12:07:46 -03:00 perf tools: Remove unused trace_find_next_event() trace_find_next_event() was buggy and pretty much a useless helper. As there are no more users, just remove it. Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org> Cc: Andrew Morton <akpm@linux-foundation.org> Cc: Jiri Olsa <jolsa@redhat.com> Cc: Namhyung Kim <namhyung@kernel.org> Cc: Tzvetomir Stoyanov <tstoyanov@vmware.com> Cc: linux-trace-devel@vger.kernel.org Link: http://lore.kernel.org/lkml/20191017210636.224045576@goodmis.org Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com> --- tools/perf/util/trace-event-parse.c | 31 +---------------------------- tools/perf/util/trace-event.h | 2 +-- 2 files changed, 33 deletions(-) diff --git a/tools/perf/util/trace-event-parse.c b/tools/perf/util/trace-event-parse.c index 5d6bfc7..9634f0a 100644 --- a/tools/perf/util/trace-event-parse.c +++ b/tools/perf/util/trace-event-parse.c @@ -173,37 +173,6 @@ int parse_event_file(struct tep_handle *pevent, return tep_parse_event(pevent, buf, size, sys); } -struct tep_event *trace_find_next_event(struct tep_handle *pevent, - struct tep_event *event) -{ - static int idx; - int events_count; - struct tep_event *all_events; - - all_events = tep_get_first_event(pevent); - events_count = tep_get_events_count(pevent); - if (!pevent || !all_events || events_count < 1) - return NULL; - - if (!event) { - idx = 0; - return all_events; - } - - if (idx < events_count && event == (all_events + idx)) { - idx++; - if (idx == events_count) - return NULL; - return (all_events + idx); - } - - for (idx = 1; idx < events_count; idx++) { - if (event == (all_events + (idx - 1))) - return (all_events + idx); - } - return NULL; -} - struct flag { const char *name; unsigned long long value; diff --git a/tools/perf/util/trace-event.h b/tools/perf/util/trace-event.h index 2e15838..72fdf2a 100644 --- a/tools/perf/util/trace-event.h +++ b/tools/perf/util/trace-event.h @@ -47,8 +47,6 @@ void parse_saved_cmdline(struct tep_handle *pevent, char *file, unsigned int siz ssize_t trace_report(int fd, struct trace_event *tevent, bool repipe); -struct tep_event *trace_find_next_event(struct tep_handle *pevent, - struct tep_event *event); unsigned long long read_size(struct tep_event *event, void *ptr, int size); unsigned long long eval_flag(const char *flag); ^ permalink raw reply related [flat|nested] 8+ messages in thread
* [tip: perf/urgent] perf tools: Remove unused trace_find_next_event() 2019-10-17 21:05 ` [PATCH 2/2] perf: Remove unused trace_find_next_event() Steven Rostedt 2019-10-21 23:18 ` [tip: perf/core] perf tools: " tip-bot2 for Steven Rostedt (VMware) @ 2019-11-06 18:14 ` tip-bot2 for Steven Rostedt (VMware) 1 sibling, 0 replies; 8+ messages in thread From: tip-bot2 for Steven Rostedt (VMware) @ 2019-11-06 18:14 UTC (permalink / raw) To: linux-tip-commits Cc: Steven Rostedt (VMware), Andrew Morton, Jiri Olsa, Namhyung Kim, Tzvetomir Stoyanov, linux-trace-devel, Arnaldo Carvalho de Melo, Ingo Molnar, Borislav Petkov, linux-kernel The following commit has been merged into the perf/urgent branch of tip: Commit-ID: 6047e1a81e9fe9851ed37e13c2438312c04435d9 Gitweb: https://git.kernel.org/tip/6047e1a81e9fe9851ed37e13c2438312c04435d9 Author: Steven Rostedt (VMware) <rostedt@goodmis.org> AuthorDate: Thu, 17 Oct 2019 17:05:23 -04:00 Committer: Arnaldo Carvalho de Melo <acme@redhat.com> CommitterDate: Tue, 05 Nov 2019 08:39:27 -03:00 perf tools: Remove unused trace_find_next_event() trace_find_next_event() was buggy and pretty much a useless helper. As there are no more users, just remove it. Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org> Cc: Andrew Morton <akpm@linux-foundation.org> Cc: Jiri Olsa <jolsa@redhat.com> Cc: Namhyung Kim <namhyung@kernel.org> Cc: Tzvetomir Stoyanov <tstoyanov@vmware.com> Cc: linux-trace-devel@vger.kernel.org Link: http://lore.kernel.org/lkml/20191017210636.224045576@goodmis.org Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com> --- tools/perf/util/trace-event-parse.c | 31 +---------------------------- tools/perf/util/trace-event.h | 2 +-- 2 files changed, 33 deletions(-) diff --git a/tools/perf/util/trace-event-parse.c b/tools/perf/util/trace-event-parse.c index 5d6bfc7..9634f0a 100644 --- a/tools/perf/util/trace-event-parse.c +++ b/tools/perf/util/trace-event-parse.c @@ -173,37 +173,6 @@ int parse_event_file(struct tep_handle *pevent, return tep_parse_event(pevent, buf, size, sys); } -struct tep_event *trace_find_next_event(struct tep_handle *pevent, - struct tep_event *event) -{ - static int idx; - int events_count; - struct tep_event *all_events; - - all_events = tep_get_first_event(pevent); - events_count = tep_get_events_count(pevent); - if (!pevent || !all_events || events_count < 1) - return NULL; - - if (!event) { - idx = 0; - return all_events; - } - - if (idx < events_count && event == (all_events + idx)) { - idx++; - if (idx == events_count) - return NULL; - return (all_events + idx); - } - - for (idx = 1; idx < events_count; idx++) { - if (event == (all_events + (idx - 1))) - return (all_events + idx); - } - return NULL; -} - struct flag { const char *name; unsigned long long value; diff --git a/tools/perf/util/trace-event.h b/tools/perf/util/trace-event.h index 2e15838..72fdf2a 100644 --- a/tools/perf/util/trace-event.h +++ b/tools/perf/util/trace-event.h @@ -47,8 +47,6 @@ void parse_saved_cmdline(struct tep_handle *pevent, char *file, unsigned int siz ssize_t trace_report(int fd, struct trace_event *tevent, bool repipe); -struct tep_event *trace_find_next_event(struct tep_handle *pevent, - struct tep_event *event); unsigned long long read_size(struct tep_event *event, void *ptr, int size); unsigned long long eval_flag(const char *flag); ^ permalink raw reply related [flat|nested] 8+ messages in thread
end of thread, other threads:[~2019-11-06 18:15 UTC | newest] Thread overview: 8+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2019-10-17 21:05 [PATCH 0/2] perf: Remove trace_find_next_event() Steven Rostedt 2019-10-17 21:05 ` [PATCH 1/2] perf: Iterate on tep event arrays directly Steven Rostedt 2019-10-17 21:24 ` Arnaldo Carvalho de Melo 2019-10-17 21:28 ` Steven Rostedt 2019-10-17 21:29 ` Arnaldo Carvalho de Melo 2019-10-17 21:05 ` [PATCH 2/2] perf: Remove unused trace_find_next_event() Steven Rostedt 2019-10-21 23:18 ` [tip: perf/core] perf tools: " tip-bot2 for Steven Rostedt (VMware) 2019-11-06 18:14 ` [tip: perf/urgent] " tip-bot2 for Steven Rostedt (VMware)
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.