Use POWER8 and POWER9 ISA enhancements to improve the performance of AES. Demonstrate why achieved performance is close to optimal for the platform. Optimized implementations in the Cryptogams repository[1] may serve as useful references. Financial bounty upon completion and community acceptance of patches.
Description
Revisions and Commits
Status | Assigned | Task | ||
---|---|---|---|---|
Open | jukivili | T4460 libgcrypt performance TODOs | ||
Resolved | jukivili | T4531 PowerPC performance improvements | ||
Resolved | jukivili | T4529 libgcrypt: POWER AES Vector Acceleration |
Event Timeline
Would the maintainers accept having perl in the repository? Linux does it.[1]
[1] https://github.com/torvalds/linux/blob/master/drivers/crypto/vmx/ghashp8-ppc.pl
I don't know. That would make it a relatively easy transplant. We've also used the Cryptogams code as a reference for Golang enhancements, if that helps. I'd welcome guidance on the matter from a maintainer.
I'm looking into doing a pretty epic hack of using the switch_endian syscall to speed this up.
Perl would be okay for maintainer mode but not for regular builds. The reason is that perl is already used by autotools but a build shall still be possible w/o perl.
Please do not change the priority back. That is a maintainer's task. I consider this along with adding replicas of issues to a bit rude.
Patches for PowerPC AES acceleration sent to mailing-list, based partly on initial work by Shawn Landden (@slandden): https://lists.gnupg.org/pipermail/gcrypt-devel/2019-August/004788.html
Because there was license concerns with Cryptogams code (https://lists.gnupg.org/pipermail/gcrypt-devel/2019-July/004774.html), I decided to implemented missing parts for this myself.