Date: Mon, 17 Mar 2008 17:24:00 +0200 From: Diomidis Spinellis <dds@aueb.gr> To: Pawel Jakub Dawidek <pjd@FreeBSD.ORG> Cc: cvs-src@FreeBSD.ORG, Alfred Perlstein <alfred@FreeBSD.ORG>, src-committers@FreeBSD.ORG, Diomidis Spinellis <dds@FreeBSD.ORG>, cvs-all@FreeBSD.ORG Subject: Re: cvs commit: src/tools/regression/bin/mv regress.sh Message-ID: <47DE8D10.9090201@aueb.gr> In-Reply-To: <20080314223652.GA20470@garage.freebsd.pl> References: <200712180849.lBI8nmEi088947@repoman.freebsd.org> <20071218100355.GR16982@elvis.mu.org> <20080314223652.GA20470@garage.freebsd.pl>
next in thread | previous in thread | raw e-mail | index | archive | help
Pawel Jakub Dawidek wrote: > On Tue, Dec 18, 2007 at 02:03:55AM -0800, Alfred Perlstein wrote: >> * Diomidis Spinellis <dds@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. > Adding hints to cp(1) hinders portability. Even on the same OS, if two systems have their disks differently configured, a script may end up with an inappropriate hint on one of the two. Why not use fstat(2) to automatically determine if the file resides on different disks, and act accordingly? -- Diomidis Spinellis - http://www.spinellis.gr
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?47DE8D10.9090201>