zfs icp has deselected all optimized aes & gcm impls
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
linux (Ubuntu) |
Confirmed
|
Undecided
|
Unassigned | ||
zfs-linux (Ubuntu) |
Confirmed
|
Undecided
|
Unassigned |
Bug Description
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/
/sys/module/
/sys/module/
With correct configuration, the output should read as follows:
$ grep . /sys/module/
/sys/module/
/sys/module/
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:/
https:/
Status changed to 'Confirmed' because the bug affects multiple users.