OK florian@

On Tue, Feb 06, 2018 at 05:10:17PM +0100, Alexander Bluhm wrote:
> Hi,
> 
> Historically TCP timeouts were implemented with pr_slowtimo and
> pr_fasttimo.  That is the reason why we have two timeout mechanisms
> with complicated ticks calculation.
> 
> I would like to move to milliseconds and merge them eventually.
> This makes it easier to see the actual values.
> 
> Let's get rid of some easy ticks and hz.
> 
> ok?
> 
> bluhm
> 
> Index: netinet/tcp_timer.c
> ===================================================================
> RCS file: /data/mirror/openbsd/cvs/src/sys/netinet/tcp_timer.c,v
> retrieving revision 1.63
> diff -u -p -r1.63 tcp_timer.c
> --- netinet/tcp_timer.c       6 Feb 2018 15:13:08 -0000       1.63
> +++ netinet/tcp_timer.c       6 Feb 2018 15:47:06 -0000
> @@ -64,7 +64,7 @@ int tcp_maxidle;
>   * Time to delay the ACK.  This is initialized in tcp_init(), unless
>   * its patched.
>   */
> -int  tcp_delack_ticks;
> +int  tcp_delack_msecs;
>  
>  void tcp_timer_rexmt(void *);
>  void tcp_timer_persist(void *);
> @@ -96,8 +96,8 @@ tcp_timer_init(void)
>       if (tcp_maxpersistidle == 0)
>               tcp_maxpersistidle = TCPTV_KEEP_IDLE;
>  
> -     if (tcp_delack_ticks == 0)
> -             tcp_delack_ticks = TCP_DELACK_TICKS;
> +     if (tcp_delack_msecs == 0)
> +             tcp_delack_msecs = TCP_DELACK_MSECS;
>  }
>  
>  /*
> Index: netinet/tcp_timer.h
> ===================================================================
> RCS file: /data/mirror/openbsd/cvs/src/sys/netinet/tcp_timer.h,v
> retrieving revision 1.16
> diff -u -p -r1.16 tcp_timer.h
> --- netinet/tcp_timer.h       6 Feb 2018 15:13:08 -0000       1.16
> +++ netinet/tcp_timer.h       6 Feb 2018 15:47:06 -0000
> @@ -106,7 +106,7 @@
>  
>  #define      TCP_MAXRXTSHIFT 12                      /* maximum retransmits 
> */
>  
> -#define      TCP_DELACK_TICKS (hz / PR_FASTHZ)       /* time to delay ACK */
> +#define      TCP_DELACK_MSECS 200                    /* time to delay ACK */
>  
>  #ifdef       TCPTIMERS
>  const char *tcptimers[TCPT_NTIMERS] =
> @@ -122,7 +122,7 @@ const char *tcptimers[TCPT_NTIMERS] =
>  #define      TCP_TIMER_ARM(tp, timer, nticks)                                
> \
>  do {                                                                 \
>       SET((tp)->t_flags, TF_TIMER << (timer));                        \
> -     timeout_add(&(tp)->t_timer[(timer)], (nticks) * (hz / PR_SLOWHZ)); \
> +     timeout_add_msec(&(tp)->t_timer[(timer)], (nticks) * 500);      \
>  } while (0)
>  
>  #define      TCP_TIMER_DISARM(tp, timer)                                     
> \
> @@ -151,6 +151,7 @@ typedef void (*tcp_timer_func_t)(void *)
>  
>  extern const tcp_timer_func_t tcp_timer_funcs[TCPT_NTIMERS];
>  
> +extern int tcp_delack_msecs;         /* delayed ACK timeout in millisecs */
>  extern int tcptv_keep_init;
>  extern int tcp_always_keepalive;     /* assume SO_KEEPALIVE is always set */
>  extern int tcp_keepidle;             /* time before keepalive probes begin */
> Index: netinet/tcp_var.h
> ===================================================================
> RCS file: /data/mirror/openbsd/cvs/src/sys/netinet/tcp_var.h,v
> retrieving revision 1.130
> diff -u -p -r1.130 tcp_var.h
> --- netinet/tcp_var.h 6 Feb 2018 15:13:08 -0000       1.130
> +++ netinet/tcp_var.h 6 Feb 2018 15:47:06 -0000
> @@ -205,14 +205,13 @@ struct tcpcb {
>  #define      sototcpcb(so)   (intotcpcb(sotoinpcb(so)))
>  
>  #ifdef _KERNEL
> -extern int tcp_delack_ticks;
>  void tcp_delack(void *);
>  
>  #define TCP_INIT_DELACK(tp)                                          \
>       timeout_set_proc(&(tp)->t_delack_to, tcp_delack, tp)
>  
>  #define TCP_RESTART_DELACK(tp)                                               
> \
> -     timeout_add(&(tp)->t_delack_to, tcp_delack_ticks)
> +     timeout_add_msec(&(tp)->t_delack_to, tcp_delack_msecs)
>  
>  #define      TCP_SET_DELACK(tp)                                              
> \
>  do {                                                                 \
> 

-- 
I'm not entirely sure you are real.

Reply via email to