Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 65472503 authored by Jiri Olsa's avatar Jiri Olsa Committed by Arnaldo Carvalho de Melo
Browse files

perf top: Don't let events to eat up whole header line



Passing multiple events might force out information about pid/tid/cpu.
Attached patch leaves 30 characters for this info at the expense of the
events' names.

Cc: Ingo Molnar <mingo@elte.hu>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: Han Pingtian <phan@redhat.com>
LKML-Reference: <1299528821-17521-3-git-send-email-jolsa@redhat.com>
Signed-off-by: default avatarJiri Olsa <jolsa@redhat.com>
Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
parent b9a46bba
Loading
Loading
Loading
Loading
+17 −3
Original line number Diff line number Diff line
@@ -115,9 +115,23 @@ size_t perf_top__header_snprintf(struct perf_top *top, char *bf, size_t size)
	if (!top->display_weighted) {
		ret += SNPRINTF(bf + ret, size - ret, "%s",
				event_name(top->sym_evsel));
	} else list_for_each_entry(counter, &top->evlist->entries, node) {
	} else {
		/*
		 * Don't let events eat all the space. Leaving 30 bytes
		 * for the rest should be enough.
		 */
		size_t last_pos = size - 30;

		list_for_each_entry(counter, &top->evlist->entries, node) {
			ret += SNPRINTF(bf + ret, size - ret, "%s%s",
				counter->idx ? "/" : "", event_name(counter));
					counter->idx ? "/" : "",
					event_name(counter));
			if (ret > last_pos) {
				sprintf(bf + last_pos - 3, "..");
				ret = last_pos - 1;
				break;
			}
		}
	}

	ret += SNPRINTF(bf + ret, size - ret, "], ");