Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 41903
b: refs/heads/master
c: 2a1fda6
h: refs/heads/master
i:
  41901: 499d332
  41899: 1b577c2
  41895: 6e6e261
  41887: 126bb81
v: v3
  • Loading branch information
Gerrit Renker authored and David S. Miller committed Dec 3, 2006
1 parent 4816355 commit abd4910
Show file tree
Hide file tree
Showing 2 changed files with 11 additions and 13 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 4384260443efe90a2ec0d907568dbc58ae792cd0
refs/heads/master: 2a1fda6f6c01d7ac195c040f14edcf9f64a5451e
22 changes: 10 additions & 12 deletions trunk/net/dccp/ccids/ccid3.c
Original file line number Diff line number Diff line change
Expand Up @@ -163,7 +163,7 @@ static void ccid3_hc_tx_no_feedback_timer(unsigned long data)
{
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)) {
Expand Down Expand Up @@ -191,7 +191,7 @@ static void ccid3_hc_tx_no_feedback_timer(unsigned long data)
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:
Expand Down Expand Up @@ -228,10 +228,9 @@ static void ccid3_hc_tx_no_feedback_timer(unsigned long data)
}
/*
* 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);
Expand All @@ -244,7 +243,7 @@ static void ccid3_hc_tx_no_feedback_timer(unsigned long data)

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);
Expand Down Expand Up @@ -396,7 +395,7 @@ static void ccid3_hc_tx_packet_recv(struct sock *sk, struct sk_buff *skb)
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 x_recv;
Expand Down Expand Up @@ -498,18 +497,17 @@ static void ccid3_hc_tx_packet_recv(struct sock *sk, struct sk_buff *skb)
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;
Expand Down

0 comments on commit abd4910

Please sign in to comment.