git: d1de2b05a001 - main - tcp: Rename rfc6675_pipe to sack.revised, and enable by default

Peter Holm pho at freebsd.org
Sun Apr 18 17:27:48 UTC 2021


On Sun, Apr 18, 2021 at 02:54:38PM +0000, Scheffenegger, Richard wrote:
> It appears that the SACK scoreboard ended up unordered (the assumption/invariant is for it to remain sorted for efficient processing):
> 
> tp->snd_holes
> 	0xfffff80726393c00	3958849524	3958865856
> 	0xfffff80726393bc0	3958816860	3958849524
> 	0xfffff80726393ae0	3959110836	3959192496
> 
> The 2nd entry has lower sequence numbers than the first. The KASSERT happened, when this hole was scheduled for retransmission, but snd_una already acknowledged it by that time...
> 
> It seems the reproduction is stable, I will look into where this happens...
> 

OK. Let me know if there is anything I can help with.

- Peter

> Richard Scheffenegger
> 
> 
> -----Ursprüngliche Nachricht-----
> Von: owner-src-committers at freebsd.org <owner-src-committers at freebsd.org> Im Auftrag von Peter Holm
> Gesendet: Sonntag, 18. April 2021 11:04
> An: Scheffenegger, Richard <Richard.Scheffenegger at netapp.com>
> Cc: Richard Scheffenegger <rscheff at freebsd.org>; src-committers at freebsd.org; dev-commits-src-all at freebsd.org; dev-commits-src-main at freebsd.org; transport at freebsd.org
> Betreff: Re: git: d1de2b05a001 - main - tcp: Rename rfc6675_pipe to sack.revised, and enable by default
> 
> NetApp Security WARNING: This is an external email. Do not click links or open attachments unless you recognize the sender and know the content is safe.
> 
> 
> 
> 
> On Sun, Apr 18, 2021 at 08:30:20AM +0000, Scheffenegger, Richard wrote:
> > Hi Peter,
> >
> > Hmm... the panic appears to be due to a stale entry in the sack scoreboard - a hole not having been closed up to snd_una...
> >
> > Unlikely that this was solely due to this change by itself.
> >
> > Can I get the vmcore and kernel.debug for a close investigation?
> >
> 
> Sure. Uploaded to: https://people.freebsd.org/~pho/kernel.vmcore.320-mercat1.tar
> 
> - Peter
> 
> >
> > Richard Scheffenegger
> >
> > -----Ursprüngliche Nachricht-----
> > Von: Peter Holm <pho at freebsd.org>
> > Gesendet: Sonntag, 18. April 2021 08:01
> > An: Richard Scheffenegger <rscheff at freebsd.org>
> > Cc: src-committers at freebsd.org; dev-commits-src-all at freebsd.org; 
> > dev-commits-src-main at freebsd.org
> > Betreff: Re: git: d1de2b05a001 - main - tcp: Rename rfc6675_pipe to 
> > sack.revised, and enable by default
> >
> > NetApp Security WARNING: This is an external email. Do not click links or open attachments unless you recognize the sender and know the content is safe.
> >
> >
> >
> >
> > On Sat, Apr 17, 2021 at 01:50:25PM +0000, Richard Scheffenegger wrote:
> > > The branch main has been updated by rscheff:
> > >
> > > URL:
> > > https://cgit.FreeBSD.org/src/commit/?id=d1de2b05a001d3d80f633f576f49
> > > 09
> > > c2686dda3d
> > >
> > > commit d1de2b05a001d3d80f633f576f4909c2686dda3d
> > > Author:     Richard Scheffenegger <rscheff at FreeBSD.org>
> > > AuthorDate: 2021-04-17 12:59:30 +0000
> > > Commit:     Richard Scheffenegger <rscheff at FreeBSD.org>
> > > CommitDate: 2021-04-17 12:59:45 +0000
> > >
> > >     tcp: Rename rfc6675_pipe to sack.revised, and enable by default
> > >
> > >     As full support of RFC6675 is in place, deprecating
> > >     net.inet.tcp.rfc6675_pipe and enabling by default
> > >     net.inet.tcp.sack.revised.
> > >
> > >     Reviewed By: #transport, kbowling, rrs
> > >     Sponsored by: NetApp, Inc.
> > >     Differential Revision: https://reviews.freebsd.org/D28702
> > > ---
> > >  share/man/man4/tcp.4        | 25 ++++++++++++++-----------
> > >  sys/netinet/cc/cc_cubic.c   |  2 +-
> > >  sys/netinet/cc/cc_htcp.c    |  2 +-
> > >  sys/netinet/cc/cc_newreno.c |  2 +-
> > >  sys/netinet/tcp_input.c     | 11 +++--------
> > >  sys/netinet/tcp_sack.c      | 12 +++++++++---
> > >  sys/netinet/tcp_var.h       |  4 ++--
> > >  7 files changed, 31 insertions(+), 27 deletions(-)
> > >
> > > diff --git a/share/man/man4/tcp.4 b/share/man/man4/tcp.4 index 
> > > d01505e58427..cbb8021226fe 100644
> > > --- a/share/man/man4/tcp.4
> >
> > Could this panic be related?
> >
> > 20210418 07:19:59 all (204/751): jumbo.sh
> > panic: tcp_output: sack block to the left of una : -293976 cpuid = 3 
> > time = 1618723234
> > KDB: stack backtrace:
> > db_trace_self_wrapper() at db_trace_self_wrapper+0x2b/frame 
> > 0xfffffe00e49b0550
> > vpanic() at vpanic+0x181/frame 0xfffffe00e49b05a0
> > panic() at panic+0x43/frame 0xfffffe00e49b0600
> > tcp_output() at tcp_output+0x27dc/frame 0xfffffe00e49b07c0
> > tcp_do_segment() at tcp_do_segment+0x32a3/frame 0xfffffe00e49b08b0
> > tcp_input() at tcp_input+0xbd5/frame 0xfffffe00e49b0a10
> > ip_input() at ip_input+0x194/frame 0xfffffe00e49b0aa0
> > swi_net() at swi_net+0x1a1/frame 0xfffffe00e49b0b20
> > ithread_loop() at ithread_loop+0x279/frame 0xfffffe00e49b0bb0
> > fork_exit() at fork_exit+0x80/frame 0xfffffe00e49b0bf0
> > fork_trampoline() at fork_trampoline+0xe/frame 0xfffffe00e49b0bf0
> > --- trap 0, rip = 0, rsp = 0, rbp = 0 ---
> >
> > https://people.freebsd.org/~pho/stress/log/log0094.txt
> >
> > - Peter


More information about the freebsd-transport mailing list