[PATCH v1 0/7] AES for PPC/SPE

Markus Stockhausen stockhausen at collogia.de
Mon Feb 16 23:45:29 AEDT 2015


[PATCH v1 0/7] AES for PPC/SPE

The following patches add support for 64bit accelerated AES
calculation on PPC processors with SPE instruction set. Besides
the AES core module it implements ECB/CBC/CTR/XTS as block
ciphers. The implementation takes care of the following 
constraints:

- save SPE registers for interrupt context compatibility
- disable preemption only for short intervals
- endian independant

Module passes tcrypt mode=10 tests. Synthethic AES speedup 
factors from insmod tcrypt sec=3 mode=200 taken on e500v2 
800 MHz (TP Link WDR4900) compared with the generic kernel 
module.

key bytes  ecb   ecb   cbc   cbc   ctr   ctr   xts   xts
           enc   dec   enc   dec   enc   dec   enc   dec
--- -----  ----  ----  ----  ----  ----  ----  ----  ----
128    16  1.14  1.14  1.20  1.28  1.20  1.19  1.20  1.21
128    64  1.35  1.36  1.48  1.51  1.50  1.50  1.41  1.41
128   256  1.49  1.49  1.66  1.65  1.69  1.69  1.58  1.57
128  1024  1.51  1.51  1.69  1.68  1.72  1.72  1.61  1.60
128  8192  1.52  1.52  1.70  1.68  1.73  1.73  1.62  1.61
192    16  1.14  1.15  1.22  1.28  1.21  1.21  1.22  1.23
192    64  1.36  1.37  1.48  1.49  1.49  1.50  1.41  1.41
192   256  1.48  1.48  1.63  1.63  1.65  1.65  1.56  1.55
192  1024  1.50  1.50  1.65  1.64  1.68  1.68  1.59  1.58
192  8192  1.52  1.52  1.67  1.66  1.68  1.68  1.60  1.59
256    16  1.17  1.18  1.24  1.30  1.23  1.22  1.24  1.25
256    64  1.37  1.37  1.47  1.50  1.49  1.49  1.42  1.41
256   256  1.48  1.47  1.60  1.60  1.63  1.63  1.54  1.53
256  1024  1.50  1.49  1.62  1.61  1.65  1.65  1.57  1.56
256  8192  1.50  1.49  1.63  1.62  1.66  1.66  1.58  1.57

Additionally numbers from an iperf transfer benchmark. They
include the AES optimized and the SHA256 optimized module.

- Server : Xeon X3470 2.93GHz
- Client : Core I5 2.4GHz Windows (Shrew VPN client)
- Gateway: e500v2 800 MHz (TP Link WDR4900)

AES256 generic / SHA256 generic modules:
> iperf.exe -c a.b.c.d -t 60 -i 10
------------------------------------------------------------
Client connecting to a.b.c.d, TCP port 5001
TCP window size: 63.0 KByte (default)
------------------------------------------------------------
[  3] local u.v.w.x port 50730 connected with a.b.c.d port 5001
[ ID] Interval       Transfer     Bandwidth
[  3]  0.0-10.0 sec  51.1 MBytes  42.9 Mbits/sec
[  3] 10.0-20.0 sec  51.9 MBytes  43.5 Mbits/sec
[  3] 20.0-30.0 sec  51.5 MBytes  43.2 Mbits/sec
[  3] 30.0-40.0 sec  51.5 MBytes  43.2 Mbits/sec
[  3] 40.0-50.0 sec  51.2 MBytes  43.0 Mbits/sec
[  3] 50.0-60.0 sec  50.6 MBytes  42.5 Mbits/sec
[  3]  0.0-60.0 sec   308 MBytes  43.0 Mbits/sec

AES256 (this patch) / SHA256 (my last patch)
> iperf.exe -c a.b.c.d -t 60 -i 10
------------------------------------------------------------
Client connecting to a.b.c.d, TCP port 5001
TCP window size: 63.0 KByte (default)
------------------------------------------------------------
[  3] local u.v.w.x port 50730 connected with a.b.c.d port 5001
[ ID] Interval       Transfer     Bandwidth
[  3]  0.0-10.0 sec  69.6 MBytes  58.4 Mbits/sec
[  3] 10.0-20.0 sec  69.1 MBytes  58.0 Mbits/sec
[  3] 20.0-30.0 sec  69.2 MBytes  58.1 Mbits/sec
[  3] 30.0-40.0 sec  67.1 MBytes  56.3 Mbits/sec
[  3] 40.0-50.0 sec  67.6 MBytes  56.7 Mbits/sec
[  3] 50.0-60.0 sec  65.9 MBytes  55.3 Mbits/sec
[  3]  0.0-60.0 sec   409 MBytes  57.1 Mbits/sec
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: InterScan_Disclaimer.txt
URL: <http://lists.ozlabs.org/pipermail/linuxppc-dev/attachments/20150216/51081b33/attachment.txt>


More information about the Linuxppc-dev mailing list