From: Arnaldo Carvalho de Melo acme@redhat.com
[ Upstream commit 16203e9cd01896b4244100a8e3fb9f6e612ab2b1 ]
Without this we were not getting the thousands separator for big numbers.
Noticed while developing 'perf bench uprobe', but the use of %' predates that, for instance 'perf bench syscall' uses it.
Before:
# perf bench uprobe all # Running uprobe/baseline benchmark... # Executed 1000 usleep(1000) calls Total time: 1054082243ns
1054082.243000 nsecs/op
#
After:
# perf bench uprobe all # Running uprobe/baseline benchmark... # Executed 1,000 usleep(1000) calls Total time: 1,053,715,144ns
1,053,715.144000 nsecs/op
#
Fixes: c2a08203052f8975 ("perf bench: Add basic syscall benchmark") Cc: Adrian Hunter adrian.hunter@intel.com Cc: Andre Fredette anfredet@redhat.com Cc: Clark Williams williams@redhat.com Cc: Dave Tucker datucker@redhat.com Cc: Davidlohr Bueso dave@stgolabs.net Cc: Derek Barbosa debarbos@redhat.com Cc: Ian Rogers irogers@google.com Cc: Jiri Olsa jolsa@kernel.org Cc: Namhyung Kim namhyung@kernel.org Cc: Tiezhu Yang yangtiezhu@loongson.cn Link: https://lore.kernel.org/lkml/ZH3lcepZ4tBYr1jv@kernel.org Signed-off-by: Arnaldo Carvalho de Melo acme@redhat.com Signed-off-by: Sasha Levin sashal@kernel.org --- tools/perf/builtin-bench.c | 2 ++ 1 file changed, 2 insertions(+)
diff --git a/tools/perf/builtin-bench.c b/tools/perf/builtin-bench.c index 609a941ae2963..fb3029495c23c 100644 --- a/tools/perf/builtin-bench.c +++ b/tools/perf/builtin-bench.c @@ -21,6 +21,7 @@ #include "builtin.h" #include "bench/bench.h"
+#include <locale.h> #include <stdio.h> #include <stdlib.h> #include <string.h> @@ -247,6 +248,7 @@ int cmd_bench(int argc, const char **argv)
/* Unbuffered output */ setvbuf(stdout, NULL, _IONBF, 0); + setlocale(LC_ALL, "");
if (argc < 2) { /* No collection specified. */