From nobody Mon Jan 23 19:52:48 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P113h5xBwz3bFMS; Mon, 23 Jan 2023 19:52:48 +0000 (UTC) (envelope-from git@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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P113h5C9Nz4JD6; Mon, 23 Jan 2023 19:52:48 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674503568; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=BkmvONV84sC4zW7uNzCUhla4xt3g0A/QtpvCx5FoWLY=; b=gLLdVaZZqh5zo9QJJlqHftkOGB1jqBOMOonHoUgvZTYos4jWOyBj8HDS4kPJqPG/sWZVVr YMWnfgwO3LdtUTOUk0dr4rULivzX9JNEyCaQjDRVEWvLf7cM6Pe2Qn/OyfE76Eg0XVDfjv PWdUVPVGtHeehwdy9zrwLK8QbIMGMZDsnt3vxlsoN5aFBm7hC8hO4bBqToE6R5aU3d/nEF Msdpe7bPGQnPxOWR22cnZJdpMDGnywKSU9nZ+5JTvfSg7tTY5lh0RfypLB+VwE3Gg63BC2 AxWHSQn8bcrn8OjgwrT/hmZjD/6zKomrRlAKqUt5mpwVlKWI+dsIR7zsr3qYWg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674503568; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=BkmvONV84sC4zW7uNzCUhla4xt3g0A/QtpvCx5FoWLY=; b=f9xAMv7lvxX0tDMb0Kb22ktDv9WU2BOpITKKuyc5oWm89sh6/JMJUBqfNKjgy1DzVLQOEJ AmxKEzYipGbFxEq0sbcdpXmHTZkp/+YGGDBPLUB2G1GetMP3kHph3gAfxFItM+f8sK4W5Y F/A9bFNkoxgHU3nNMueOkhbOsrwALBqoDTqi7MjHItp+Dp5Ly92TQed/o2lh9X/r8uEVmA GdiwyJscASGXGzSWUbWpDO8v4o6EM+bvdRpToqEOsEuao3tGB4U1LLOEZvjzCcHcxnyN7D ++9zoi0Tx5C+uNvT7mlWAqZUSK5TDhjgq2kP5Xp9mgTySQTP5CRavVUpVXKmSA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674503568; a=rsa-sha256; cv=none; b=PHlSyib40EON5kLD403bEC25S11gPJ61VSc+HwcbG/LWqur/VoZWtraI1IHJgpL3yCW3UP egoo+H4Esrq2Vll2rNxIUdxB0zdaPyPk4YMaqaM19A/Euv8wLz0p6luJomaRg04rupQatF t1lbLcfKEdjsRugXF4U3OUvtPKD/S+oYhKCTgt9DDISWV0/yRahIVsoNlHv+vvIzosSz1D Cn0W7GmKA8koGK/zx1u2z4bdJehJbmVR+Pwx/2NmAh0V8IbDTVjibmPUG4zUCBvjYEWBKk rwWMUhBZWF+3ahTlFDVGpKu/+paidhFPQZjUYE9+RhVJii+JAcr1H5jC2bXrRA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (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 4P113h4GzczhFK; Mon, 23 Jan 2023 19:52:48 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30NJqm1K015564; Mon, 23 Jan 2023 19:52:48 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30NJqml9015563; Mon, 23 Jan 2023 19:52:48 GMT (envelope-from git) Date: Mon, 23 Jan 2023 19:52:48 GMT Message-Id: <202301231952.30NJqml9015563@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mark Johnston Subject: git: df40e30c9786 - main - netmap: Try to count packet drops in emulated mode List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: df40e30c9786ccbf51e3acdf936d5c0e20815652 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=df40e30c9786ccbf51e3acdf936d5c0e20815652 commit df40e30c9786ccbf51e3acdf936d5c0e20815652 Author: Mark Johnston AuthorDate: 2023-01-23 19:42:41 +0000 Commit: Mark Johnston CommitDate: 2023-01-23 19:42:41 +0000 netmap: Try to count packet drops in emulated mode Right now we have little visibility into packet drops within netmap. Start trying to make packet loss issues more visible by counting queue drops in the transmit path, and in the input path for interfaces running in emulated mode, where we place received packets in a bounded software queue that is processed by rxsync. Reviewed by: vmaffione MFC after: 1 week Sponsored by: Zenarmor Sponsored by: OPNsense Sponsored by: Klara, Inc. Differential Revision: https://reviews.freebsd.org/D38064 --- sys/dev/netmap/netmap.c | 4 +++- sys/dev/netmap/netmap_generic.c | 2 ++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/sys/dev/netmap/netmap.c b/sys/dev/netmap/netmap.c index 448d9a81eefb..37723fb36fe8 100644 --- a/sys/dev/netmap/netmap.c +++ b/sys/dev/netmap/netmap.c @@ -4329,8 +4329,10 @@ netmap_transmit(struct ifnet *ifp, struct mbuf *m) mbq_unlock(q); done: - if (m) + if (m) { + if_inc_counter(ifp, IFCOUNTER_OQDROPS, 1); m_freem(m); + } /* unconditionally wake up listeners */ kring->nm_notify(kring, 0); /* this is normally netmap_notify(), but for nics diff --git a/sys/dev/netmap/netmap_generic.c b/sys/dev/netmap/netmap_generic.c index f075cd4bd306..83908f10a3fe 100644 --- a/sys/dev/netmap/netmap_generic.c +++ b/sys/dev/netmap/netmap_generic.c @@ -837,8 +837,10 @@ generic_rx_handler(struct ifnet *ifp, struct mbuf *m) * support RX scatter-gather. */ nm_prlim(2, "Warning: driver pushed up big packet " "(size=%d)", (int)MBUF_LEN(m)); + if_inc_counter(ifp, IFCOUNTER_IQDROPS, 1); m_freem(m); } else if (unlikely(mbq_len(&kring->rx_queue) > na->num_rx_desc)) { + if_inc_counter(ifp, IFCOUNTER_IQDROPS, 1); m_freem(m); } else { mbq_safe_enqueue(&kring->rx_queue, m);