mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-01-12 00:00:00 +00:00
selftest/bpf/benchs: Make quiet option common
The "local-storage-tasks-trace" benchmark has a `--quiet` option. Move it to the list of common options, so that the main code and other benchmarks can use (new) env.quiet variable. Patch the run_bench_local_storage_rcu_tasks_trace.sh helper script accordingly. Signed-off-by: Anton Protopopov <aspsk@isovalent.com> Signed-off-by: Andrii Nakryiko <andrii@kernel.org> Link: https://lore.kernel.org/bpf/20230213091519.1202813-6-aspsk@isovalent.com
This commit is contained in:
parent
9644546260
commit
90c22503cd
@ -16,6 +16,7 @@ struct env env = {
|
||||
.warmup_sec = 1,
|
||||
.duration_sec = 5,
|
||||
.affinity = false,
|
||||
.quiet = false,
|
||||
.consumer_cnt = 1,
|
||||
.producer_cnt = 1,
|
||||
};
|
||||
@ -262,6 +263,7 @@ static const struct argp_option opts[] = {
|
||||
{ "consumers", 'c', "NUM", 0, "Number of consumer threads"},
|
||||
{ "verbose", 'v', NULL, 0, "Verbose debug output"},
|
||||
{ "affinity", 'a', NULL, 0, "Set consumer/producer thread affinity"},
|
||||
{ "quiet", 'q', NULL, 0, "Be more quiet"},
|
||||
{ "prod-affinity", ARG_PROD_AFFINITY_SET, "CPUSET", 0,
|
||||
"Set of CPUs for producer threads; implies --affinity"},
|
||||
{ "cons-affinity", ARG_CONS_AFFINITY_SET, "CPUSET", 0,
|
||||
@ -330,6 +332,9 @@ static error_t parse_arg(int key, char *arg, struct argp_state *state)
|
||||
case 'a':
|
||||
env.affinity = true;
|
||||
break;
|
||||
case 'q':
|
||||
env.quiet = true;
|
||||
break;
|
||||
case ARG_PROD_AFFINITY_SET:
|
||||
env.affinity = true;
|
||||
if (parse_num_list(arg, &env.prod_cpus.cpus,
|
||||
|
@ -24,6 +24,7 @@ struct env {
|
||||
bool verbose;
|
||||
bool list;
|
||||
bool affinity;
|
||||
bool quiet;
|
||||
int consumer_cnt;
|
||||
int producer_cnt;
|
||||
struct cpu_set prod_cpus;
|
||||
|
@ -12,17 +12,14 @@
|
||||
static struct {
|
||||
__u32 nr_procs;
|
||||
__u32 kthread_pid;
|
||||
bool quiet;
|
||||
} args = {
|
||||
.nr_procs = 1000,
|
||||
.kthread_pid = 0,
|
||||
.quiet = false,
|
||||
};
|
||||
|
||||
enum {
|
||||
ARG_NR_PROCS = 7000,
|
||||
ARG_KTHREAD_PID = 7001,
|
||||
ARG_QUIET = 7002,
|
||||
};
|
||||
|
||||
static const struct argp_option opts[] = {
|
||||
@ -30,8 +27,6 @@ static const struct argp_option opts[] = {
|
||||
"Set number of user processes to spin up"},
|
||||
{ "kthread_pid", ARG_KTHREAD_PID, "PID", 0,
|
||||
"Pid of rcu_tasks_trace kthread for ticks tracking"},
|
||||
{ "quiet", ARG_QUIET, "{0,1}", 0,
|
||||
"If true, don't report progress"},
|
||||
{},
|
||||
};
|
||||
|
||||
@ -56,14 +51,6 @@ static error_t parse_arg(int key, char *arg, struct argp_state *state)
|
||||
}
|
||||
args.kthread_pid = ret;
|
||||
break;
|
||||
case ARG_QUIET:
|
||||
ret = strtol(arg, NULL, 10);
|
||||
if (ret < 0 || ret > 1) {
|
||||
fprintf(stderr, "invalid quiet %ld\n", ret);
|
||||
argp_usage(state);
|
||||
}
|
||||
args.quiet = ret;
|
||||
break;
|
||||
break;
|
||||
default:
|
||||
return ARGP_ERR_UNKNOWN;
|
||||
@ -230,7 +217,7 @@ static void report_progress(int iter, struct bench_res *res, long delta_ns)
|
||||
exit(1);
|
||||
}
|
||||
|
||||
if (args.quiet)
|
||||
if (env.quiet)
|
||||
return;
|
||||
|
||||
printf("Iter %d\t avg tasks_trace grace period latency\t%lf ns\n",
|
||||
|
@ -8,4 +8,4 @@ if [ -z $kthread_pid ]; then
|
||||
exit 1
|
||||
fi
|
||||
|
||||
./bench --nr_procs 15000 --kthread_pid $kthread_pid -d 600 --quiet 1 local-storage-tasks-trace
|
||||
./bench --nr_procs 15000 --kthread_pid $kthread_pid -d 600 --quiet local-storage-tasks-trace
|
||||
|
Loading…
x
Reference in New Issue
Block a user