Re: glxsb(4) doesn't appear to be working for me (was: AMD Geode LX Security Block)

Patrick Lamaiziere <[email protected]>
Newsgroups gmane.os.netbsd.devel.crypto
Message-ID <[email protected]>
Le Thu, 29 Oct 2009 22:30:23 -0400,
Thor Lancelot Simon <[email protected]> a écrit :

Hello,

> openssl speed -engine cryptodev -elapsed -evp aes-128-cbc

I always prefer to measure the throughput with dd and openssl enc 

dd if=/dev/zero bs=1k count=100000 | openssl enc -e -aes-128-cbc -k
abcd -out /dev/null [-engine cryptodev]

here (FreeBSD 8) without cryptodev:
102400000 bytes transferred in 19.881321 secs (5150563 bytes/sec)
=> 39 MBytes/s

With cryptodev => 120 MBytes/s

> FWIW, glxsb is not very efficient and the syscall overhead will just
> kill you for all but very large requests.  You may see better results
> with -multi 32 to get some parallelism going to hide the latency.

Yes but it's not so bad IMHO. The throughput of 40 Mbytes/s (ie the
same as without glxsb on openssl) is reached very fast with requests >
256 bytes.

http://user.lamaiziere.net/patrick/glxsb-171108/glxsb-perf.pdf


While I'm here there is a small mistake in glxsb.c in NetBSD (and
OpenBSD), but this does not hurt.

#define SB_AI_AES_A_COMPLETE	0x0100		
#define SB_AI_AES_B_COMPLETE	0x0200
#define SB_AI_EEPROM_COMPLETE	0x0400

Should be:
#define SB_AI_AES_A_COMPLETE   0x10000
#define SB_AI_AES_B_COMPLETE   0x20000
#define SB_AI_EEPROM_COMPLETE  0x40000

Source:
http://support.amd.com/us/Embedded_TechDocs/33234H_LX_databook.pdf
6.12.3.3 SB AES Interrupt (SB_AES_INT) (page 522)

(I've sent a bug report to OpenBSD)

Regards.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.