Re: [PATCH net-next] tcp: expose both send and receive intervals for rate sample

2 messages, 2 authors, 2018-07-09 · open the first message on its own page

Re: [PATCH net-next] tcp: expose both send and receive intervals for rate sample

From: Yuchung Cheng <hidden>
Date: 2018-07-09 16:24:05

On Mon, Jul 9, 2018 at 9:05 AM, Deepti Raghavan [off-list ref] wrote:
Congestion control algorithms, which access the rate sample
through the tcp_cong_control function, only have access to the maximum
of the send and receive interval, for cases where the acknowledgment
rate may be inaccurate due to ACK compression or decimation. Algorithms
may want to use send rates and receive rates as separate signals.

Signed-off-by: Deepti Raghavan <redacted>
Acked-by: Yuchung Cheng <redacted>
quoted hunk
---
 include/net/tcp.h   | 2 ++
 net/ipv4/tcp_rate.c | 4 ++++
 2 files changed, 6 insertions(+)
diff --git a/include/net/tcp.h b/include/net/tcp.h
index cce3769..f6cb20e 100644
--- a/include/net/tcp.h
+++ b/include/net/tcp.h
@@ -954,6 +954,8 @@ struct rate_sample {
  u32  prior_delivered; /* tp->delivered at "prior_mstamp" */
  s32  delivered; /* number of packets delivered over interval */
  long interval_us; /* time for tp->delivered to incr "delivered" */
+ u32 snd_interval_us; /* snd interval for delivered packets */
+ u32 rcv_interval_us; /* rcv interval for delivered packets */
  long rtt_us; /* RTT of last (S)ACKed packet (or -1) */
  int  losses; /* number of packets marked lost upon ACK */
  u32  acked_sacked; /* number of packets newly (S)ACKed upon ACK */
diff --git a/net/ipv4/tcp_rate.c b/net/ipv4/tcp_rate.c
index c61240e..4dff40d 100644
--- a/net/ipv4/tcp_rate.c
+++ b/net/ipv4/tcp_rate.c
@@ -146,6 +146,10 @@ void tcp_rate_gen(struct sock *sk, u32 delivered, u32
lost,
      rs->prior_mstamp); /* ack phase */
  rs->interval_us = max(snd_us, ack_us);

+ /* Record both segment send and ack receive intervals */
+ rs->snd_interval_us = snd_us;
+ rs->rcv_interval_us = ack_us;
+
  /* Normally we expect interval_us >= min-rtt.
   * Note that rate may still be over-estimated when a spuriously
   * retransmistted skb was first (s)acked because "interval_us"
--
2.7.4

Re: [PATCH net-next] tcp: expose both send and receive intervals for rate sample

From: Eric Dumazet <hidden>
Date: 2018-07-09 17:02:56


On 07/09/2018 09:23 AM, Yuchung Cheng wrote:
On Mon, Jul 9, 2018 at 9:05 AM, Deepti Raghavan [off-list ref] wrote:
quoted
Congestion control algorithms, which access the rate sample
through the tcp_cong_control function, only have access to the maximum
of the send and receive interval, for cases where the acknowledgment
rate may be inaccurate due to ACK compression or decimation. Algorithms
may want to use send rates and receive rates as separate signals.

Signed-off-by: Deepti Raghavan <redacted>
Acked-by: Yuchung Cheng <redacted>

Okay, but please send a non HTML mail, otherwise the mail does not reach netdev@, 
nor https://patchwork.ozlabs.org/project/netdev/list/
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help