[PATCH rt-tests v5 13/13] oslat: Add quiet command line option

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



The quiet option is useful for automated test setups where
only the final result of the run is interesting.

Furthermore, this makes oslat accept rt-tests standard options.

Signed-off-by: Daniel Wagner <dwagner@xxxxxxx>
---
 src/oslat/oslat.c | 25 ++++++++++++++++++-------
 1 file changed, 18 insertions(+), 7 deletions(-)

diff --git a/src/oslat/oslat.c b/src/oslat/oslat.c
index 987f2002985d..0d9afedbdc82 100644
--- a/src/oslat/oslat.c
+++ b/src/oslat/oslat.c
@@ -171,6 +171,7 @@ struct global {
 	uint64_t              workload_mem_size;
 	int                   enable_bias;
 	uint64_t              bias;
+	int                   quiet;
 	int                   single_preheat_thread;
 	int                   output_omit_zero_buckets;
 	char                  outfile[MAX_PATH];
@@ -565,6 +566,7 @@ static void usage(int error)
 	       "                       Total memory usage will be this value multiplies 2*N,\n"
 	       "                       because there will be src/dst buffers for each thread, and\n"
 	       "                       N is the number of processors for testing.\n"
+	       "-q  --quiet            print a summary only on exit\n"
 	       "-s, --single-preheat   Use a single thread when measuring latency at preheat stage\n"
 	       "                       NOTE: please make sure the CPU frequency on all testing cores\n"
 	       "                       are locked before using this parmater.  If you don't know how\n"
@@ -598,8 +600,8 @@ enum option_value {
 	OPT_BUCKETSIZE=1, OPT_CPU_LIST, OPT_CPU_MAIN_THREAD,
 	OPT_DURATION, OPT_RT_PRIO, OPT_HELP, OPT_TRACE_TH,
 	OPT_WORKLOAD, OPT_WORKLOAD_MEM, OPT_BIAS, OPT_OUTPUT,
-	OPT_SINGLE_PREHEAT, OPT_ZERO_OMIT, OPT_VERSION
-
+	OPT_QUIET, OPT_SINGLE_PREHEAT, OPT_ZERO_OMIT,
+	OPT_VERSION
 };
 
 /* Process commandline options */
@@ -618,13 +620,14 @@ static void parse_options(int argc, char *argv[])
 			{ "workload",	required_argument,	NULL, OPT_WORKLOAD },
 			{ "workload-mem", required_argument,	NULL, OPT_WORKLOAD_MEM },
 			{ "bias",	no_argument,		NULL, OPT_BIAS },
+			{ "quiet",	no_argument,		NULL, OPT_QUIET },
 			{ "single-preheat", no_argument,	NULL, OPT_SINGLE_PREHEAT },
 			{ "output",	required_argument,      NULL, OPT_OUTPUT },
 			{ "zero-omit",	no_argument,		NULL, OPT_ZERO_OMIT },
 			{ "version",	no_argument,		NULL, OPT_VERSION },
 			{ NULL, 0, NULL, 0 },
 		};
-		int i, c = getopt_long(argc, argv, "b:Bc:C:D:f:hm:sw:T:vz",
+		int i, c = getopt_long(argc, argv, "b:Bc:C:D:f:hm:qsw:T:vz",
 				       options, &option_index);
 		long ncores;
 
@@ -707,6 +710,10 @@ static void parse_options(int argc, char *argv[])
 				exit(1);
 			}
 			break;
+		case OPT_QUIET:
+		case 'q':
+			g.quiet = 1;
+			break;
 		case OPT_SINGLE_PREHEAT:
 		case 's':
 			/*
@@ -825,9 +832,11 @@ int main(int argc, char *argv[])
 	signal(SIGINT, handle_alarm);
 	signal(SIGTERM, handle_alarm);
 
-	dump_globals();
+	if (!g.quiet)
+		dump_globals();
 
-	printf("Pre-heat for 1 seconds...\n");
+	if (!g.quiet)
+		printf("Pre-heat for 1 seconds...\n");
 	if (g.single_preheat_thread)
 		g.n_threads = 1;
 	else
@@ -835,12 +844,14 @@ int main(int argc, char *argv[])
 	run_expt(threads, 1);
 	record_bias(threads);
 
-	printf("Test starts...\n");
+	if (!g.quiet)
+		printf("Test starts...\n");
 	/* Reset n_threads to always run on all the cores */
 	g.n_threads = g.n_threads_total;
 	run_expt(threads, g.runtime);
 
-	printf("Test completed.\n\n");
+	if (!g.quiet)
+		printf("Test completed.\n\n");
 
 	write_summary(threads);
 
-- 
2.30.0




[Index of Archives]     [RT Stable]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]

  Powered by Linux