diff options
Diffstat (limited to 'net/rxrpc/ar-internal.h')
| -rw-r--r-- | net/rxrpc/ar-internal.h | 25 | 
1 files changed, 17 insertions, 8 deletions
| diff --git a/net/rxrpc/ar-internal.h b/net/rxrpc/ar-internal.h index 3eb1ab40ca5c..9fe264bec70c 100644 --- a/net/rxrpc/ar-internal.h +++ b/net/rxrpc/ar-internal.h @@ -7,6 +7,7 @@  #include <linux/atomic.h>  #include <linux/seqlock.h> +#include <linux/win_minmax.h>  #include <net/net_namespace.h>  #include <net/netns/generic.h>  #include <net/sock.h> @@ -311,11 +312,14 @@ struct rxrpc_peer {  #define RXRPC_RTT_CACHE_SIZE 32  	spinlock_t		rtt_input_lock;	/* RTT lock for input routine */  	ktime_t			rtt_last_req;	/* Time of last RTT request */ -	u64			rtt;		/* Current RTT estimate (in nS) */ -	u64			rtt_sum;	/* Sum of cache contents */ -	u64			rtt_cache[RXRPC_RTT_CACHE_SIZE]; /* Determined RTT cache */ -	u8			rtt_cursor;	/* next entry at which to insert */ -	u8			rtt_usage;	/* amount of cache actually used */ +	unsigned int		rtt_count;	/* Number of samples we've got */ + +	u32			srtt_us;	/* smoothed round trip time << 3 in usecs */ +	u32			mdev_us;	/* medium deviation			*/ +	u32			mdev_max_us;	/* maximal mdev for the last rtt period	*/ +	u32			rttvar_us;	/* smoothed mdev_max			*/ +	u32			rto_j;		/* Retransmission timeout in jiffies */ +	u8			backoff;	/* Backoff timeout */  	u8			cong_cwnd;	/* Congestion window size */  }; @@ -1041,7 +1045,6 @@ extern unsigned long rxrpc_idle_ack_delay;  extern unsigned int rxrpc_rx_window_size;  extern unsigned int rxrpc_rx_mtu;  extern unsigned int rxrpc_rx_jumbo_max; -extern unsigned long rxrpc_resend_timeout;  extern const s8 rxrpc_ack_priority[]; @@ -1069,8 +1072,6 @@ void rxrpc_send_keepalive(struct rxrpc_peer *);   * peer_event.c   */  void rxrpc_error_report(struct sock *); -void rxrpc_peer_add_rtt(struct rxrpc_call *, enum rxrpc_rtt_rx_trace, -			rxrpc_serial_t, rxrpc_serial_t, ktime_t, ktime_t);  void rxrpc_peer_keepalive_worker(struct work_struct *);  /* @@ -1103,6 +1104,14 @@ void rxrpc_notify_socket(struct rxrpc_call *);  int rxrpc_recvmsg(struct socket *, struct msghdr *, size_t, int);  /* + * rtt.c + */ +void rxrpc_peer_add_rtt(struct rxrpc_call *, enum rxrpc_rtt_rx_trace, +			rxrpc_serial_t, rxrpc_serial_t, ktime_t, ktime_t); +unsigned long rxrpc_get_rto_backoff(struct rxrpc_peer *, bool); +void rxrpc_peer_init_rtt(struct rxrpc_peer *); + +/*   * rxkad.c   */  #ifdef CONFIG_RXKAD |