bugConcurrent Versions System - Bugs: bug #48589, client and server don't set...


bug #48589: client and server don't set TCP_NODELAY, resulting in high latency of CVS commands

Submitted by:  None
Submitted on:  Thu 21 Jul 2016 10:17:10 PM UTC  
Category: Bug Fix (patch attached)Severity: 3 - Normal
Item Group: NoneStatus: None
Privacy: PublicAssigned to: None
Open/Closed: OpenRelease: 
Fixed Release: NoneFixed Feature Release: None

Add a New Comment(Rich Markup)

You are not logged in

Please log in, so followups can be emailed to you.


Thu 21 Jul 2016 10:17:10 PM UTC, original submission:


I just noticed that the latency for simple CVS commands when contacting a remote server is quite high, for example on a repository with only one file, where the server is on the local machine but accessed through a pserver:

$ echo $CVSROOT
$ time cvs log bar
cvs log: Logging bar

real 0m0.095s
user 0m0.004s
sys 0m0.000s

The problem is that neither the client nor the server set TCP_NODELAY on the socket, and given the CVS protocol, this can result in high latency (see https://en.wikipedia.org/wiki/Nagle%27s_algorithm#Interactions_with_real-time_systems).

The attached patch sets TCP_NODELAY both client and server-side, and results in much lower latency:

cf@thinkpad:/tmp$ time ~/ccvs/src/cvs checkout bar
cvs checkout: Updating bar

real 0m0.020s
user 0m0.008s
sys 0m0.000s




(Note: upload size limit is set to 16384 kB, after insertion of the required escape characters.)

Attach File(s):

Attached Files
file #37982:  cvs_tcp_nodelay.diff added by None (3KiB - text/x-patch)


Depends on the following items: None found

Items that depend on this one: None found


CC list is empty


Do you think this task is very important?
If so, you can click here to add your encouragement to it.
This task has 0 encouragements so far.

Only logged-in users can vote.


Please enter the title of George Orwell's famous dystopian book (it's a date):



Follows 1 latest change.

Date Changed By Updated Field Previous Value => Replaced By
Thu 21 Jul 2016 10:17:10 PM UTCNoneAttached File-=>Added cvs_tcp_nodelay.diff, #37982

Back to the top

Powered by Savane 3.1-cleanup1