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

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

 




On Wed, 10 Feb 2021, Daniel Wagner wrote:

> 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
> 
> 

Signed-off-by: John Kacur <jkacur@xxxxxxxxxx>



[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