01_DCCP_shutdown-unnecessary.diff
authorGerrit Renker <gerrit@erg.abdn.ac.uk>
Mon, 17 Dec 2007 12:12:25 +0000 (13:12 +0100)
committerAndre Noll <maan@systemlinux.org>
Mon, 17 Dec 2007 12:12:25 +0000 (13:12 +0100)
commit73f02f72cb49baebff3e0f6946750a5bc0693321
treeadf2d56abf3406211f75638ace7c8d5ef887a36a
parent0f1f782c51773b4db2597e07f4cba4cadf5eddf1
01_DCCP_shutdown-unnecessary.diff

This calls shutdown(2) for unused communication paths in the DCCP sender/receiver:
 * the sender does not read data from the client and so calls shutdown(SHUT_RD);
 * the client does not send data to the server and so calls shutdown(SHUT_WR).
The advantage that this buys is a performance optimisation: using shutdown(2) in
DCCP means disabling the corresponding CCID kernel modules, which reduces the
processing costs, i.e.
 * when using SHUT_RD, the receiver congestion-control module is de-activated;
 * when using SHUT_WR, the sender congestion-control module is de-activated.

More information can be found on
http://www.erg.abdn.ac.uk/users/gerrit/dccp/notes/shutdown/
dccp_recv.c
dccp_send.c