On Fri, 25 Apr 2025 at 17:03, Nuno Teixeira <edua...@freebsd.org> wrote:

> Directly from console:
>
> % iperf3 -c hp -R
> Connecting to host hp, port 5201
> Reverse mode, remote host hp is sending
> [  5] local 192.168.1.82 port 35544 connected to 192.168.1.100 port 5201
> rtwn0: rtwn_rx_copy_to_mbuf: could not allocate RX mbuf (6196 bytes)
> rtwn0: rtwn_rx_copy_to_mbuf: could not allocate RX mbuf (6196 bytes)
> rtwn0: rtwn_rx_copy_to_mbuf: could not allocate RX mbuf (6196 bytes)
> [ ID] Interval           Transfer     Bitrate
> [  5]   0.00-1.06   sec  0.00 Bytes  0.00 bits/sec
> rtwn0: rtwn_rx_copy_to_mbuf: could not allocate RX mbuf (4672 bytes)
> [  5]   1.06-2.00   sec  0.00 Bytes  0.00 bits/sec
> [  5]   2.00-3.03   sec  0.00 Bytes  0.00 bits/sec
> rtwn0: rtwn_rx_copy_to_mbuf: could not allocate RX mbuf (6196 bytes)
> rtwn0: rtwn_rx_copy_to_mbuf: could not allocate RX mbuf (6196 bytes)
> rtwn0: rtwn_rx_copy_to_mbuf: could not allocate RX mbuf (4672 bytes)
> rtwn0: rtwn_rx_copy_to_mbuf: could not allocate RX mbuf (6196 bytes)
> rtwn0: rtwn_rx_copy_to_mbuf: could not allocate RX mbuf (6196 bytes)
> rtwn0: rtwn_rx_copy_to_mbuf: could not allocate RX mbuf (6196 bytes)
> [  5]   3.03-4.01   sec  0.00 Bytes  0.00 bits/sec
> rtwn0: rtwn_rx_copy_to_mbuf: could not allocate RX mbuf (6196 bytes)
> rtwn0: rtwn_rx_copy_to_mbuf: could not allocate RX mbuf (6196 bytes)
> rtwn0: rtwn_rx_copy_to_mbuf: could not allocate RX mbuf (6196 bytes)
> rtwn0: rtwn_rx_copy_to_mbuf: could not allocate RX mbuf (4672 bytes)
> rtwn0: rtwn_rx_copy_to_mbuf: could not allocate RX mbuf (6196 bytes)
> [  5]   4.01-5.05   sec  0.00 Bytes  0.00 bits/sec
> [  5]   5.05-6.06   sec  0.00 Bytes  0.00 bits/sec
> rtwn0: rtwn_rx_copy_to_mbuf: could not allocate RX mbuf (4672 bytes)
> [  5]   6.06-7.06   sec   128 KBytes  1.05 Mbits/sec
> rtwn0: rtwn_rx_copy_to_mbuf: could not allocate RX mbuf (4672 bytes)
> [  5]   7.06-8.06   sec   256 KBytes  2.10 Mbits/sec
> rtwn0: rtwn_rx_copy_to_mbuf: could not allocate RX mbuf (6196 bytes)
> rtwn0: rtwn_rx_copy_to_mbuf: could not allocate RX mbuf
>

Ok, that is interesting. We're not keeping counters in m_get2() for when
the buffer requested is too large; it only returns NULL.
I guess it's bailing if it's above a page size (4kbytes.)

Try changing the m_get2() call there to m_get3(); let's see if that
improves things.
(m_get3() will fail above 16kbytes; and if it can't allocate a buffer <
16kbytes then we should get some UMA error counted somehwere.)



-adrian


> Adrian Chadd <adrian.ch...@gmail.com> escreveu (sábado, 26/04/2025 à(s)
> 00:51):
> >
> > change
> >
> > __func__);
> >
> > to
> >
> > __func__, totlen);
> >
> >
> > On Fri, 25 Apr 2025 at 16:30, Nuno Teixeira <edua...@freebsd.org> wrote:
> >>
> >> (...)
> >>
> >> kk, it builds fine without patch.
> >>
> >> Sending logs of the patch (as gmail ruins formating) and kernel.log
> attached.
> >>
> >> Nuno Teixeira <edua...@freebsd.org> escreveu (sábado, 26/04/2025 à(s)
> 00:18):
> >> >
> >> > Hum build kernel is failing with:
> >> >
> >> > diff --git a/sys/dev/rtwn/usb/rtwn_usb_rx.c
> b/sys/dev/rtwn/usb/rtwn_usb_rx.c
> >> > index 657d6bdeb9e4..15e7da2b1968 100644
> >> > --- a/sys/dev/rtwn/usb/rtwn_usb_rx.c
> >> > +++ b/sys/dev/rtwn/usb/rtwn_usb_rx.c
> >> > @@ -126,7 +126,7 @@ rtwn_rx_copy_to_mbuf(struct rtwn_softc *sc, struct
> >> > rtwn_rx_stat_common *stat,
> >> >
> >> >         m = m_get2(totlen, M_NOWAIT, MT_DATA, M_PKTHDR);
> >> >         if (__predict_false(m == NULL)) {
> >> > -               device_printf(sc->sc_dev, "%s: could not allocate RX
> mbuf\n",
> >> > +               device_printf(sc->sc_dev, "%s: could not allocate RX
> >> > mbuf (%d bytes)\n",
> >> >                     __func__);
> >> >                 goto fail;
> >> >         }
> >> >
> >> > I will rebuild it again without patch and check what is the problem
> >> >
> >> > Nuno Teixeira <edua...@freebsd.org> escreveu (sábado, 26/04/2025
> à(s) 00:12):
> >> > >
> >> > > I'm compiling and soon I will reboot.
> >> > > Do the tests the same way and previous email or just trigger error
> and
> >> > > capture logs?
> >> > >
> >> > > Adrian Chadd <adrian.ch...@gmail.com> escreveu (sábado, 26/04/2025
> à(s) 00:04):
> >> > > >
> >> > > >
> >> > > >
> >> > > > On Fri, 25 Apr 2025 at 16:03, Nuno Teixeira <edua...@freebsd.org>
> wrote:
> >> > > >>
> >> > > >> > edit sys/dev/rtwn/usb/usb_rtwn_rx.c ,around line 129. Change
> that device_printf() line to
> >> > > >> >
> >> > > >> > device_printf(sc->sc_dev, "%s: could not allocate RX mbuf (%d
> bytes)\n",
> >> > > >> >     __func__, totlen);
> >> > > >>
> >> > > >> # cd /usr/src
> >> > > >> # find . -name "*rtwn_rx.c"
> >> > > >> ./sys/dev/rtwn/if_rtwn_rx.c
> >> > > >>
> >> > > >> Where is sys/dev/rtwn/usb/usb_rtwn_rx.c ?
> >> > > >>
> >> > > >
> >> > > > /usr/src/sys/dev/rtwn/usb/rtwn_usb_rx.c
> >> > > >
> >> > > > sorry, typo. :-0
> >> > > >
> >> > > >
> >> > > >
> >> > > > -adrian
> >> > > >
> >> > > >>
> >> > > >> --
> >> > > >> Nuno Teixeira
> >> > > >> FreeBSD UNIX:  <edua...@freebsd.org>   Web:  https://FreeBSD.org
> >> > >
> >> > >
> >> > >
> >> > > --
> >> > > Nuno Teixeira
> >> > > FreeBSD UNIX:  <edua...@freebsd.org>   Web:  https://FreeBSD.org
> >> >
> >> >
> >> >
> >> > --
> >> > Nuno Teixeira
> >> > FreeBSD UNIX:  <edua...@freebsd.org>   Web:  https://FreeBSD.org
> >>
> >>
> >>
> >> --
> >> Nuno Teixeira
> >> FreeBSD UNIX:  <edua...@freebsd.org>   Web:  https://FreeBSD.org
>
>
>
> --
> Nuno Teixeira
> FreeBSD UNIX:  <edua...@freebsd.org>   Web:  https://FreeBSD.org
>

Reply via email to