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

"Greg A. Woods" <[email protected]>
Newsgroups gmane.os.netbsd.devel.crypto
Message-ID <[email protected]>
["Jared D. McNeill" wrote some time ago:]
> 
> Ok, thanks to a bunch of helpful hints on and off list, here we go:
>
> swcrypto:
>
>   aes-128-cbc 3688.28k 4064.06k 4185.64k 4216.48k 4221.59k
>
> hwcrypto:
>
>   aes-128-cbc 372.70k 1422.76k 5098.58k 13612.23k 26804.31k


I've got NetBSD-4 running here on a PC Engines ALIX.2d3 board.

My dmesg shows:

cpu0: AMD Geode LX (586-class), 498.08 MHz, id 0x5a2
cpu0: features 88a93d<FPU,DE,PSE,TSC,MSR,CX8,SEP>
cpu0: features 88a93d<PGE,CMOV,MPC,MMX>
cpu0: "Geode(TM) Integrated Processor by AMD PCS"
cpu0: I-cache 64 KB 32B/line 16-way, D-cache 64 KB 32B/line 16-way
cpu0: L2 cache 128 KB 32B/line 4-way
cpu0: ITLB 16 4 KB entries fully associative
cpu0: DTLB 16 4 KB entries fully associative
cpu0: 8 page colors
[[....]]
glxsb0 at pci0 dev 1 function 2: revision 0: RNG AES


Open SSL seems to say what I'm told I should expect it to say:

	# openssl version
	OpenSSL 0.9.8e 23 Feb 2007

	# openssl engine -c
	(cryptodev) BSD cryptodev engine
	 [RSA, DSA, DH, AES-128-CBC]
	(padlock) VIA PadLock (no-RNG, no-ACE)
	(dynamic) Dynamic engine loading support
	(4758cca) IBM 4758 CCA hardware engine support
	 [RSA, RAND]
	(aep) Aep hardware engine support
	 [RSA, DSA, DH]
	(atalla) Atalla hardware engine support
	 [RSA, DSA, DH]
	(cswift) CryptoSwift hardware engine support
	 [RSA, DSA, DH, RAND]
	(chil) CHIL hardware engine support
	 [RSA, DH, RAND]
	(nuron) Nuron hardware engine support
	 [RSA, DSA, DH]
	(sureware) SureWare hardware engine support
	 [RSA, DSA, DH, RAND]
	(ubsec) UBSEC hardware engine support
	 [RSA, DSA, DH]

However unlike Jared's report above when I run "openssl speed
aes-128-cbc" in any of various ways I never see any difference in
performance between when the crypto(4) device is enabled or disable, and
certainly I don't see the accelerated speeds Jared reported.

My best numbers from the average of 10 runs of the following command on
an idle system:

	openssl speed -multi 10 aes-128-cbc -elapsed

are:

    # sysctl -w kern.usercrypto=1

    aes-128 cbc   5303.27k   5654.65k   5722.45k   5753.15k   8364.36k

    # sysctl -w kern.usercrypto=0

    aes-128 cbc   5200.41k   5698.54k   5746.44k   5764.66k   8201.28k


FreeBSD-7 with an identical version of OpenSSL seems slightly slower
(again this is an average of 10 runs on an idle system):

    aes-128 cbc   4567.62k   5015.47k   5151.20k   5239.94k   6543.29k

(and it's supposedly got the same driver for the AMD Geode LX block
enabled too!)


What the heck am I doing wrong?  Or is something busted?  How do I
figure out what's going on with the hardware device short of adding
printfs to it?

Where are the kern.*crypt* sysctl settings documented!?!?!?!?

-- 
						Greg A. Woods
						Planix, Inc.

<[email protected]>       +1 416 218 0099        http://www.planix.com/
signature.asc (application/pgp-signature, 186 B)
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (NetBSD)

iD8DBQBK6j9QZn1xt3i/9H8RAh4mAJ4nfiDFHHWwAY1PK+eRMXBp78lQLQCcCriY
3D6+NHCsBFBhXt1eTjTKAqs=
=LMCD
-----END PGP SIGNATURE-----
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.