Re: [PATCH v3] x86, crypto: ported aes-ni implementation to x86

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

 



On Fri, 2010-11-12 at 15:30 +0800, Mathias Krause wrote:
> On 12.11.2010, 01:33 Huang Ying wrote:
> > Hi, Mathias,
> > 
> > On Fri, 2010-11-12 at 06:18 +0800, Mathias Krause wrote:
> >> All test were run five times in a row using a 256 bit key and doing i/o
> >> to the block device in chunks of 1MB. The numbers are MB/s.
> >> 
> >> x86 (i586 variant):
> >>        1. run  2. run  3. run  4. run  5. run    mean
> >> ECB:      93.9    93.9    94.0    93.5    93.8    93.8
> >> CBC:      84.9    84.8    84.9    84.9    84.8    84.8
> >> XTS:     108.2   108.3   109.6   108.3   108.9   108.6
> >> LRW:     105.0   105.0   105.1   105.1   105.1   105.0
> >> 
> >> x86 (AES-NI), v3 of the patch:
> >>        1. run  2. run  3. run  4. run  5. run    mean
> >> ECB:     124.8   120.8   124.5   120.6   124.5   123.0
> >> CBC:     112.6   109.6   112.6   110.7   109.4   110.9 
> >> XTS:     221.6   221.1   220.9   223.5   224.4   222.3
> >> LRW:     206.2   209.7   207.4   203.7   209.3   207.2
> >> 
> >> x86 (AES-NI), v4 of the patch:
> >>        1. run  2. run  3. run  4. run  5. run    mean
> >> ECB:     122.5   121.2   121.6   125.7   125.5   123.3
> >> CBC:     259.5   259.2   261.2   264.0   267.6   262.3 
> >> XTS:     225.1   230.7   220.6   217.9   216.3   222.1
> >> LRW:     202.7   202.8   210.6   208.9   202.7   205.5
> >> 
> >> Comparing the values for the CBC variant between v3 and v4 of the patch
> >> shows that porting the CBC variant to x86 more then doubled the
> >> performance so the little bit ugly #ifdefed code is worth the effort.
> >> 
> >> x86-64 (old):
> >>        1. run  2. run  3. run  4. run  5. run    mean
> >> ECB:     121.4   120.9   121.1   121.2   120.9   121.1
> >> CBC:     282.5   286.3   281.5   282.0   294.5   285.3
> >> XTS:     263.6   260.3   263.0   267.0   264.6   263.7
> >> LRW:     249.6   249.8   250.5   253.4   252.2   251.1
> >> 
> >> x86-64 (new):
> >>        1. run  2. run  3. run  4. run  5. run    mean
> >> ECB:     122.1   122.0   122.0   127.0   121.9   123.0
> >> CBC:     291.2   286.2   295.6   291.4   289.9   290.8
> >> XTS:     263.3   264.4   264.5   264.2   270.4   265.3
> >> LRW:     254.9   252.3   253.6   258.2   257.5   255.3
> >> 
> >> Comparing the mean values gives us:
> >> 
> >> x86:     i586   aes-ni    delta
> >> ECB:     93.8    123.3   +31.4%
> > 
> > Why the improvement of ECB is so small? I can not understand it. It
> > should be as big as CBC.
> 
> I don't know why the ECB variant is so slow compared to the other variants.
> But it is so even for the current x86-64 version. See the above values for
> "x86-64 (old)". I setup dm-crypt for this test like this:
> # cryptsetup -c aes-ecb-plain -d /dev/urandom create cfs /dev/loop0
> 
> What where the numbers you measured in your tests while developing the
> x86-64 version?

Can't remember the number. Do you have interest to dig into the issue?

Best Regards,
Huang Ying


--
To unsubscribe from this list: send the line "unsubscribe linux-crypto" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


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

  Powered by Linux