Hello.
I tried to find some performance data for the Cryptographic Accelerator and Assurance Module (CAAM) in the i.MX6q. But I haven't found anything, neither in the Forums nor other Community things. (Which btw. seems very untransparent/obscure to me.)
As some suggested, there is such data, but it's not accessible by me, see [1], [2].
So I did some benchmarks by my self. I'm using a wandboard and activated CAAM support in the Linux Kernel, like discussed in [3] and more described in [4] and results posted in [5]. And my conclusion was:
AES with CAAM is faster than aes-generic in linux, but aes-arm is nearly as fast as the crypto accelerator. So there is no real benefit in using it.
Is this the expected Behaviour?
I would like to know if others have successfully used AES via imx CAAM and how fast it is for them. It's not officially supported on the Wandboard and maybe I did some major mistake in my porting affords. But it is on the SABRE platform, so there should be some data available.
regards
hede
[1] https://community.freescale.com/thread/303229
[2] https://community.freescale.com/message/330687
[3] https://groups.google.com/forum/?_escaped_fragment_=msg/wandboard/9w_McYDTiMI/p1tbYIkd-wEJ#!msg/wan...
[4] http://forums.wandboard.org/viewtopic.php?f=12&t=75
[5] http://forums.wandboard.org/viewtopic.php?f=12&t=109
Let me know You email.
Thanks. Those numbers are slightly faster than mine. Slightly...
Well, it's indeed an aes accelerator, but using a multithreaded software cipher on i.MX6 Quad is even faster. With the drawback of higher CPU load and power consumption.
Thus it's not comparable to modern aes accelerators in the x86 world. (yes, I know, CAAM on the other hand is not limited to aes or ciphering at all)
(btw: linux' crypto api is partly multithreaded. dm-crypt for example can write data multi threaded but read data only single threaded atm.)
Perhaps it makes sense to be oriented on 3.10.17-1.0.0 release (will be issued soon).
I'm also interested in how efficient CAAM really is in iMX6Q, is it multicore friendly? for example if four cores compete for one CAAM it might not be very efficient comparing to a pure software AES.
with regards to LTIB 4.1.0's 3.0.35 and 3.10.17 from Yocto, as far as CAAM is concerned, I failed to find any new code changes/enhancements done in that domain. Anyone at FSL that is working in CAAM field for iMX6Q?
The CAAM is working with its data in memory - in this sense multicore features do not improve CAAM performance.