diff options
Diffstat (limited to 'net/ipv4/tcp_lp.c')
| -rw-r--r-- | net/ipv4/tcp_lp.c | 17 | 
1 files changed, 9 insertions, 8 deletions
| diff --git a/net/ipv4/tcp_lp.c b/net/ipv4/tcp_lp.c index d6fb6c067af4..ae10ed64fe13 100644 --- a/net/ipv4/tcp_lp.c +++ b/net/ipv4/tcp_lp.c @@ -37,7 +37,7 @@  #include <net/tcp.h>  /* resolution of owd */ -#define LP_RESOL       1000 +#define LP_RESOL       TCP_TS_HZ  /**   * enum tcp_lp_state @@ -147,9 +147,9 @@ static u32 tcp_lp_remote_hz_estimator(struct sock *sk)  	    tp->rx_opt.rcv_tsecr == lp->local_ref_time)  		goto out; -	m = HZ * (tp->rx_opt.rcv_tsval - -		  lp->remote_ref_time) / (tp->rx_opt.rcv_tsecr - -					  lp->local_ref_time); +	m = TCP_TS_HZ * +	    (tp->rx_opt.rcv_tsval - lp->remote_ref_time) / +	    (tp->rx_opt.rcv_tsecr - lp->local_ref_time);  	if (m < 0)  		m = -m; @@ -194,7 +194,7 @@ static u32 tcp_lp_owd_calculator(struct sock *sk)  	if (lp->flag & LP_VALID_RHZ) {  		owd =  		    tp->rx_opt.rcv_tsval * (LP_RESOL / lp->remote_hz) - -		    tp->rx_opt.rcv_tsecr * (LP_RESOL / HZ); +		    tp->rx_opt.rcv_tsecr * (LP_RESOL / TCP_TS_HZ);  		if (owd < 0)  			owd = -owd;  	} @@ -264,18 +264,19 @@ static void tcp_lp_pkts_acked(struct sock *sk, const struct ack_sample *sample)  {  	struct tcp_sock *tp = tcp_sk(sk);  	struct lp *lp = inet_csk_ca(sk); +	u32 now = tcp_time_stamp(tp);  	u32 delta;  	if (sample->rtt_us > 0)  		tcp_lp_rtt_sample(sk, sample->rtt_us);  	/* calc inference */ -	delta = tcp_time_stamp - tp->rx_opt.rcv_tsecr; +	delta = now - tp->rx_opt.rcv_tsecr;  	if ((s32)delta > 0)  		lp->inference = 3 * delta;  	/* test if within inference */ -	if (lp->last_drop && (tcp_time_stamp - lp->last_drop < lp->inference)) +	if (lp->last_drop && (now - lp->last_drop < lp->inference))  		lp->flag |= LP_WITHIN_INF;  	else  		lp->flag &= ~LP_WITHIN_INF; @@ -312,7 +313,7 @@ static void tcp_lp_pkts_acked(struct sock *sk, const struct ack_sample *sample)  		tp->snd_cwnd = max(tp->snd_cwnd >> 1U, 1U);  	/* record this drop time */ -	lp->last_drop = tcp_time_stamp; +	lp->last_drop = now;  }  static struct tcp_congestion_ops tcp_lp __read_mostly = { |