[rh7,1/3] ms/perf top: Always sample time to satisfy needs of use of ordered queuing

Submitted by Konstantin Khorenko on Dec. 9, 2019, 10:21 a.m.

Details

Message ID 20191209102159.29671-2-khorenko@virtuozzo.com
State New
Series "perf: make it working again"
Headers show

Commit Message

Konstantin Khorenko Dec. 9, 2019, 10:21 a.m.
From: Jiri Olsa <jolsa@kernel.org>

Bastian reported broken 'perf top -p PID' command, it won't display any
data.

The problem is that for -p option we monitor single thread, so we don't
enable time in samples, because it's not needed.

However since commit 16c66bc167cc we use ordered queues to stash data
plus later commits added logic for dropping samples in case there's big
load and we don't keep up. All this needs timestamp for sample. Enabling
it unconditionally for perf top.

Reported-by: Bastian Beischer <bastian.beischer@rwth-aachen.de>
Signed-off-by: Jiri Olsa <jolsa@kernel.org>
Tested-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: bastian beischer <bastian.beischer@rwth-aachen.de>
Fixes: 16c66bc167cc ("perf top: Add processing thread")
Link: http://lkml.kernel.org/r/20190415125333.27160-1-jolsa@kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>

https://bugzilla.redhat.com/show_bug.cgi?id=1757947
Found in the scope of https://jira.sw.ru/browse/HCI-128

(cherry picked from commit 1e6db2ee86e6a4399fc0ae5689e55e0fd1c43caf)
Signed-off-by: Konstantin Khorenko <khorenko@virtuozzo.com>
---
 tools/perf/builtin-top.c | 1 +
 1 file changed, 1 insertion(+)

Patch hide | download patch | download mbox

diff --git a/tools/perf/builtin-top.c b/tools/perf/builtin-top.c
index c7626b9e8d60..edddca4ae9ca 100644
--- a/tools/perf/builtin-top.c
+++ b/tools/perf/builtin-top.c
@@ -1400,6 +1400,7 @@  int cmd_top(int argc, const char **argv)
 			 * */
 			.overwrite	= 0,
 			.sample_time	= true,
+			.sample_time_set = true,
 		},
 		.max_stack	     = sysctl_perf_event_max_stack,
 		.annotation_opts     = annotation__default_options,