Message ID | 20240119151248.3476897-1-kuba@kernel.org |
---|---|
State | Superseded |
Headers | show |
Series | [net] selftests: net: fix rps_default_mask with >32 CPUs | expand |
On Fri, Jan 19, 2024 at 07:12:48AM -0800, Jakub Kicinski wrote: > If there is more than 32 cpus the bitmask will start to contain > commas, leading to: > > ./rps_default_mask.sh: line 36: [: 00000000,00000000: integer expression expected > > Remove the commas, bash doesn't interpret leading zeroes as oct > so that should be good enough. > > Fixes: c12e0d5f267d ("self-tests: introduce self-tests for RPS default mask") > Signed-off-by: Jakub Kicinski <kuba@kernel.org> > --- > CC: shuah@kernel.org > CC: horms@kernel.org > CC: linux-kselftest@vger.kernel.org > --- > tools/testing/selftests/net/rps_default_mask.sh | 4 ++++ > 1 file changed, 4 insertions(+) > > diff --git a/tools/testing/selftests/net/rps_default_mask.sh b/tools/testing/selftests/net/rps_default_mask.sh > index a26c5624429f..f8e786e220b6 100755 > --- a/tools/testing/selftests/net/rps_default_mask.sh > +++ b/tools/testing/selftests/net/rps_default_mask.sh > @@ -33,6 +33,10 @@ chk_rps() { > > rps_mask=$($cmd /sys/class/net/$dev_name/queues/rx-0/rps_cpus) > printf "%-60s" "$msg" > + > + # In case there is more than 32 CPUs we need to remove commas from masks > + rps_mask=${rps_mask/,} > + expected_rps_mask=${expected_rps_mask/,} Hi Jakub, AFAIK this will only remove the first incidence of a comma. So I'm assuming this breaks with >64 CPUs. > if [ $rps_mask -eq $expected_rps_mask ]; then > echo "[ ok ]" > else
On Fri, 19 Jan 2024 21:07:19 +0000 Simon Horman wrote: > AFAIK this will only remove the first incidence of a comma. > So I'm assuming this breaks with >64 CPUs. Good point! I'll use ${var//,} in v2.
diff --git a/tools/testing/selftests/net/rps_default_mask.sh b/tools/testing/selftests/net/rps_default_mask.sh index a26c5624429f..f8e786e220b6 100755 --- a/tools/testing/selftests/net/rps_default_mask.sh +++ b/tools/testing/selftests/net/rps_default_mask.sh @@ -33,6 +33,10 @@ chk_rps() { rps_mask=$($cmd /sys/class/net/$dev_name/queues/rx-0/rps_cpus) printf "%-60s" "$msg" + + # In case there is more than 32 CPUs we need to remove commas from masks + rps_mask=${rps_mask/,} + expected_rps_mask=${expected_rps_mask/,} if [ $rps_mask -eq $expected_rps_mask ]; then echo "[ ok ]" else
If there is more than 32 cpus the bitmask will start to contain commas, leading to: ./rps_default_mask.sh: line 36: [: 00000000,00000000: integer expression expected Remove the commas, bash doesn't interpret leading zeroes as oct so that should be good enough. Fixes: c12e0d5f267d ("self-tests: introduce self-tests for RPS default mask") Signed-off-by: Jakub Kicinski <kuba@kernel.org> --- CC: shuah@kernel.org CC: horms@kernel.org CC: linux-kselftest@vger.kernel.org --- tools/testing/selftests/net/rps_default_mask.sh | 4 ++++ 1 file changed, 4 insertions(+)