On 12/01/2026 5:43, Willem de Bruijn wrote:
> Gal Pressman wrote:
>> The toeplitz.py test passed the hex mask without "0x" prefix (e.g.,
>> "300" for CPUs 8,9). The toeplitz.c strtoul() call wrongly parsed this
>> as decimal 300 (0x12c) instead of hex 0x300.
>>
>> Use separate format strings for sysfs (plain hex via format()) and
>> command line (prefixed hex via hex()).
>>
>> Fixes: 9cf9aa77a1f6 ("selftests: drv-net: hw: convert the Toeplitz test to
>> Python")
>> Reviewed-by: Nimrod Oren <[email protected]>
>> Signed-off-by: Gal Pressman <[email protected]>
>
> Reviewed-by: Willem de Bruijn <[email protected]>
>
>> ---
>> tools/testing/selftests/drivers/net/hw/toeplitz.py | 9 ++++++---
>> 1 file changed, 6 insertions(+), 3 deletions(-)
>>
>> diff --git a/tools/testing/selftests/drivers/net/hw/toeplitz.py
>> b/tools/testing/selftests/drivers/net/hw/toeplitz.py
>> index d2db5ee9e358..7a9af4af1838 100755
>> --- a/tools/testing/selftests/drivers/net/hw/toeplitz.py
>> +++ b/tools/testing/selftests/drivers/net/hw/toeplitz.py
>> @@ -94,14 +94,17 @@ def _configure_rps(cfg, rps_cpus):
>> mask = 0
>> for cpu in rps_cpus:
>> mask |= (1 << cpu)
>> - mask = hex(mask)[2:]
>> +
>> + # sysfs expect hex without '0x' prefix, toeplitz.c needs the prefix
>> + mask_sysfs = format(mask, 'x')
>
> A particular reason not to use the existing slicing?
>
>> + mask_cmdline = hex(mask)
>>
>> # Set RPS bitmap for all rx queues
>> for rps_file in
>> glob.glob(f"/sys/class/net/{cfg.ifname}/queues/rx-*/rps_cpus"):
>> with open(rps_file, "w", encoding="utf-8") as fp:
>> - fp.write(mask)
>> + fp.write(mask_sysfs)
>
> Alternatively
>
> - mask = hex(mask)[2:]
> + mask = hex(mask)
>
> - fp.write(mask)
> + fp.write(mask[2:])
>
> The comment that sysfs and toeplitz.c expect different input is
> definitely helpful.
Will take your suggestion, thanks.