On Tue, Aug 30, 2022 at 10:00:07PM +0200, Stefano Brivio wrote: > 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 If I get time, I'll try to add something to skip these tests if the host sysctl isn't set appropriately. > --- > 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 -- David Gibson | I'll have my music baroque, and my code david AT gibson.dropbear.id.au | minimalist, thank you. NOT _the_ _other_ | _way_ _around_! http://www.ozlabs.org/~dgibson