question about --bwlimit=

Wayne Davison wayned at samba.org
Mon May 24 20:54:42 GMT 2004


On Fri, May 21, 2004 at 02:48:12PM -0400, Wallace Matthews wrote:
> I can repeat this time after time. If --bwlimit is > 4000 (ie. 4005,
> 4025, 4050,5000,7500,10000,100000) real is in the same range as 4001.
> If --bwlimit is 4000 or under (ie. 3725, 2000, 1000, 100) real is in
> the same range as 4000.

That is because of this calculation:

    tv.tv_usec = bytes_written * 1000 / bwlimit;

Rsync calls this function after a lot of 4-byte writes, and thus the
sleep time for "4 * 1000 / 4001" (or anything higher than 4001) is 0.
Thus, rsync neglects a bunch of sleep calls (but not all of them).

I'm looking into some of the old bwlimit patches to see about improving
this.

..wayne..


More information about the rsync mailing list