From owner-freebsd-net@freebsd.org Wed Oct 21 21:18:51 2020 Return-Path: Delivered-To: freebsd-net@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 1CA4842DAD6 for ; Wed, 21 Oct 2020 21:18:51 +0000 (UTC) (envelope-from bugzilla-noreply@freebsd.org) Received: from mailman.nyi.freebsd.org (mailman.nyi.freebsd.org [IPv6:2610:1c1:1:606c::50:13]) by mx1.freebsd.org (Postfix) with ESMTP id 4CGjzH017gz3Y3l for ; Wed, 21 Oct 2020 21:18:51 +0000 (UTC) (envelope-from bugzilla-noreply@freebsd.org) Received: by mailman.nyi.freebsd.org (Postfix) id F279B42DAD5; Wed, 21 Oct 2020 21:18:50 +0000 (UTC) Delivered-To: net@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id F130342DE88 for ; Wed, 21 Oct 2020 21:18:50 +0000 (UTC) (envelope-from bugzilla-noreply@freebsd.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4CGjzG5zVWz3Y3k for ; Wed, 21 Oct 2020 21:18:50 +0000 (UTC) (envelope-from bugzilla-noreply@freebsd.org) Received: from kenobi.freebsd.org (kenobi.freebsd.org [IPv6:2610:1c1:1:606c::50:1d]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id B0F9BBDD1 for ; Wed, 21 Oct 2020 21:18:50 +0000 (UTC) (envelope-from bugzilla-noreply@freebsd.org) Received: from kenobi.freebsd.org ([127.0.1.5]) by kenobi.freebsd.org (8.15.2/8.15.2) with ESMTP id 09LLIoeP026676 for ; Wed, 21 Oct 2020 21:18:50 GMT (envelope-from bugzilla-noreply@freebsd.org) Received: (from www@localhost) by kenobi.freebsd.org (8.15.2/8.15.2/Submit) id 09LLIoWN026675 for net@FreeBSD.org; Wed, 21 Oct 2020 21:18:50 GMT (envelope-from bugzilla-noreply@freebsd.org) X-Authentication-Warning: kenobi.freebsd.org: www set sender to bugzilla-noreply@freebsd.org using -f From: bugzilla-noreply@freebsd.org To: net@FreeBSD.org Subject: [Bug 248652] iflib: netmap pkt-gen large TX performance difference between 11-STABLE and 12-STABLE/CURRENT on ix & ixl NIC Date: Wed, 21 Oct 2020 21:18:49 +0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: Base System X-Bugzilla-Component: kern X-Bugzilla-Version: 12.0-STABLE X-Bugzilla-Keywords: iflib, needs-qa, performance, regression X-Bugzilla-Severity: Affects Some People X-Bugzilla-Who: vmaffione@FreeBSD.org X-Bugzilla-Status: Open X-Bugzilla-Resolution: X-Bugzilla-Priority: --- X-Bugzilla-Assigned-To: vmaffione@FreeBSD.org X-Bugzilla-Flags: maintainer-feedback? maintainer-feedback? mfc-stable12? mfc-stable11- X-Bugzilla-Changed-Fields: Message-ID: In-Reply-To: References: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Bugzilla-URL: https://bugs.freebsd.org/bugzilla/ Auto-Submitted: auto-generated MIME-Version: 1.0 X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 21 Oct 2020 21:18:51 -0000 https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D248652 --- Comment #32 from Vincenzo Maffione --- (In reply to Sylvain Galliano from comment #29) Thanks again for your tests. I'm inclined to think that the pkt-gen hang issue that you see is not direc= tly caused by the ixl patch. Would you please try to test what happens if you only apply the ixl patch (discarding all the changes related to the netmap timer)? In the very end the change to ixl is orthogonal to the netmap timer issue. Also, it would be useful to understand whether the hang problem comes from = some sort of race condition or not. For this purpose, you may try to use the -R argument of pkt-gen (this time with the timer+ixl patch) to specify a maxim= um rate in packets per second (pps). E.g. you could start from 1000 pps, check that it does not hang, double the rate and repeat the process until you fin= d a critical rate that causes the hang. Unless this is not a race condition and= the hang happens at any rate. When the hang happens, it may help to see the ring state, e.g. with the following patch to pkt-gen. I expect to see head, cur and tail having the s= ame value.=20 diff --git a/apps/pkt-gen/pkt-gen.c b/apps/pkt-gen/pkt-gen.c index ef876f4f..19497fe9 100644 --- a/apps/pkt-gen/pkt-gen.c +++ b/apps/pkt-gen/pkt-gen.c @@ -1675,6 +1675,10 @@ sender_body(void *data) break; D("poll error on queue %d: %s", targ->me, rv ? strerror(errno) : "timeout"); + for (i =3D targ->nmd->first_tx_ring; i <=3D targ->nmd->last_tx_ring; i++) { + txring =3D NETMAP_TXRING(nifp, i); + D("txring %u %u %u", txring->head, txring->= cur, txring->tail); + } // goto quit; } if (pfd.revents & POLLERR) { --=20 You are receiving this mail because: You are on the CC list for the bug.=