[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <AANLkTi=iqabHfTwSON81ZiNKw9vXvGkrOg2QkGxXd2vt@mail.gmail.com>
Date: Fri, 20 Aug 2010 09:38:34 -0300
From: Ivo Calado <ivocalado@...edded.ufcg.edu.br>
To: Gerrit Renker <gerrit@....abdn.ac.uk>,
Leandro <leandroal@...il.com>,
Ivo Calado <ivocalado@...edded.ufcg.edu.br>,
dccp@...r.kernel.org, netdev@...r.kernel.org
Subject: Re: dccp test-tree [Patch 1/1] ccid-3: use per-route min-RTO and/or
TCP default
Acked-by: Ivo Calado <ivocalado@...edded.ufcg.edu.br> for ccid4 subtree
On Mon, Aug 16, 2010 at 02:19, Gerrit Renker <gerrit@....abdn.ac.uk> wrote:
> This patch relates to the similar one submitted last week for CCID-2.
>
> It replaces the hardcoded (Kconfig) value of the minimum RTO value with
> a reconfigurable, per-route value which falls back to the TCP minimum
> RTO value.
>
> Leando, Ivo, can you please have a look and indicate whether you are ok
> with this? If yes I would like to also update the CCID-4 tree to make it
> consistent with the test tree - for this reason the test tree has not yet
> been updated.
>
>>>>>>>>>>>>>>>>>>>>>>>> Patch <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
> dccp ccid-3: use per-route RTO or TCP RTO as fallback
>
> This makes the TCP (per-route) RTO value also available to CCID-3, hence it
> is now possible to influence this value at runtime rather than, as before,
> via Kconfig.
>
> The same effect as the default Kconfig option of 100ms is now achieved by
>
>> ip route replace to unicast 192.168.0.0/24 rto_min 100j dev eth0
>
> (assuming HZ=1000).
>
> Signed-off-by: Gerrit Renker <gerrit@....abdn.ac.uk>
> ---
> net/dccp/ccids/Kconfig | 31 -------------------------------
> net/dccp/ccids/ccid3.c | 9 ++++-----
> 2 files changed, 4 insertions(+), 36 deletions(-)
>
> --- a/net/dccp/ccids/Kconfig
> +++ b/net/dccp/ccids/Kconfig
> @@ -47,37 +47,6 @@ config IP_DCCP_CCID3_DEBUG
>
> If in doubt, say N.
>
> -config IP_DCCP_CCID3_RTO
> - int "Use higher bound for nofeedback timer"
> - default 100
> - depends on IP_DCCP_CCID3 && EXPERIMENTAL
> - ---help---
> - Use higher lower bound for nofeedback timer expiration.
> -
> - The TFRC nofeedback timer normally expires after the maximum of 4
> - RTTs and twice the current send interval (RFC 3448, 4.3). On LANs
> - with a small RTT this can mean a high processing load and reduced
> - performance, since then the nofeedback timer is triggered very
> - frequently.
> -
> - This option enables to set a higher lower bound for the nofeedback
> - value. Values in units of milliseconds can be set here.
> -
> - A value of 0 disables this feature by enforcing the value specified
> - in RFC 3448. The following values have been suggested as bounds for
> - experimental use:
> - * 16-20ms to match the typical multimedia inter-frame interval
> - * 100ms as a reasonable compromise [default]
> - * 1000ms corresponds to the lower TCP RTO bound (RFC 2988, 2.4)
> -
> - The default of 100ms is a compromise between a large value for
> - efficient DCCP implementations, and a small value to avoid disrupting
> - the network in times of congestion.
> -
> - The purpose of the nofeedback timer is to slow DCCP down when there
> - is serious network congestion: experimenting with larger values should
> - therefore not be performed on WANs.
> -
> config IP_DCCP_TFRC_LIB
> def_bool y if IP_DCCP_CCID3
>
> --- a/net/dccp/ccids/ccid3.c
> +++ b/net/dccp/ccids/ccid3.c
> @@ -461,12 +461,11 @@ done_computing_x:
>
> /*
> * Update timeout interval for the nofeedback timer.
> - * We use a configuration option to increase the lower bound.
> - * This can help avoid triggering the nofeedback timer too
> - * often ('spinning') on LANs with small RTTs.
> + * We use the current (per-route) value of the TCP RTO as lower bound
> + * to slow down rate-halving on networks with small RTTs (loopback,
> + * running DCCP in a virtual machine, Gbit ethernet, etc).
> */
> - hc->tx_t_rto = max_t(u32, 4 * hc->tx_rtt, (CONFIG_IP_DCCP_CCID3_RTO *
> - (USEC_PER_SEC / 1000)));
> + hc->tx_t_rto = max(4 * hc->tx_rtt, USEC_PER_SEC/HZ * tcp_rto_min(sk));
> /*
> * Schedule no feedback timer to expire in
> * max(t_RTO, 2 * s/X) = max(t_RTO, 2 * t_ipi)
>
--
Ivo Augusto Andrade Rocha Calado
PhD candidate in Electrical Engineering
Embedded Systems and Pervasive Computing Lab - http://embedded.ufcg.edu.br
Electrical Engineering Department - http://dee.ufcg.edu.br/
Electrical Engineering and Informatics Center - http://www.ceei.ufcg.edu.br
Federal University of Campina Grande - http://www.ufcg.edu.br
PGP: 0xD7C3860A pgp.mit.edu
Putt's Law:
Technology is dominated by two types of people:
Those who understand what they do not manage.
Those who manage what they do not understand.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists