]> www.infradead.org Git - users/jedix/linux-maple.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)
committerLiam R. Howlett <Liam.Howlett@oracle.com>
Fri, 24 Mar 2023 14:25:31 +0000 (10:25 -0400)
commitb922788a50b952237302cee2bad2a7d1bbb2e3cc
tree901d32312f14a595c0af1168a67143dbbc3c9a17
parent1e4a6682bc67a72f949d93021b82217b797dfc69
fsverity: Remove WQ_UNBOUND from fsverity read workqueue

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: 8a1d0f9cacc9 ("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>
fs/verity/verify.c