Public bug reported:

In an upgrade from Jammy kernel 5.15.0-27-generic to 5.15.0-35-generic
on x86_64 (AMD threadripper pro 39x5wx series), a 40x performance
regression in the first read of cached writes to an encrypted dataset
revealed that zfs is no longer configured to choose any implementations
from advanced instruction sets:

$ grep . /sys/module/icp/parameters/*impl*
/sys/module/icp/parameters/icp_aes_impl:cycle [fastest] generic x86_64
/sys/module/icp/parameters/icp_gcm_impl:cycle [fastest] generic

With correct configuration, the output should read as follows:

$ grep . /sys/module/icp/parameters/*impl*
/sys/module/icp/parameters/icp_aes_impl:cycle [fastest] generic x86_64 aesni
/sys/module/icp/parameters/icp_gcm_impl:cycle [fastest] avx generic pclmulqdq

The immediate ill effects are the use of gcm_generic_mul instead of the
dedicated instruction, consuming 50% CPU and slowing reads of data
cached in ram to less than 20% of what they would be even reading
directly from disk.

openzfs changed its configure process to detect cpu features differently
recently to adapt to the kernel api change. It seems that the upstream
changes that unexport the needed symbols and the downstream changes in
openzfs that stop using them were not cherrypicked in sync.

https://github.com/openzfs/zfs/pull/13147
https://github.com/openzfs/zfs/pull/13236

** Affects: zfs-linux (Ubuntu)
     Importance: Undecided
         Status: New

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1977699

Title:
  zfs icp has deselected all optimized aes & gcm impls

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/zfs-linux/+bug/1977699/+subscriptions


-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to