]> 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>
Thu, 22 Aug 2019 01:23:13 +0000 (20:23 -0500)
commit24208d7a7cd30b9b5e2838a96b79c36e3f746b1d
treebba2d3cffb3781ffd8e9c1716a078d88a1ca983e
parent45136f27bb239a48d696e21d0754cec87e8b05ef
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