From a1c38ffe0a148da665074f049acf4197b3d9349c Mon Sep 17 00:00:00 2001 From: Stefano Brivio Date: Tue, 30 Aug 2022 22:00:07 +0200 Subject: [PATCH] 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 Signed-off-by: Stefano Brivio Reviewed-by: David Gibson --- test/README.md | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/test/README.md b/test/README.md index 581949a..72a4986 100644 --- a/test/README.md +++ b/test/README.md @@ -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_ 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 Running the test suite as continuous integration or demo modes will record the