]> arthur.barton.de Git - bup.git/commit
fsck: disable par2's internal concurrency
authorRob Browning <rlb@defaultvalue.org>
Wed, 21 Aug 2019 06:23:30 +0000 (01:23 -0500)
committerRob Browning <rlb@defaultvalue.org>
Wed, 21 Aug 2019 06:27:33 +0000 (01:27 -0500)
commita98c8b85558fbdbf5a4410742dc154174e70afcc
tree05984e3b263cbd8010f8572cf0ced43af7947e51
parent3d95545baffae388671447d05d3639193f331f73
fsck: disable par2's internal concurrency

It looks like par2 added its own concurrency a bit back, and when
that's combined with bup's fsck -j parallelism, a simple
t/test-fsck.sh run completely swamps a machine here, launching what
looks like 32 threads total (for a 4/8 core machine), and fully
saturating the CPU.

The current test, which specifies -j99 actually ends up launching 4
par2 invocations, each processing a single file, and then each par2
appears to assume it has the entire machine to itself and launches 8
threads (one per hardware "core").

The resulting test takes 100s, but if we disable par2's parallelism
with -t1, putting bup's -j argument back in control of the overall
level of concurrency, the run time comes down to 4s.

Signed-off-by: Rob Browning <rlb@defaultvalue.org>
Tested-by: Rob Browning <rlb@defaultvalue.org>
cmd/fsck-cmd.py