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:

Hi,

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
:pserver:cf@localhost:/tmp/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

Cheers,

Anonymous

 

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

Attach File(s):
   
   
Comment:
   

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