On 02/24/2010 07:41 AM, Artur Grabowski wrote:
On Wed, Feb 24, 2010 at 1:20 AM, Noah McNallie<n...@n0ah.org> wrote:
Well, i've found on openbsd without sofdeps enabled it will do this just
fine. But when enabling softdeps it will not. The 'uname' or 'ls' will take
quite a while to complete.
Simplified explaination. Without softdeps, your tar does one disk
write and waits for it to finish, then ls does one disk read and waits
for it to finish. Continue until done. With softdeps, tar will fill
the whole buffer cache with writes, not letting any other process run,
then ls will try to read one block, wait for at least one write to
finish before it can get a buffer, but in the mean time, tar will be
awoken by those writes finishing and schedule even more writes before
ls gets the chance to run. It's slightly stupid and there have been
experiments with diffs to make this better, but there's no
functionality in the tree to deal with this currently.
exponentially.
Did I miss some evolution of the english language? I recently keep
hearing abuse of this word everywhere. A multiplication by a constant
was not an exponential function last time I did high school math.
//art
after reading this, i would guess it was enabling READPRIO in netbsd
that fixed it, as that gives reading priority.. though softdeps did not
stop increasing performance, tar files still extracted at ~25x the
rate.. i dunno, you guys can write me down all you want, i won't even
make fun of openbsd for not having a disk scheduler. and i still adore
it, my next bat is at how to remove it's security implementations to
speed it up.
Noah McNallie
n0ah