[Bug 277340] X710-DA4 TX Queue ring_state STALLED without resetting to IDLE

From: <bugzilla-noreply_at_freebsd.org>
Date: Mon, 26 Feb 2024 22:04:09 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=277340

            Bug ID: 277340
           Summary: X710-DA4 TX Queue ring_state STALLED without resetting
                    to IDLE
           Product: Base System
           Version: 13.2-RELEASE
          Hardware: amd64
                OS: Any
            Status: New
          Severity: Affects Only Me
          Priority: ---
         Component: kern
          Assignee: bugs@FreeBSD.org
          Reporter: alex@hotelwifi.com

Created attachment 248769
  --> https://bugs.freebsd.org/bugzilla/attachment.cgi?id=248769&action=edit
Full dev.ixl.0 output

Hello,

DATA
We are running FreeBSD 13.2-RELEASE-p9 #25 on top of several Dell R650 (Example
Service Tag: 8FKQRY3). The system is running bhyve for other FreeBSD Virtual
Machines.

ISSUE

Periodically, the networking will stop working on individual interfaces. During
packet capture we can see that the networking card is receiving traffic, but no
traffic is being set out. During further investigation we found that ixl
interface TX queue ring-state is getting into STALLED mode.

[r07guestccb ~]$ sysctl dev.ixl | grep ring_state
dev.ixl.5.iflib.txq0.ring_state: pidx_head: 0434 pidx_tail: 0434 cidx: 0434
state: IDLE
dev.ixl.4.iflib.txq0.ring_state: pidx_head: 1777 pidx_tail: 1777 cidx: 1777
state: IDLE
dev.ixl.3.iflib.txq0.ring_state: pidx_head: 0063 pidx_tail: 0063 cidx: 0063
state: IDLE
dev.ixl.2.iflib.txq0.ring_state: pidx_head: 0000 pidx_tail: 0000 cidx: 0000
state: IDLE
dev.ixl.1.iflib.txq0.ring_state: pidx_head: 0000 pidx_tail: 0000 cidx: 0000
state: IDLE
dev.ixl.0.iflib.txq0.ring_state: pidx_head: 1885 pidx_tail: 1885 cidx: 1887
state: STALLED


The documentation in IFLIB says this about stalls:
r_stalls
    Number of consumer stalls in the MP ring for this
    queue.  A stall  occurs when an attempt to drain  a non-
    empty ring fails.


However, it doesn't specifically state what events can cause a stall - so we
can start ruling those out or why it isn’t restarting.

dev.ixl.0.iflib.txq0.ring_state: pidx_head: 1885 pidx_tail: 1885 cidx: 1887
state: STALLED
dev.ixl.0.iflib.txq0.r_stalls: 1
dev.ixl.0.iflib.txq0.r_restarts: 0

-- 
You are receiving this mail because:
You are the assignee for the bug.