On Mon, Oct 16, 2023 at 01:26:47PM +0200, Mikulas Patocka wrote: > Hi > > I created this kernel module that stress-tests the crypto API: > https://people.redhat.com/~mpatocka/benchmarks/qat/tools/module-multithreaded.c > > It shows that QAT underperforms significantly compared to AES-NI (for > large requests it is 10 times slower; for small requests it is even worse) > - see the second table in this document: > https://people.redhat.com/~mpatocka/benchmarks/qat/kernel-module.txt > > QAT has higher priority than AES-NI, so the kernel prefers it (it is not > used for dm-crypt because it has the flag "CRYPTO_ALG_ALLOCATES_MEMORY", > but it is preferred over AES-NI in other cases). Probably you can get better performance by modifying your configuration and test. >From your test application I can infer that you are using a single QAT device. The driver allocates a ring pair per TFM and it loads balances allocations between devices. In addition, jobs are submitted synchronously. This way the cost of offload is not amortised between requests. Regards, -- Giovanni