1
0
mirror of https://git.FreeBSD.org/src.git synced 2025-01-05 12:56:08 +00:00
freebsd/sys
Lawrence Stewart ac230a79e1 Import a clean-room implementation of the Hamilton-Delay (HD) congestion control
algorithm based on the paper "A strategy for fair coexistence of loss and
delay-based congestion control algorithms" by Budzisz, Stanojevic, Shorten and
Baker. It is implemented as a kernel module compatible with the recently
committed modular congestion control framework.

HD uses a probabilistic approach to reacting to delay-based congestion. The
probability of reducing cwnd is zero when the queuing delay is very small,
increasing to a maximum at a set threshold, then back down to zero again when
the queuing delay is high. Normal operation keeps the queuing delay below the
set threshold. However, since loss-based congestion control algorithms push the
queuing delay high when probing for bandwidth, having the probability of
reducing cwnd drop back to zero for high delays allows HD to compete with
loss-based algorithms.

In collaboration with:	David Hayes <dahayes at swin edu au> and
				Grenville Armitage <garmitage at swin edu au>
Sponsored by:	FreeBSD Foundation
Reviewed by:	bz and others along the way
MFC after:	3 months
2011-02-01 06:42:46 +00:00
..
amd64 Regen for r218101. 2011-01-30 20:38:26 +00:00
arm Introduce macro FDT_MAP_IRQ to map from an interrupt controller and 2011-01-29 20:25:20 +00:00
boot Add kern.msgbufsize default setting to /boot/defaults/loader.conf. 2011-01-21 12:15:21 +00:00
bsm
cam In addition to r217444 ignore also ATA status errors on DMA Auto-Activation 2011-01-26 06:57:48 +00:00
cddl CDDL fixes for MIPS n32. 2011-01-28 06:12:59 +00:00
compat Yet another unimplemented futex operation, print out about. 2011-01-31 06:06:23 +00:00
conf Migrate the TX path code out of if_ath and into a separate source file. 2011-01-29 11:35:23 +00:00
contrib Correct bogus initialization. It should be noted that this change 2011-01-14 04:24:53 +00:00
crypto Remove DEBUG sections. 2010-11-27 15:41:44 +00:00
ddb sysctl(9) cleanup checkpoint: amd64 GENERIC builds cleanly. 2011-01-12 19:54:19 +00:00
dev Add TX/RX chainmask info to if_ath - this is needed for the 11n TX rate series. 2011-02-01 04:39:15 +00:00
fs Quick fix to a comment. 2011-01-27 03:32:16 +00:00
gdb
geom Add new user-friendly aliases for partition types for the MBR and 2011-01-28 11:13:01 +00:00
gnu Remove prtactive variable and related printf()s in the vop_inactive 2010-11-19 21:17:34 +00:00
i386 Regen for r218101. 2011-01-30 20:38:26 +00:00
ia64 Make MSGBUF_SIZE kernel option a loader tunable kern.msgbufsize. 2011-01-21 10:26:26 +00:00
isa
kern If more than one thread allocated sf buffers for sendfile(2), and 2011-01-28 17:37:09 +00:00
kgssapi
libkern Add support for asterisk characters when filling in the GELI password 2010-11-14 14:12:43 +00:00
mips Implement sf_buf using direct map (XKPHYS) in MIPS n64. 2011-01-27 14:49:22 +00:00
modules Import a clean-room implementation of the Hamilton-Delay (HD) congestion control 2011-02-01 06:42:46 +00:00
net Fix a LOR by dropping the global ifnet locks while allocating a new ifnet 2011-01-24 22:21:58 +00:00
net80211 Instead of always returning 0 to a scan request, indicate if there is 2011-01-30 14:05:21 +00:00
netatalk
netgraph sysctl(9) cleanup checkpoint: amd64 GENERIC builds cleanly. 2011-01-12 19:53:39 +00:00
netinet Import a clean-room implementation of the Hamilton-Delay (HD) congestion control 2011-02-01 06:42:46 +00:00
netinet6 Improve plausibility check in sctp_handle_sack(). 2010-12-22 17:59:38 +00:00
netipsec After some off-list discussion, revert a number of changes to the 2010-11-22 19:32:54 +00:00
netipx
netnatm
netncp
netsmb Change some variables from int to size_t. This is more accurate since 2011-01-08 23:06:54 +00:00
nfs Modify the experimental NFSv4 server so that it posts a SIGUSR2 2011-01-14 23:30:35 +00:00
nfsclient Fix the nlm so that it no longer depends on the regular 2011-01-03 20:37:31 +00:00
nfsserver ZFS might not return monotonically increasing directory offset cookies, 2010-12-28 21:12:15 +00:00
nlm sysctl(9) cleanup checkpoint: amd64 GENERIC builds cleanly. 2011-01-12 19:54:19 +00:00
opencrypto Let cryptosoft(4) add its pseudo-device with a specific unit number and its 2010-11-14 13:09:32 +00:00
pc98 Make MSGBUF_SIZE kernel option a loader tunable kern.msgbufsize. 2011-01-21 10:26:26 +00:00
pci Add support for RTL8105E PCIe Fast Ethernet controller. It seems 2011-01-26 21:14:20 +00:00
powerpc Fix boot on SMP systems after r218075 by delaying CPU binding until a 2011-01-29 23:26:28 +00:00
rpc sysctl(9) cleanup checkpoint: amd64 GENERIC builds cleanly. 2011-01-12 19:54:19 +00:00
security sysctl(9) cleanup checkpoint: amd64 GENERIC builds cleanly. 2011-01-12 19:54:14 +00:00
sparc64 Make MSGBUF_SIZE kernel option a loader tunable kern.msgbufsize. 2011-01-21 10:26:26 +00:00
sun4v Make MSGBUF_SIZE kernel option a loader tunable kern.msgbufsize. 2011-01-21 10:26:26 +00:00
sys Add new user-friendly aliases for partition types for the MBR and 2011-01-28 11:13:01 +00:00
teken Use proper bounds checking on VPA. 2010-12-05 10:15:23 +00:00
tools
ufs Embed a quota error message (C string) into uprintf() fmt. 2011-01-13 16:29:27 +00:00
vm Release the free page queues lock earlier in vm_page_alloc(). 2011-01-30 23:55:48 +00:00
x86 Introduce signed and unsigned version of CTLTYPE_QUAD, renaming 2011-01-19 23:00:25 +00:00
xdr
xen Fix a few more SYSCTL_PROC() that were missing a CTLFLAG type specifier. 2011-01-19 00:57:58 +00:00
Makefile Add lex and yacc sources to things cscope'd. 2010-11-21 03:58:11 +00:00