Re: Re: [PATCH] [DCCP]: Use higher timeout value for nofeedback timer

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

 



I agree that running a very small no-feedback timer is a bad idea.
But I think that 1 second is probably far too large.  The purpose of
the nofeedback timer is to slow DCCP down when there is serious
network congestion.  Waiting 1 second on a LAN would mean sending for
thousands of RTTs before starting to slow down.  And on wide-area
links in places like the UK, it could be 100 RTTs before you slow
down, although this would be mitigated a little if the problem was
congestion, and a queue built up.

My gut feeling is that there should be a lower bound on the nofeedback
timer, but that 100ms would be a more appropriate value.  This is
motivated by an attempt to compromise between a large value for
efficient DCCP implementations, and a small value to avoid disrupting
the network for too long when bad stuff is happening.  From a human
usability point of view, you probably can cope with dropouts in audio
of 100ms without it being too bad, but 1 second is too long.

- Mark


On 12/1/06, Gerrit Renker <gerrit@xxxxxxxxxxxxxx> wrote:
Subject: Re: [PATCH] [DCCP]: Use higher timeout value for nofeedback timer
Date: Friday 01 December 2006 08:10
To: Lars Eggert <lars.eggert@xxxxxxxxxxxxx>

Quoting Lars Eggert:
|  On Nov 30, 2006, at 11:13, Ian McDonald wrote:
|  > This patch provides a configuration option to set the bound for the
|  > nofeedback timer, using as default the TCP RTO timeout of 1 second.
|
|  The default TCP RTO is 3 seconds (RFC 2988). Linux is apparently not
|  conformant to that RFC?
Ian didn't copy the remainder of the mail, which had the clarifying explanation
that this setting is related to section 2.4 of RFC 2988:
  (2.4) "Whenever RTO is computed, if it is less than 1 second then the
         RTO SHOULD be rounded up to 1 second."

Also [RFC 3448, sec. 1]:
  "Another possibility would be to set t_RTO = max(4R, one second),
   to match the recommended minimum of one second on the RTO [5]."
   where [5] = RFC 2988.

Currently, the nofeedback timer is set to

  t_nfb = max(4 * R, 2*s/X)

When R is very small (e.g. 250 usec), 4 * R is close to the dimension of one or
two clock ticks.




[Index of Archives]     [Linux Kernel Development]     [Linux DCCP]     [IETF Annouce]     [Linux Networking]     [Git]     [Security]     [Linux Assembly]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [DDR & Rambus]

  Powered by Linux