public inbox for passt-dev@passt.top
 help / color / mirror / code / Atom feed
From: Stefano Brivio <sbrivio@redhat.com>
To: passt-dev@passt.top
Subject: [PATCH] test/README: Requirements for socket buffer sizes and hardware performance events
Date: Tue, 30 Aug 2022 22:00:07 +0200	[thread overview]
Message-ID: <20220830200007.3065472-1-sbrivio@redhat.com> (raw)

[-- Attachment #1: Type: text/plain, Size: 1599 bytes --]

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(a)gibson.dropbear.id.au>
Signed-off-by: Stefano Brivio <sbrivio(a)redhat.com>
---
 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
-- 
@@ -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
-- 
2.35.1


             reply	other threads:[~2022-08-30 20:00 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-08-30 20:00 Stefano Brivio [this message]
2022-09-01  1:37 ` [PATCH] test/README: Requirements for socket buffer sizes and hardware performance events David Gibson

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20220830200007.3065472-1-sbrivio@redhat.com \
    --to=sbrivio@redhat.com \
    --cc=passt-dev@passt.top \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://passt.top/passt

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for IMAP folder(s).