mirror of
https://github.com/Fishwaldo/linux-bl808.git
synced 2025-06-17 20:25:19 +00:00
dccp: Lockless integration of CCID congestion-control plugins
Based on Arnaldo's earlier patch, this patch integrates the standardised CCID congestion control plugins (CCID-2 and CCID-3) of DCCP with dccp.ko: * enables a faster connection path by eliminating the need to always go through the CCID registration lock; * updates the implementation to use only a single array whose size equals the number of configured CCIDs instead of the maximum (256); * since the CCIDs are now fixed array elements, synchronization is no longer needed, simplifying use and implementation. CCID-2 is suggested as minimum for a basic DCCP implementation (RFC 4340, 10); CCID-3 is a standards-track CCID supported by RFC 4342 and RFC 5348. Signed-off-by: Gerrit Renker <gerrit@erg.abdn.ac.uk> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
6ea2fde13a
commit
ddebc973c5
11 changed files with 148 additions and 168 deletions
|
@ -1118,9 +1118,15 @@ static int __init dccp_init(void)
|
|||
if (rc)
|
||||
goto out_ackvec_exit;
|
||||
|
||||
rc = ccid_initialize_builtins();
|
||||
if (rc)
|
||||
goto out_sysctl_exit;
|
||||
|
||||
dccp_timestamping_init();
|
||||
out:
|
||||
return rc;
|
||||
out_sysctl_exit:
|
||||
dccp_sysctl_exit();
|
||||
out_ackvec_exit:
|
||||
dccp_ackvec_exit();
|
||||
out_free_dccp_mib:
|
||||
|
@ -1143,6 +1149,7 @@ out_free_percpu:
|
|||
|
||||
static void __exit dccp_fini(void)
|
||||
{
|
||||
ccid_cleanup_builtins();
|
||||
dccp_mib_exit();
|
||||
free_pages((unsigned long)dccp_hashinfo.bhash,
|
||||
get_order(dccp_hashinfo.bhash_size *
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue