]> git.baikalelectronics.ru Git - kernel.git/commit
perf top: Fix event group with more than two events
authorNamhyung Kim <namhyung@kernel.org>
Tue, 27 Aug 2019 23:15:55 +0000 (08:15 +0900)
committerArnaldo Carvalho de Melo <acme@redhat.com>
Wed, 28 Aug 2019 21:15:03 +0000 (18:15 -0300)
commit1188d367a520d30ccf6030382e4d0a7315fb0f51
tree5309194db8fc7a44fac545fc82b65b3bbe004e71
parentc7a8b155e26834509a7f39d24b158062ac505296
perf top: Fix event group with more than two events

The event group feature links relevant hist entries among events so that
they can be displayed together.  During the link process, each hist
entry in non-leader events is connected to a hist entry in the leader
event.  This is done in order of events specified in the command line so
it assumes that events are linked in the order.

But 'perf top' can break the assumption since it does the link process
multiple times.  For example, a hist entry can be in the third event
only at first so it's linked after the leader.  Some time later, second
event has a hist entry for it and it'll be linked after the entry of the
third event.

This makes the code compilicated to deal with such unordered entries.
This patch simply unlink all the entries after it's printed so that they
can assume the correct order after the repeated link process.  Also it'd
be easy to deal with decaying old entries IMHO.

Signed-off-by: Namhyung Kim <namhyung@kernel.org>
Reported-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Tested-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Cc: Jiri Olsa <jolsa@redhat.com>
Link: http://lkml.kernel.org/r/20190827231555.121411-2-namhyung@kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
tools/perf/builtin-top.c
tools/perf/util/hist.c
tools/perf/util/hist.h