]> git.baikalelectronics.ru Git - kernel.git/commit
fsverity: Remove WQ_UNBOUND from fsverity read workqueue
authorNathan Huckleberry <nhuck@google.com>
Fri, 10 Mar 2023 19:33:25 +0000 (11:33 -0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 5 Apr 2023 09:16:40 +0000 (11:16 +0200)
commitcaedbb7190513dd17d871f74dbfcc58fe3b602f9
tree0cf3b3aac47590db4b8755805cec84651358bbcc
parent78edd8029a9f7d92c3758deae46c0fb1e20c5f1f
fsverity: Remove WQ_UNBOUND from fsverity read workqueue

commit f959325e6ac3f499450088b8d9c626d1177be160 upstream.

WQ_UNBOUND causes significant scheduler latency on ARM64/Android.  This
is problematic for latency sensitive workloads, like I/O
post-processing.

Removing WQ_UNBOUND gives a 96% reduction in fsverity workqueue related
scheduler latency and improves app cold startup times by ~30ms.
WQ_UNBOUND was also removed from the dm-verity workqueue for the same
reason [1].

This code was tested by running Android app startup benchmarks and
measuring how long the fsverity workqueue spent in the runnable state.

Before
Total workqueue scheduler latency: 553800us
After
Total workqueue scheduler latency: 18962us

[1]: https://lore.kernel.org/all/20230202012348.885402-1-nhuck@google.com/

Signed-off-by: Nathan Huckleberry <nhuck@google.com>
Fixes: 38486d6012ca ("fs-verity: add data verification hooks for ->readpages()")
Cc: stable@vger.kernel.org
Link: https://lore.kernel.org/r/20230310193325.620493-1-nhuck@google.com
Signed-off-by: Eric Biggers <ebiggers@google.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
fs/verity/verify.c