Quoting Ian McDonald:
|  On 12/2/06, Gerrit Renker <[EMAIL PROTECTED]> wrote:
|  > [DCCP]: Deprecate TFRC_SMALLEST_P
|  >
|  > Signed-off-by: Gerrit Renker <[EMAIL PROTECTED]>
|  
|  Acked-by: Ian McDonald <[EMAIL PROTECTED]>

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 [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to