Re: [PATCH] crypto: aesni - add ccm(aes) algorithm implementation

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 11/29/20 10:20 AM, Ard Biesheuvel wrote:
From: Steve deRosier <ardb@xxxxxxxxxx>

Add ccm(aes) implementation from linux-wireless mailing list (see
http://permalink.gmane.org/gmane.linux.kernel.wireless.general/126679).

This eliminates FPU context store/restore overhead existing in more
general ccm_base(ctr(aes-aesni),aes-aesni) case in MAC calculation.

Suggested-by: Ben Greear <greearb@xxxxxxxxxxxxxxx>
Co-developed-by: Steve deRosier <derosier@xxxxxxxxxxxxxx>
Signed-off-by: Steve deRosier <derosier@xxxxxxxxxxxxxx>
Signed-off-by: Ard Biesheuvel <ardb@xxxxxxxxxx>
---
Ben,

This is almost a rewrite of the original patch, switching to the new
skcipher API, using the existing SIMD helper, and drop numerous unrelated
changes. The basic approach is almost identical, though, so I expect this
to perform on par or perhaps slightly faster than the original.

Could you please confirm with some numbers?

I tried this on my apu2 platform, here is perf top during a TCP download using
rx-sw-crypt (ie, the aesni cpu decrypt path):

  18.77%  [kernel]                            [k] acpi_idle_enter
  14.68%  [kernel]                            [k] kernel_fpu_begin
   4.45%  [kernel]                            [k] __crypto_xor
   3.46%  [kernel]                            [k] _aesni_enc1

Total throughput is 127Mbps or so.  This is with your patch applied to 5.8.0+
kernel (it applied clean with 'git am')

Is there a good way to verify at runtime that I've properly applied your patch?

On my 5.4 kernel with the old version of the patch installed, I see 253Mbps throughput,
and perf-top shows:

  13.33%  [kernel]                            [k] acpi_idle_do_entry
   9.21%  [kernel]                            [k] _aesni_enc1
   4.49%  [unknown]                           [.] 0x00007fbc3f00adb6
   4.34%  [unknown]                           [.] 0x00007fbc3f00adba
   3.85%  [kernel]                            [k] memcpy


So, new patch is not working that well for me...

Thanks,
Ben


--
Ben Greear <greearb@xxxxxxxxxxxxxxx>
Candela Technologies Inc  http://www.candelatech.com



[Index of Archives]     [Kernel]     [Gnu Classpath]     [Gnu Crypto]     [DM Crypt]     [Netfilter]     [Bugtraq]

  Powered by Linux