dm verity: enable WQ_HIGHPRI on verify_wq
authorNathan Huckleberry <nhuck@google.com>
Tue, 30 Aug 2022 18:44:44 +0000 (18:44 +0000)
committerMike Snitzer <snitzer@kernel.org>
Tue, 18 Oct 2022 21:17:47 +0000 (17:17 -0400)
commitafd41fff9c73ccc3757e94ad727d2a9ac4d7f6cb
tree236db1c94c01fb1a99a1006205121f5a1f5a3c00
parentcea446630feab57f49d47abccf206e9725019cce
dm verity: enable WQ_HIGHPRI on verify_wq

WQ_HIGHPRI increases throughput and decreases disk latency when using
dm-verity. This is important in Android for camera startup speed.

The following tests were run by doing 60 seconds of random reads using
a dm-verity device backed by two ramdisks.

Without WQ_HIGHPRI
lat (usec): min=13, max=3947, avg=69.53, stdev=50.55
READ: bw=51.1MiB/s (53.6MB/s), 51.1MiB/s-51.1MiB/s (53.6MB/s-53.6MB/s)

With WQ_HIGHPRI:
lat (usec): min=13, max=7854, avg=31.15, stdev=30.42
READ: bw=116MiB/s (121MB/s), 116MiB/s-116MiB/s (121MB/s-121MB/s)

Further testing was done by measuring how long it takes to open a
camera on an Android device.

Without WQ_HIGHPRI
Total verity work queue wait times (ms):
880.960, 789.517, 898.852

With WQ_HIGHPRI:
Total verity work queue wait times (ms):
528.824, 439.191, 433.300

The average time to open the camera is reduced by 350ms (or 40-50%).

Signed-off-by: Nathan Huckleberry <nhuck@google.com>
Signed-off-by: Mike Snitzer <snitzer@kernel.org>
drivers/md/dm-verity-target.c