tech-crypto archive

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

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

["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


    # 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.

<>       +1 416 218 0099

Attachment: pgpCczCjljPrg.pgp
Description: PGP signature

Home | Main Index | Thread Index | Old Index