On Fri, Apr 20, 2018 at 04:30:02PM -0700, Eric Biggers wrote:
> Improve fscrypt read performance by switching the decryption workqueue
> from bound to unbound.  With the bound workqueue, when multiple bios
> completed on the same CPU, they were decrypted on that same CPU.  But
> with the unbound queue, they are now decrypted in parallel on any CPU.
> 
> Although fscrypt read performance can be tough to measure due to the
> many sources of variation, this change is most beneficial when
> decryption is slow, e.g. on CPUs without AES instructions.  For example,
> I timed tarring up encrypted directories on f2fs.  On x86 with AES-NI
> instructions disabled, the unbound workqueue improved performance by
> about 25-35%, using 1 to NUM_CPUs jobs with 4 or 8 CPUs available.  But
> with AES-NI enabled, performance was unchanged to within ~2%.
> 
> I also did the same test on a quad-core ARM CPU using xts-speck128-neon
> encryption.  There performance was usually about 10% better with the
> unbound workqueue, bringing it closer to the unencrypted speed.
> 
> The unbound workqueue may be worse in some cases due to worse locality,
> but I think it's still the better default.  dm-crypt uses an unbound
> workqueue by default too, so this change makes fscrypt match.
> 
> Signed-off-by: Eric Biggers <ebigg...@google.com>

Applied, thanks.

                                                - Ted

Reply via email to