All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 1/1] perf,stat: reduce interval-print to 10ms
@ 2015-10-02  9:04 kan.liang
  2015-10-02 16:56 ` Jiri Olsa
  2015-10-03  7:51 ` [tip:perf/core] perf stat: Reduce min --interval-print " tip-bot for Kan Liang
  0 siblings, 2 replies; 7+ messages in thread
From: kan.liang @ 2015-10-02  9:04 UTC (permalink / raw)
  To: acme; +Cc: jolsa, namhyung, ak, linux-kernel, Kan Liang

From: Kan Liang <kan.liang@intel.com>

The interval-print used to be limited to 100ms. However, for example,
10ms is required to do sophisticated bandwidth analysis using uncore
event.
The test shows that the overhead of the system-wide uncore monitoring
with 10ms interval is only ~2%. So this patch reduces interval-print to
10ms.
But 10ms may not work well for all cases. For example, when the
cpus/threads number is very large, for system-wide core event monitoring
the overhead could be high. To handle this issue, a warning will be
displayed when the interval-print is set between 10ms to 100ms. So the
users can make a decision according to their specific cases.

 #perf stat -e uncore_imc_1/cas_count_read/ -a --interval-print 10 --
 sleep 1

 print interval < 100ms. The overhead percentage could be high in some
 cases. Please proceed with caution.
 #           time             counts unit events
      0.010200451               0.10 MiB  uncore_imc_1/cas_count_read/
      0.020475117               0.02 MiB  uncore_imc_1/cas_count_read/
      0.030692800               0.01 MiB  uncore_imc_1/cas_count_read/
      0.040948161               0.02 MiB  uncore_imc_1/cas_count_read/
      0.051159564               0.00 MiB  uncore_imc_1/cas_count_read/

Signed-off-by: Kan Liang <kan.liang@intel.com>
---
 tools/perf/Documentation/perf-stat.txt |  2 +-
 tools/perf/builtin-stat.c              | 13 +++++++++----
 2 files changed, 10 insertions(+), 5 deletions(-)

diff --git a/tools/perf/Documentation/perf-stat.txt b/tools/perf/Documentation/perf-stat.txt
index 47469ab..7586fe0 100644
--- a/tools/perf/Documentation/perf-stat.txt
+++ b/tools/perf/Documentation/perf-stat.txt
@@ -128,7 +128,7 @@ perf stat --repeat 10 --null --sync --pre 'make -s O=defconfig-build/clean' -- m
 
 -I msecs::
 --interval-print msecs::
-	Print count deltas every N milliseconds (minimum: 100ms)
+	Print count deltas every N milliseconds (minimum: 10ms)
 	example: perf stat -I 1000 -e cycles -a sleep 5
 
 --per-socket::
diff --git a/tools/perf/builtin-stat.c b/tools/perf/builtin-stat.c
index a96fb5c..5ef88f7 100644
--- a/tools/perf/builtin-stat.c
+++ b/tools/perf/builtin-stat.c
@@ -1179,7 +1179,7 @@ int cmd_stat(int argc, const char **argv, const char *prefix __maybe_unused)
 	OPT_STRING(0, "post", &post_cmd, "command",
 			"command to run after to the measured command"),
 	OPT_UINTEGER('I', "interval-print", &stat_config.interval,
-		    "print counts at regular interval in ms (>= 100)"),
+		    "print counts at regular interval in ms (>= 10)"),
 	OPT_SET_UINT(0, "per-socket", &stat_config.aggr_mode,
 		     "aggregate counts per processor socket", AGGR_SOCKET),
 	OPT_SET_UINT(0, "per-core", &stat_config.aggr_mode,
@@ -1332,9 +1332,14 @@ int cmd_stat(int argc, const char **argv, const char *prefix __maybe_unused)
 		thread_map__read_comms(evsel_list->threads);
 
 	if (interval && interval < 100) {
-		pr_err("print interval must be >= 100ms\n");
-		parse_options_usage(stat_usage, options, "I", 1);
-		goto out;
+		if (interval < 10) {
+			pr_err("print interval must be >= 10ms\n");
+			parse_options_usage(stat_usage, options, "I", 1);
+			goto out;
+		} else
+			pr_warning("print interval < 100ms. "
+				   "The overhead percentage could be high in some cases. "
+				   "Please proceed with caution.\n");
 	}
 
 	if (perf_evlist__alloc_stats(evsel_list, interval))
-- 
1.8.3.1


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

end of thread, other threads:[~2015-10-03  7:51 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-10-02  9:04 [PATCH 1/1] perf,stat: reduce interval-print to 10ms kan.liang
2015-10-02 16:56 ` Jiri Olsa
2015-10-02 20:08   ` Arnaldo Carvalho de Melo
2015-10-02 20:22     ` Liang, Kan
2015-10-02 20:40       ` Arnaldo Carvalho de Melo
2015-10-02 20:50         ` Liang, Kan
2015-10-03  7:51 ` [tip:perf/core] perf stat: Reduce min --interval-print " tip-bot for Kan Liang

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.