cvs commit: src/tools/regression/bin/mv regress.sh

Pawel Jakub Dawidek pjd at FreeBSD.org
Mon Mar 17 07:46:31 PDT 2008


On Tue, Dec 18, 2007 at 02:03:55AM -0800, Alfred Perlstein wrote:
> * Diomidis Spinellis <dds at FreeBSD.org> [071218 00:48] wrote:
> > dds         2007-12-18 08:49:47 UTC
> > 
> >   FreeBSD src repository
> > 
> >   Modified files:
> >     tools/regression/bin/mv regress.sh 
> >   Log:
> >   Add more tests.  All rename(2)-based tests now succeed.
> >   The performance of the cross-device equivalents is under investigation.
> 
> Diomidis,
> 
> Does 'mv' spawn off tar or something to do the copy part?
> 
> You can _usually_ get much better cross device performance
> by hooking two processes together like so:
> 
> tar -cf - -C /path/to/source . | tar -xf - -C /path/to/dst 
> 
> This will keep the disks a lot busier, but this can make
> things worse on cross device moves that happen to be
> on the same disk.

I was thinking about adding two options to cp(1) (-1 and -2) to give
cp(1) a hint if the copy is done inside one disk or between separate
disks. In -1 case cp(1) will read as large blocks as possible and then
write them, in -2 case it will spawn two threads: one reader and one
writer working in parallel. Performance improvements are very visible
from what I tested.

-- 
Pawel Jakub Dawidek                       http://www.wheel.pl
pjd at FreeBSD.org                           http://www.FreeBSD.org
FreeBSD committer                         Am I Evil? Yes, I Am!
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 187 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/cvs-src/attachments/20080317/5cb8c614/attachment.pgp


More information about the cvs-src mailing list