On Monday 15 June 2009 8:04:42 pm Bruce Evans wrote: > On Mon, 15 Jun 2009, John Baldwin wrote: > > > On Friday 12 June 2009 8:56:56 pm Bruce Evans wrote: > >> On Fri, 12 Jun 2009, John Baldwin wrote: > > ... > >>> FWIW, the variables were signed before they were changed to unsigned and > >>> are now > >>> back as signed again. It just seems really odd to have the types not > >>> match > >>> 'ticks' especially since many of the values are just cached copies of > >>> 'ticks'. > >> > >> No, they were originally u_long and stayed that way until you changed them > >> (except possibly for newer variables). The type of `ticks' is just wrong, > >> and fixing that would take more work, but there is no reason to propagate > >> this bug to new variables. The original version is: > > > > Gah, I had misremembered the diffs, they were indeed unsigned. Here is my > > attempt at trying to fix things then based on my understanding so far: > > This is about what I want.
Ok, I will commit in a bit with some fixes. > > - I cast 'ticks' to u_int in the code to compute a new isn. I'm not sure if > > this is needed. > > This shouldn't be needed. Ok, I've removed it. > > --- //depot/projects/smpng/sys/netinet/tcp_timer.c 2009/04/14 19:06:19 > > +++ //depot/user/jhb/socket/netinet/tcp_timer.c 2009/06/15 17:22:13 > > @@ -418,8 +418,8 @@ > > * backoff that we would use if retransmitting. > > */ > > if (tp->t_rxtshift == TCP_MAXRXTSHIFT && > > - ((ticks - tp->t_rcvtime) >= tcp_maxpersistidle || > > - (ticks - tp->t_rcvtime) >= TCP_REXMTVAL(tp) * tcp_totbackoff)) { > > + (ticks - tp->t_rcvtime >= tcp_maxpersistidle || > > + ticks - tp->t_rcvtime >= TCP_REXMTVAL(tp) * tcp_totbackoff)) { > > TCPSTAT_INC(tcps_persistdrop); > > tp = tcp_drop(tp, ETIMEDOUT); > > goto out; > > Do we want to keep the non-KNF indentation (1 char extra to line things up)? It is easier to read with it lined up and in this case I just went with the existing style rather than reindenting. > > --- //depot/projects/smpng/sys/netinet/tcp_var.h 2009/06/12 13:45:50 > > +++ //depot/user/jhb/socket/netinet/tcp_var.h 2009/06/15 17:22:13 > > @@ -139,12 +139,12 @@ > > > > u_int t_maxopd; /* mss plus options */ > > > > - int t_rcvtime; /* inactivity time */ > > - int t_starttime; /* time connection was established */ > > - int t_rtttime; /* round trip time */ > > + u_int t_rcvtime; /* inactivity time */ > > + u_int t_starttime; /* time connection was established */ > > + u_int t_rtttime; /* round trip time */ > > I would prefer the delta-times (like t_rtttime) to remain as ints. Having > everything of the same type is safer, and having everything of signed > type allows better overflow checking (gcc -ftrapv (*)). Whether ints are > actually safer for r_tttime depend on how it is used. Oops, I misread > t_rtttime as being the rtt and a delta-time. It seems to be actually > an absolute time for the start of rtt measurement. Its comment is thus > now just wrong. Ok, I've updated the comment instead and left it as u_int. -- John Baldwin _______________________________________________ svn-src-all@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"