All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] perf/tool: remove newline char when reading event scale and unit
@ 2015-05-31  6:06 Madhavan Srinivasan
  2015-06-01 13:28 ` Arnaldo Carvalho de Melo
  2015-06-04 14:10 ` [tip:perf/core] perf tools: Remove " tip-bot for Madhavan Srinivasan
  0 siblings, 2 replies; 3+ messages in thread
From: Madhavan Srinivasan @ 2015-05-31  6:06 UTC (permalink / raw)
  To: linux-kernel
  Cc: Madhavan Srinivasan, Arnaldo Carvalho de Melo, Peter Zijlstra,
	Ingo Molnar, Jiri Olsa, Sukadev Bhattiprolu, Michael Ellerman

commit <fd979c013207> intruduced perf_event_sysfs_show function to display
event_str value of an attr in kernel/event/core.c. But the function returns
the value with a newline char. So, if a event also carries a event.unit file,
when printing the counter data perf tool formatting goes for a spin.
That is, because of the event unit, event name is printed in the newline
because of perf_event_sysfs_show returns with a newline char.

Now fixing perf core will break API, hencing proposing a fix in the perf tool.

Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Ingo Molnar <mingo@kernel.org>
Cc: Jiri Olsa <jolsa@redhat.com>
Cc: Sukadev Bhattiprolu <sukadev@linux.vnet.ibm.com>
Cc: Michael Ellerman <mpe@ellerman.id.au>
Signed-off-by: Madhavan Srinivasan <maddy@linux.vnet.ibm.com>
---
 tools/perf/util/pmu.c | 11 +++++++++--
 1 file changed, 9 insertions(+), 2 deletions(-)

diff --git a/tools/perf/util/pmu.c b/tools/perf/util/pmu.c
index 4841167..cf2cb34 100644
--- a/tools/perf/util/pmu.c
+++ b/tools/perf/util/pmu.c
@@ -112,7 +112,11 @@ static int perf_pmu__parse_scale(struct perf_pmu_alias *alias, char *dir, char *
 	if (sret < 0)
 		goto error;
 
-	scale[sret] = '\0';
+	if (scale[sret-1] == '\n')
+		scale[sret-1] = '\0';
+	else
+		scale[sret] = '\0';
+
 	/*
 	 * save current locale
 	 */
@@ -154,7 +158,10 @@ static int perf_pmu__parse_unit(struct perf_pmu_alias *alias, char *dir, char *n
 
 	close(fd);
 
-	alias->unit[sret] = '\0';
+	if (alias->unit[sret-1] == '\n')
+		alias->unit[sret-1] = '\0';
+	else
+		alias->unit[sret] = '\0';
 
 	return 0;
 error:
-- 
1.9.1


^ permalink raw reply related	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2015-06-04 14:11 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-05-31  6:06 [PATCH] perf/tool: remove newline char when reading event scale and unit Madhavan Srinivasan
2015-06-01 13:28 ` Arnaldo Carvalho de Melo
2015-06-04 14:10 ` [tip:perf/core] perf tools: Remove " tip-bot for Madhavan Srinivasan

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.