Re: [PATCH RFC v6 00/21] DEPT(Dependency Tracker)

Theodore Ts'o
2022-05-09T22:28:33Z

Oh, one other problem with DEPT --- it's SLOW --- the overhead is
enormous. Using kvm-xfstests[1] running "kvm-xfstests smoke", here
are some sample times:

LOCKDEP DEPT
Time to first test 49 seconds 602 seconds
ext4/001 2 s 22 s
ext4/003 2 s 8 s
ext4/005 0 s 7 s
ext4/020 1 s 8 s
ext4/021 11 s 17 s
ext4/023 0 s 83 s
generic/001 4 s 76 s
generic/002 0 s 11 s
generic/003 10 s 19 s

There are some large variations; in some cases, some xfstests take 10x
as much time or more to run. In fact, when I first started the
kvm-xfstests run with DEPT, I thought something had hung and that
tests would never start. (In fact, with gce-xfstests the default
watchdog "something has gone terribly wrong with the kexec" had fired,
and I didn't get any test results using gce-xfstests at all. If DEPT
goes in without any optimizations, I'm going to have to adjust the
watchdogs timers for gce-xfstests.)

The bottom line is that at the moment, between the false positives,
and the significant overhead imposed by DEPT, I would suggest that if
DEPT ever does go in, that it should be possible to disable DEPT and
only use the existing CONFIG_PROVE_LOCKING version of LOCKDEP, just
because DEPT is S - L - O - W.

[1] https://github.com/tytso/xfstests-bld/blob/master/Documentation/kvm-quickstart.md

- Ted

P.S. Darrick and I both have disabled using LOCKDEP by default
because it slows down ext4 -g auto testing by a factor 2, and xfs -g
auto testing by a factor of 3. So the fact that DEPT is a factor of
2x to 10x or more slower than LOCKDEP when running various xfstests
tests should be a real concern.