tech-net archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: mbuf cluster leak?



stix%stix.id.au@localhost (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);



Home | Main Index | Thread Index | Old Index