1
linux/net/dccp
Gerrit Renker 1a21e49a8d [DCCP] ccid3: Finer-grained resolution of sending rates
This patch
 * resolves a bug where packets smaller than 32/64 bytes resulted in sending rates of 0
 * supports all sending rates from 1/64 bytes/second up to 4Gbyte/second
 * simplifies the present overflow problems in calculations

Current sending rate X and the cached value X_recv of the receiver-estimated
sending rate are both scaled by 64 (2^6) in order to
 * cope with low sending rates (minimally 1 byte/second)
 * allow upgrading to use a packets-per-second implementation of CCID 3
 * avoid calculation errors due to integer arithmetic cut-off

The patch implements a revised strategy from
http://www.mail-archive.com/dccp@vger.kernel.org/msg01040.html

The only difference with regard to that strategy is that t_ipi is already
used in the calculation of the nofeedback timeout, which saves one division.

Signed-off-by: Gerrit Renker <gerrit@erg.abdn.ac.uk>
Acked-by: Ian McDonald <ian.mcdonald@jandi.co.nz>
Signed-off-by: Arnaldo Carvalho de Melo <acme@mandriva.com>
2006-12-11 14:34:42 -08:00
..
ccids [DCCP] ccid3: Finer-grained resolution of sending rates 2006-12-11 14:34:42 -08:00
ackvec.c [PATCH] slab: remove kmem_cache_t 2006-12-07 08:39:25 -08:00
ackvec.h [DCCP] ackvec: infrastructure for sending more than one ackvec per packet 2006-12-02 21:30:32 -08:00
ccid.c [PATCH] slab: remove kmem_cache_t 2006-12-07 08:39:25 -08:00
ccid.h [PATCH] slab: remove kmem_cache_t 2006-12-07 08:39:25 -08:00
dccp.h [DCCP]: Remove timeo from output.c 2006-12-11 14:34:37 -08:00
diag.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
feat.c [DCCP]: Simplified conditions due to use of enum:8 states 2006-12-02 21:24:38 -08:00
feat.h [DCCP]: Make feature negotiation more readable 2006-12-02 21:22:29 -08:00
input.c [DCCP]: Simplified conditions due to use of enum:8 states 2006-12-02 21:24:38 -08:00
ipv4.c [DCCP]: Simplified conditions due to use of enum:8 states 2006-12-02 21:24:38 -08:00
ipv6.c [DCCP]: Simplified conditions due to use of enum:8 states 2006-12-02 21:24:38 -08:00
ipv6.h Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
Kconfig [DCCP]: enable debug messages also for static builds 2006-12-02 21:24:35 -08:00
Makefile [DCCPv6]: Resolve conditional build problem 2006-12-02 21:22:28 -08:00
minisocks.c Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 2006-12-05 14:37:56 +00:00
options.c [DCCP] ackvec: infrastructure for sending more than one ackvec per packet 2006-12-02 21:30:32 -08:00
output.c [DCCP]: Remove timeo from output.c 2006-12-11 14:34:37 -08:00
probe.c [DCCP]: Make dccp_probe more portable 2006-12-02 21:24:39 -08:00
proto.c [DCCP]: Make {set,get}sockopt(DCCP_SOCKOPT_PACKET_SIZE) return 0 2006-12-02 21:31:00 -08:00
sysctl.c [DCCP]: Remove allocation of sysctl numbers 2006-12-02 21:30:56 -08:00
timer.c [DCCP]: Remove forward declarations in timer.c 2006-12-02 21:22:20 -08:00