All of lore.kernel.org
 help / color / mirror / Atom feed
From: Gerrit Renker <gerrit@erg.abdn.ac.uk>
To: dccp@vger.kernel.org
Subject: Re: [RFC] [PATCH 1/2]: Remove small typo
Date: Tue, 28 Nov 2006 20:25:00 +0000	[thread overview]
Message-ID: <200611282025.00852@strip-the-willow> (raw)
In-Reply-To: <200611281434.31175@strip-the-willow>

This is a Re-sent after discusssion with Ian. I have renamed
the variable also, as the term got too long for the 80 columns fixed
linelength - hope `t_nfb' is ok as mnemonic for the nofeedback timeout.

-----------------------> Commit Message <----------------------------
[CCID 3]: Set NoFeedback Timeout according to RFC 3448

This corrects the setting of the nofeedback timer with 
regard to RFC 3448 - previously it was not set to 
max(4*R, 2*s/X) as specified. Using the maximum of 1 second 
as upper bound (as it was done before) can have detrimental
effects, especially if R is small.

Signed-off-by: Gerrit Renker <gerrit@erg.abdn.ac.uk>
---
 net/dccp/ccids/ccid3.c |   22 ++++++++++------------
 1 file changed, 10 insertions(+), 12 deletions(-)

--- a/net/dccp/ccids/ccid3.c
+++ b/net/dccp/ccids/ccid3.c
@@ -183,7 +183,7 @@ static void ccid3_hc_tx_no_feedback_time
 {
 	struct sock *sk = (struct sock *)data;
 	struct ccid3_hc_tx_sock *hctx = ccid3_hc_tx_sk(sk);
-	unsigned long next_tmout = USEC_PER_SEC / 5;
+	unsigned long t_nfb = USEC_PER_SEC / 5;
 
 	bh_lock_sock(sk);
 	if (sock_owned_by_user(sk)) {
@@ -208,7 +208,7 @@ static void ccid3_hc_tx_no_feedback_time
 			       hctx->ccid3hctx_x);
 		/* The value of R is still undefined and so we can not recompute
 		 * the timout value. Keep initial value as per [RFC 4342, 5]. */
-		next_tmout = TFRC_INITIAL_TIMEOUT;
+		t_nfb = TFRC_INITIAL_TIMEOUT;
 		ccid3_update_send_time(hctx);
 		break;
 	case TFRC_SSTATE_FBACK:
@@ -246,10 +246,9 @@ static void ccid3_hc_tx_no_feedback_time
 		}
 		/*
 		 * Schedule no feedback timer to expire in
-		 * max(4 * t_RTO, 2 * s/X)  =  max(4 * t_RTO, 2 * t_ipi)
-		 * XXX This is non-standard, RFC 3448, 4.3 uses 4 * R
+		 * max(4 * R, 2 * s/X)  =  max(4 * R, 2 * t_ipi)
 		 */
-		next_tmout = max(hctx->ccid3hctx_t_rto, 2*hctx->ccid3hctx_t_ipi);
+		t_nfb = max(4 * hctx->ccid3hctx_rtt, 2 * hctx->ccid3hctx_t_ipi);
 		break;
 	case TFRC_SSTATE_NO_SENT:
 		DCCP_BUG("Illegal %s state NO_SENT, sk=%p", dccp_role(sk), sk);
@@ -262,7 +261,7 @@ static void ccid3_hc_tx_no_feedback_time
 
 restart_timer:
 	sk_reset_timer(sk, &hctx->ccid3hctx_no_feedback_timer,
-		           jiffies + usecs_to_jiffies(next_tmout));
+		           jiffies + usecs_to_jiffies(t_nfb));
 out:
 	bh_unlock_sock(sk);
 	sock_put(sk);
@@ -420,7 +419,7 @@ static void ccid3_hc_tx_packet_recv(stru
 	struct ccid3_options_received *opt_recv;
 	struct dccp_tx_hist_entry *packet;
 	struct timeval now;
-	unsigned long next_tmout; 
+	unsigned long t_nfb;
 	u32 t_elapsed;
 	u32 pinv;
 	u32 r_sample;
@@ -523,18 +522,17 @@ static void ccid3_hc_tx_packet_recv(stru
 					      	   USEC_PER_SEC            );
 		/*
 		 * Schedule no feedback timer to expire in
-		 * max(4 * t_RTO, 2 * s/X)  =  max(4 * t_RTO, 2 * t_ipi)
-		 * XXX This is non-standard, RFC 3448, 4.3 uses 4 * R
+		 * max(4 * R, 2 * s/X)  =  max(4 * R, 2 * t_ipi)
 		 */
-		next_tmout = max(hctx->ccid3hctx_t_rto, 2*hctx->ccid3hctx_t_ipi);
+		t_nfb = max(4 * hctx->ccid3hctx_rtt, 2 * hctx->ccid3hctx_t_ipi);
 			
 		ccid3_pr_debug("%s, sk=%p, Scheduled no feedback timer to "
 			       "expire in %lu jiffies (%luus)\n",
 			       dccp_role(sk), sk,
-			       usecs_to_jiffies(next_tmout), next_tmout); 
+			       usecs_to_jiffies(t_nfb), t_nfb);
 
 		sk_reset_timer(sk, &hctx->ccid3hctx_no_feedback_timer, 
-				   jiffies + usecs_to_jiffies(next_tmout));
+				   jiffies + usecs_to_jiffies(t_nfb));
 
 		/* set idle flag */
 		hctx->ccid3hctx_idle = 1;   

  parent reply	other threads:[~2006-11-28 20:25 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-11-28 14:34 [RFC] [PATCH 1/2]: Remove small typo Gerrit Renker
2006-11-28 19:26 ` Ian McDonald
2006-11-28 20:21 ` Arnaldo Carvalho de Melo
2006-11-28 20:25 ` Gerrit Renker [this message]
2006-11-28 20:27 ` Ian McDonald
2006-11-28 20:28 ` Arnaldo Carvalho de Melo
2006-11-28 20:35 ` Arnaldo Carvalho de Melo

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=200611282025.00852@strip-the-willow \
    --to=gerrit@erg.abdn.ac.uk \
    --cc=dccp@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.