Hi There, Is there anyway to easily identify if AES-NI instructions are being utilised with ZFS Crypto? We have a development Core i7-920 and a production Xeon E5620 systems (identical spec except for the CPU and ECC/Non-ECC memory) that are pulling near identical CPU load/Disk throughput numbers when managing identical RAIDZ2 aes-256-ccm filesystems. I would have thought the Xeon would either be faster or demonstrate lower load. -- - Cheers Stephen -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://mail.opensolaris.org/pipermail/zfs-crypto-discuss/attachments/20101216/eedc10f5/attachment.html>
A quick search on Wikipedia gives the following: http://en.wikipedia.org/wiki/AES_instruction_set "CPUs with AES instruction set ... Intel Gulftown processors" http://en.wikipedia.org/wiki/Gulftown_(microprocessor) "Overview ... Core i7-9xx Xeon 56xx" So it would suggest that both have AES-NI support? Alex. On Thu, Dec 16, 2010 at 11:28 AM, The Thinker? <thinker at serverops.com> wrote:> Hi There, > Is there anyway to easily identify if AES-NI instructions are being utilised > with ZFS Crypto? > We have a development Core i7-920 and a production Xeon E5620 systems > (identical spec except for the CPU and ECC/Non-ECC memory) that are pulling > near identical CPU load/Disk throughput numbers when managing identical > RAIDZ2 aes-256-ccm filesystems. I would have thought the Xeon would either > be faster or demonstrate lower load. > -- > - Cheers > Stephen > > > _______________________________________________ > zfs-crypto-discuss mailing list > zfs-crypto-discuss at opensolaris.org > http://mail.opensolaris.org/mailman/listinfo/zfs-crypto-discuss > >
On 16/12/2010 11:28, The Thinker? wrote:> Is there anyway to easily identify if AES-NI instructions are being > utilised with ZFS Crypto?If the CPU is capable ZFS crypto will be using them. ZFS just calls into the KCF Crypto API using crypto_encrypt(), if the CPU has AES-NI present then the kernel/crypto/amd64/aes module will be using them. You could use DTrace to look to see if the very low level aes_encrypt_intel() & aes_decrypt_intel()functions are being called. Those are the functions that use the AES-NI instructions. Note that these are internal functions and their names could change at any time as a result of upgrades or patches applied to the system.> We have a development Core i7-920 and a production Xeon E5620 systems > (identical spec except for the CPU and ECC/Non-ECC memory) that are > pulling near identical CPU load/Disk throughput numbers when managing > identical RAIDZ2 aes-256-ccm filesystems. I would have thought the Xeon > would either be faster or demonstrate lower load.Maybe you aren''t CPU bound by the encryption operations then. Are both systems near to 100% CPU utilisation during these tests ? Or are they I/O or memory bound instead ? -- Darren J Moffat