test/README: Requirements for socket buffer sizes and hardware performance events

Performance tests use iperf3(1) with large windows, and these sysctl
entries are needed to run them unmodified.

The passt demo uses perf(1) to report syscall overhead, and that
needs access to hardware performance counters for unprivileged
users.

Reported-by: David Gibson <david@gibson.dropbear.id.au>
Signed-off-by: Stefano Brivio <sbrivio@redhat.com>
Reviewed-by: David Gibson <david@gibson.dropbear.id.au>
This commit is contained in:
Stefano Brivio 2022-08-30 22:00:07 +02:00
parent 0cb795e432
commit a1c38ffe0a

View file

@ -47,6 +47,22 @@ Virtual machine images are built during test executions using
[mbuto](https://mbuto.lameexcu.se/), the shell script is sourced via _git_ [mbuto](https://mbuto.lameexcu.se/), the shell script is sourced via _git_
as needed, so there's no need to actually install it. as needed, so there's no need to actually install it.
### Kernel parameters
Performance tests use iperf3 with rather large TCP receiving and sending
windows, to decrease the likelihood of iperf3 itself becoming the bottleneck.
These values need to be allowed by the kernel of the host running the tests.
Example for /etc/sysctl.conf:
net.core.rmem_max = 134217728
net.core.wmem_max = 134217728
Further, the passt demo uses perf(1), relying on hardware events for performance
counters, to display syscall overhead. The kernel needs to allow unprivileged
users to access these events. Suggested entry for /etc/sysctl.conf:
kernel.perf_event_paranoid = -1
### Special requirements for continuous integration and demo modes ### Special requirements for continuous integration and demo modes
Running the test suite as continuous integration or demo modes will record the Running the test suite as continuous integration or demo modes will record the