From e0781b3334022c22107d2a01b4fbafe286c887fe Mon Sep 17 00:00:00 2001 From: flamingcow Date: Sat, 25 Jul 2026 18:40:37 -0700 Subject: [PATCH] Default to worker counts and frame sizes that measure the cable, not the host --- main.go | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/main.go b/main.go index 3c2f46b..55989ce 100644 --- a/main.go +++ b/main.go @@ -335,10 +335,10 @@ func main() { var ( aName = flag.String("a", "", "first interface") bName = flag.String("b", "", "second interface") - sizesArg = flag.String("sizes", "64,128,256,512,1024,1280,1514", "frame sizes in bytes, excluding FCS, cycled per packet") + sizesArg = flag.String("sizes", "1024,1280,1514", "frame sizes in bytes, excluding FCS, cycled per packet; below ~900 the host cannot keep up and loss stops meaning anything") patArg = flag.String("pattern", "prbs", "payload pattern") - txN = flag.Int("tx", 4, "tx workers per direction") - rxN = flag.Int("rx", 4, "rx workers per direction") + txN = flag.Int("tx", 1, "tx workers per direction; one saturates 10G at these sizes") + rxN = flag.Int("rx", 2, "rx workers per direction; more is slower, RSS cannot spread a raw ethertype across queues") batch = flag.Int("batch", 64, "frames per sendmmsg/recvmmsg call") fanout = flag.String("fanout", "lb", "rx fanout mode: none, hash, lb, cpu, rollover") duplex = flag.Bool("duplex", true, "run both directions simultaneously")