diff options
author | Hou Tao <houtao1@huawei.com> | 2023-06-13 16:09:19 +0800 |
---|---|---|
committer | Alexei Starovoitov <ast@kernel.org> | 2023-06-19 13:26:43 -0700 |
commit | da77ae2b27ec73a644624a6d4bffc206e2df6bb8 (patch) | |
tree | 497632c6c324836e12a66a25df993208f78d4cb2 /tools/testing/selftests/bpf/bench.h | |
parent | ea400d13fc92ec66578b068e661a162e01d4b641 (diff) |
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.h | 1 |
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; }; |