Thread (15 messages) flat view 15 messages, 4 authors, 2011-03-22

Re: [PATCH 4/7] tcp_cubic: fix clock dependency

From: Eric Dumazet <hidden>
Date: 2011-03-14 18:52:31

Le lundi 14 mars 2011 à 10:52 -0700, Stephen Hemminger a écrit :
quoted hunk ↗ jump to hunk
pièce jointe document texte brut (tcp-cubic-minrtt.patch)
The hystart code was written with assumption that HZ=1000.
Replace the use of jiffies with bictcp_clock as a millisecond
real time clock. 

Signed-off-by: Stephen Hemminger <redacted>
Reported-by: Lucas Nussbaum <redacted>
--- a/net/ipv4/tcp_cubic.c	2011-03-14 08:19:18.000000000 -0700
+++ b/net/ipv4/tcp_cubic.c	2011-03-14 08:22:42.486690594 -0700
@@ -88,7 +88,7 @@ struct bictcp {
 	u32	last_time;	/* time when updated last_cwnd */
 	u32	bic_origin_point;/* origin point of bic function */
 	u32	bic_K;		/* time to origin point from the beginning of the current epoch */
-	u32	delay_min;	/* min delay */
+	u32	delay_min;	/* min delay (msec << 3) */
 	u32	epoch_start;	/* beginning of an epoch */
 	u32	ack_cnt;	/* number of acks */
 	u32	tcp_cwnd;	/* estimated tcp cwnd */
@@ -98,7 +98,7 @@ struct bictcp {
 	u8	found;		/* the exit point is found? */
 	u32	round_start;	/* beginning of each round */
 	u32	end_seq;	/* end_seq of the round */
-	u32	last_jiffies;	/* last time when the ACK spacing is close */
+	u32	last_ack;	/* last time when the ACK spacing is close */
 	u32	curr_rtt;	/* the minimum rtt of current round */
 };
 
@@ -119,12 +119,21 @@ static inline void bictcp_reset(struct b
 	ca->found = 0;
 }
 
+static inline u32 bictcp_clock(void)
+{
+#if HZ < 1000
+	return ktime_to_ms(ktime_get_real());
Small point : This can be changed if date/time is changed

Maybe use monotonic time (aka ktime_get_ts()) ?


Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help