Skip to content

Setting incorrect CPU affinity in network.py can cause CPU load to spike #570

@rodwsmith

Description

@rodwsmith

Bug Description

On some systems, the network.py script can set an incorrect CPU affinity (via the -A option to iperf3) -- typically to core 0 on devices that don't support NUMA. This can cause CPU load to spike -- for instance, this has been observed to spike to over 90% on a Socionext Developerbox with an ARM Cortex-A53 CPU using a 1 Gbps network test, whereas omitting the -A option to iperf3 in the script produces CPU loads of around 30-35%. On the Socionext system, the throughput dropped from 92% (without the -A option) to about 82% (with the incorrect CPU affinity set).

To Reproduce

  1. Run network.py manually (for instance, "sudo /usr/lib/checkbox-provider-base/bin/network.py test -i {interface} -t iperf --iperf3 --scan-timeout 36 --fail-threshold 80 --cpu-load-fail-threshold 90 --runtime 90 --num_runs 4 --target {ipaddr}"
  2. Monitor CPU load with top; or wait for the test to finish and look at the reported CPU load.

Environment

My own tests were done on a Socionext Developerbox running Ubuntu 23.04; however, Rick Wu (rickwu4444 on MM) reported similar issues on an imx8-based platform.

Relevant log output

No response

Additional context

No response

Metadata

Metadata

Assignees

Labels

bugSomething isn't working

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions