Re: mbuf cluster leak?
[email protected] (Michael van Elst)
| Newsgroups | gmane.os.netbsd.devel.network |
|---|---|
| Organization | Serpens User Group |
| Message-ID | <[email protected]> |
[email protected] (Paul Ripke) writes: >while rsync'ing 1TiB+ to a local machine over 1Gbit/s ethernet. >I've doubled nmbclusters, but it'd be nice to know why the clusters >appear to be leaking. >I assume MBUFTRACE might aid in hunting this down? Yes, I've fixed many places in the code recently where MBUFTRACE wasn't supported, it's still not complete. >I kicked off the rsync again after the doubling, and ran out again a >few hours later. Local interface is alc0, which happens to be in a >bridge with a bunch of tap interfaces. I also have npf, and altq >configured on a pppoe0 interface. MBUFTRACE support is still missing in alc(4). This patch might help (untested): Index: if_alc.c =================================================================== RCS file: /cvsroot/src/sys/dev/pci/if_alc.c,v retrieving revision 1.55 diff -p -u -r1.55 if_alc.c --- if_alc.c 5 Jul 2024 04:31:51 -0000 1.55 +++ if_alc.c 3 Mar 2025 12:03:10 -0000 @@ -2433,6 +2433,7 @@ alc_newbuf(struct alc_softc *sc, struct MGETHDR(m, init ? M_WAITOK : M_DONTWAIT, MT_DATA); if (m == NULL) return (ENOBUFS); + MCLAIM(m, &sc->sc_ec.ec_rx_mowner); MCLGET(m, init ? M_WAITOK : M_DONTWAIT); if (!(m->m_flags & M_EXT)) { m_freem(m);