NetBSD-Bugs archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: kern/60175: panic: igc_rxrefill: msix=0 id=351
The following reply was made to PR kern/60175; it has been noted by GNATS.
From: Thomas Klausner <wiz%netbsd.org@localhost>
To: gnats-bugs%netbsd.org@localhost
Cc: rin%netbsd.org@localhost
Subject: Re: kern/60175: panic: igc_rxrefill: msix=0 id=351
Date: Fri, 22 May 2026 15:29:35 +0200
I had this again today: panic: igc_rxrefill: msix=1 id=915
Looking at the code:
for (id = rxr->next_to_check; id != end; id = igc_rxdesc_incr(sc, id)) {
if (igc_get_buf(rxr, id, true)) {
/* XXXRO */
panic("%s: msix=%d id=%d\n", __func__, rxr->me, id);
}
}
So a 'strict' igc_get_buf failed.
Looking at igc_get_buf, it can fail when
- rxr->rx_buffers[id].buf is already filled in (EINVAL)
- MGETHDR(m, M_DONTWAIT, MT_DATA) fails to provide an mbuf in m (ENOBUFS)
- MCLGET(m, M_DONTWAIT) returns an m that is !(m->m_flags & M_EXT)) (ENOBUFS)
- bus_dmamap_load_mbuf fails
So let's assume there is a problem with the mbuf because of resource
starvation, the bulk build takes up a lot of RAM.
It would be nice if the driver handled this.
Cheers,
Thomas
Home |
Main Index |
Thread Index |
Old Index