summaryrefslogtreecommitdiff
path: root/tools/testing/selftests/bpf/bench.h
diff options
context:
space:
mode:
authorHou Tao <houtao1@huawei.com>2023-06-13 11:09:19 +0300
committerAlexei Starovoitov <ast@kernel.org>2023-06-19 23:26:43 +0300
commitda77ae2b27ec73a644624a6d4bffc206e2df6bb8 (patch)
tree497632c6c324836e12a66a25df993208f78d4cb2 /tools/testing/selftests/bpf/bench.h
parentea400d13fc92ec66578b068e661a162e01d4b641 (diff)
downloadlinux-da77ae2b27ec73a644624a6d4bffc206e2df6bb8.tar.xz
selftests/bpf: Ensure that next_cpu() returns a valid CPU number
When using option -a without --prod-affinity or --cons-affinity, if the number of producers and consumers is greater than the number of online CPUs, the benchmark will fail to run as shown below: $ getconf _NPROCESSORS_ONLN 8 $ ./bench bpf-loop -a -p9 Setting up benchmark 'bpf-loop'... setting affinity to CPU #8 failed: -22 Fix it by returning the remainder of next_cpu divided by the number of online CPUs in next_cpu(). Signed-off-by: Hou Tao <houtao1@huawei.com> Link: https://lore.kernel.org/r/20230613080921.1623219-4-houtao@huaweicloud.com Signed-off-by: Alexei Starovoitov <ast@kernel.org>
Diffstat (limited to 'tools/testing/selftests/bpf/bench.h')
-rw-r--r--tools/testing/selftests/bpf/bench.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/tools/testing/selftests/bpf/bench.h b/tools/testing/selftests/bpf/bench.h
index 402729c6a3ac..7ff32be3d730 100644
--- a/tools/testing/selftests/bpf/bench.h
+++ b/tools/testing/selftests/bpf/bench.h
@@ -27,6 +27,7 @@ struct env {
bool quiet;
int consumer_cnt;
int producer_cnt;
+ int nr_cpus;
struct cpu_set prod_cpus;
struct cpu_set cons_cpus;
};