Re: [PATCH 7/8]: Deprecate TFRC_SMALLEST_P

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Quoting Ian McDonald:
|  On 12/2/06, Gerrit Renker <gerrit@xxxxxxxxxxxxxx> wrote:
|  > [DCCP]: Deprecate TFRC_SMALLEST_P
|  >
|  > Signed-off-by: Gerrit Renker <gerrit@xxxxxxxxxxxxxx>
|  
|  Acked-by: Ian McDonald <ian.mcdonald@xxxxxxxxxxx>

I would like to inform you that I have made a small change which 
would otherwise cause erratic behaviour:

In ccid3_hc_tx_no_feedback_timer():
/* If (X_calc > 2 * X_recv)
	X_recv = max(X_recv/2, s(2*t_mbi))
   Else
	X_recv = X_calc/4

-                       /* check also if p is zero -> x_calc is infinity? */
-                       if (hctx->ccid3hctx_p < TFRC_SMALLEST_P ||
-                           hctx->ccid3hctx_x_calc > 2 * hctx->ccid3hctx_x_recv)
				hctx->ccid3hctx_x_recv = max_t(u32, hctx->ccid3hctx_x_recv / 2,
								    hctx->ccid3hctx_s / (2 * TFRC_T_MBI));
			else
				hctx->ccid3hctx_x_recv = hctx->ccid3hctx_x_calc / 4;

===> the previous replacement was:
+                       if (hctx->ccid3hctx_x_calc > 2 * hctx->ccid3hctx_x_recv)

===> if p==0, the `else' case would be taken. But X_calc is then either a stale value or (at worst) 0
     which would mean that the sender cuts off here. Therefore, I have done the following: 
+			if (hctx->ccid3hctx_p  == 0 ||
+                           hctx->ccid3hctx_x_calc > 2 * hctx->ccid3hctx_x_recv)

===> In this way we avoid using a stale or zero value of X_calc

Keep the Acked-by? 
-
To unsubscribe from this list: send the line "unsubscribe dccp" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Kernel]     [IETF DCCP]     [Linux Networking]     [Git]     [Security]     [Linux Assembly]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]

  Powered by Linux