On 04.11.2012 21:15, Andreas Tobler wrote: > On 04.11.12 14:57, Andre Oppermann wrote: >> On 04.11.2012 13:11, Kim Culhan wrote: >>> On Sun, November 4, 2012 6:21 am, Dimitry Andric wrote: >>>> On 2012-11-04 02:13, Manfred Antar wrote: >>>>> At 03:29 PM 11/3/2012, Adrian Chadd wrote: >>>> After the commit, there was a small discussion thread on svn-src-head_at_ >>>> about the possible problems with the approach. Maybe you are >>>> experiencing those? >>>> >>>> As the commit message says, you should be able to turn the feature off >>>> using: >>>> >>>> sysctl net.inet.tcp.experimental.initcwnd10=0 >>>> >>>> Can you please try that, and see if the problems go away? >>> >>> FWIW this did not make the problem go away on 2 machines. >> >> Yes, this very much looks like the same problem as in PR/173309. >> >> Please try the attached patch. It fixes the connection hang issue. >> There may be a second issue I debugging currently base on the feedback >> from Fabian Keil. > > I jump into this thread since I have a similar network issue. > > My scenario: > > 'make installkernel DESTDIR=/netboot/test' to a nfs mounted drive. > The nfs drive on the server is an ufs fs. No zfs. > > Up to r242261 I can install the kernel (or world) in a fluent way to the > nfs destination. > >>From r242262 it doesn't work smooth. I have stalls, sometimes my > patience is not enough and I kill the process. > > I tried 242266 with the above mentioned patch. No real success. > > How can I help/test? Please try the attach patch instead of the above mentioned one. -- Andre Index: netinet/tcp_output.c =================================================================== --- netinet/tcp_output.c (revision 242577) +++ netinet/tcp_output.c (working copy) _at__at_ -228,7 +228,7 _at__at_ tso = 0; mtu = 0; off = tp->snd_nxt - tp->snd_una; - sendwin = min(tp->snd_wnd, tp->snd_cwnd); + sendwin = ulmax(ulmin(tp->snd_wnd - off, tp->snd_cwnd), 0); flags = tcp_outflags[tp->t_state]; /* _at__at_ -249,7 +249,7 _at__at_ (p = tcp_sack_output(tp, &sack_bytes_rxmt))) { long cwin; - cwin = min(tp->snd_wnd, tp->snd_cwnd) - sack_bytes_rxmt; + cwin = ulmin(tp->snd_wnd - off, tp->snd_cwnd) - sack_bytes_rxmt; if (cwin < 0) cwin = 0; /* Do not retransmit SACK segments beyond snd_recover */ _at__at_ -355,7 +355,7 _at__at_ * sending new data, having retransmitted all the * data possible in the scoreboard. */ - len = ((long)ulmin(so->so_snd.sb_cc, tp->snd_wnd) + len = ((long)ulmin(so->so_snd.sb_cc, tp->snd_wnd - off) - off); /* * Don't remove this (len > 0) check !Received on Sun Nov 04 2012 - 20:57:43 UTC
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:40:31 UTC