Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 12 Jun 2017 08:47:55 +0000
From:      Tom Vijlbrief <tvijlbrief@gmail.com>
To:        Henri Hennebert <hlh@restart.be>, freebsd-arm <freebsd-arm@freebsd.org>
Subject:   Re: [Bug 219927] awg0 stops working after a long output under ssh
Message-ID:  <CAOQrpVf6apmyxt07wfkneRbTFq6v%2BN-r1E=hW6ykM1O%2BXJ3k1w@mail.gmail.com>
In-Reply-To: <158994e0-9f53-e64a-2b81-b554894571c6@restart.be>
References:  <bug-219927-7@https.bugs.freebsd.org/bugzilla/> <CAOQrpVfHqKwy8-fOAjrSM9-KQcV-Mya7uCNX6v44zSuVHHNTOQ@mail.gmail.com> <158994e0-9f53-e64a-2b81-b554894571c6@restart.be>

next in thread | previous in thread | raw e-mail | index | archive | help
Op ma 12 jun. 2017 09:59 schreef Henri Hennebert <hlh@restart.be>:

> On 06/11/2017 17:54, Tom Vijlbrief wrote:
> >
> > Op zo 11 jun. 2017 om 16:23 schreef <bugzilla-noreply@freebsd.org
> > <mailto:bugzilla-noreply@freebsd.org>>:
> >
> >     https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=219927
> >
> >                  Bug ID: 219927
> >                 Summary: awg0 stops working after a long output under ssh
> >                 Product: Base System
> >                 Version: CURRENT
> >                Hardware: arm64
> >                      OS: Any
> >                  Status: New
> >                Severity: Affects Only Me
> >                Priority: ---
> >               Component: arm
> >                Assignee: freebsd-arm@FreeBSD.org
> >                Reporter: hlh@restart.be <mailto:hlh@restart.be>
> >
> >     Environment: pine64+ 2GB
> >     FreeBSD norquay.restart.bel 12.0-CURRENT FreeBSD 12.0-CURRENT #0
> >     r318945M: Sat
> >     Jun 10 11:47:44 CEST 2017
> >     root@norquay.restart.bel:/usr/obj/usr/src/sys/NORQUAY  arm64
> >
> >     If I connect from a wireless computer (FreeBSD 11.1-PRERELEASE #0
> >     r318860) and
> >     run a command with a big output (eg `find /`) the awg0 stops working
> >     quickly
> >     (under 20 seconds of output).
> >
> >     If I do the same with telnet from the same computer, the output is
> >     much longer
> >     but awg0 stops working.
> >
> >     If I do the same from a wired computer then I must run `find /` 2 or
> >     3 times
> >     before awg0 stops working.
> >
> >     I can rsync through ssh 12GB without problem in both directions
> >     (from and to
> >     the pine64 and the wireless computer).
> >
> >     I have a `tcpdump -w ssh.data port 22`. (8.3 MB)
> >
> >     I can connect with a serial console to the pine64 after awg0 stop
> >     working.
> >     ifconfig awg0 down
> >     ifconfig awg0 up
> >     don't restore the connectivity. I must reboot to restore connectvity.
> >
> >
> > That's a coincidence, today I'm investigating the same issue.
> >
> > You could try increasing TX_MAX_SEGS in  sys/arm/allwinner/if_awg.c line
> 95.
> >
> > I'm currently testing TX_MAX_SEGS set to 40 and no lock up yet....
>
> Bingo. Your solution solved the problem.
>
> Thanks a lot.
>

Good to hear!

Increasing from 10 to 20 is probably sufficient. It is not clear to me what
the adverse effects are of a too high value.

The root cause is that the driver tries to call m_collapse with this limit
and this will fail. The tcp stack will resent the package and the
m_collapse will fail again and again and ...



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAOQrpVf6apmyxt07wfkneRbTFq6v%2BN-r1E=hW6ykM1O%2BXJ3k1w>