Patch "perf top/report: Fix infinite loop in the TUI for grouped events" has been added to the 5.8-stable tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This is a note to let you know that I've just added the patch titled

    perf top/report: Fix infinite loop in the TUI for grouped events

to the 5.8-stable tree which can be found at:
    http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
     perf-top-report-fix-infinite-loop-in-the-tui-for-gro.patch
and it can be found in the queue-5.8 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let <stable@xxxxxxxxxxxxxxx> know about it.



commit fc036b2e11d558a0931c67d84d0597cd41202657
Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
Date:   Mon Aug 31 16:17:00 2020 -0300

    perf top/report: Fix infinite loop in the TUI for grouped events
    
    [ Upstream commit d4ccbacb9c217fefb4332a9af81b785690cf1053 ]
    
    For a while we need to have a dummy event for doing things like
    receiving PERF_RECORD_COMM, PERF_RECORD_EXEC, etc for threads being
    created and dying while we synthesize the pre-existing ones at tool
    start.
    
    This 'dummy' event is needed for keeping track of thread lifetime events
    early in the session but are uninteresting otherwise, i.e. no need to
    have it in a initial events menu for the non-grouped case, i.e. for:
    
     # perf top -e cycles,instructions
    
    or even for plain:
    
     # perf top
    
    When 'cycles' and that 'dummy' event are in place.
    
    The code to remove that 'dummy' event ended up creating an endless loop
    for the grouped case, i.e.:
    
     # perf top -e '{cycles,instructions}'
    
    Fix it.
    
    Fixes: bee9ca1c8a237ca1 ("perf report TUI: Remove needless 'dummy' event from menu")
    Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx>
    Cc: Ian Rogers <irogers@xxxxxxxxxx>
    Cc: Jiri Olsa <jolsa@xxxxxxxxxx>
    Cc: Namhyung Kim <namhyung@xxxxxxxxxx>
    Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
    Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>

diff --git a/tools/perf/ui/browsers/hists.c b/tools/perf/ui/browsers/hists.c
index be9c4c0549bc8..a07626f072087 100644
--- a/tools/perf/ui/browsers/hists.c
+++ b/tools/perf/ui/browsers/hists.c
@@ -3629,8 +3629,8 @@ int perf_evlist__tui_browse_hists(struct evlist *evlist, const char *help,
 {
 	int nr_entries = evlist->core.nr_entries;
 
-single_entry:
 	if (perf_evlist__single_entry(evlist)) {
+single_entry: {
 		struct evsel *first = evlist__first(evlist);
 
 		return perf_evsel__hists_browse(first, nr_entries, help,
@@ -3638,6 +3638,7 @@ single_entry:
 						env, warn_lost_event,
 						annotation_opts);
 	}
+	}
 
 	if (symbol_conf.event_group) {
 		struct evsel *pos;



[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux