Date: Mon, 2 Mar 2009 20:14:40 +0100 From: Patrick =?ISO-8859-15?Q?Lamaizi=E8re?= <patfbsd@davenulle.org> To: vascim@yahoo.com Cc: freebsd-hackers@freebsd.org Subject: Re: slow freebsd cripto-accelerating framework Message-ID: <20090302201440.1c878fab@baby-jane.lamaiziere.net> In-Reply-To: <965289.45194.qm@web38306.mail.mud.yahoo.com> References: <965289.45194.qm@web38306.mail.mud.yahoo.com>
next in thread | previous in thread | raw e-mail | index | archive | help
Le Mon, 2 Mar 2009 05:57:56 -0800 (PST), Vasile Marii <vascim@yahoo.com>: > I'm working to port a cripto accelerating device driver(it's custom > made device) from linux (which works fine) to bsd (freebsd 7.1), but > i couldn't get the same(decent) results as for linux. The driver for > linux and for bsd both a started from the corresponding driver for > geode LX cripo accelerator. I concluded that it's not the device and > the bottleneck is somewhere in the kernel. I modified the original > glxsb(geode crypto accelerator) driver and made it return immediately > after receiving a cripto task (so the device actually does nothing > aka device is taking zero time to cript any block of data) and the > data is actually not cripted. I made this for debugging purposes to > see if the kernel delivers enough data to the device. The netperf > results between the two exactly the same machines(with a > tunnel(AES-CBC with HMAC_SHA256) between them) with the exactly the > same driver shows a throughput of maximum 20Mbps(without IPSEC tunnel > i can get 94,1 Mbps). I've seen similar problems on some threads > regarding VIA(which should work with 1,1 Gbps throughput). I've > tested the device not cripting network traffic (meaning "feed" the > device manually and give it data immediately after it finishes the > previous) and i can get a full speed of 117 Mbps(meaning it should be > enough for my needs of 100Mbps NIC). Does anybody have any better > results on glxsb or via?(i mean a netperf test between two machines) > or there is a hack or a setting in the kernel or somewhere else? Any > help is appreciated. Thanks! I didn't make any benchmark with glxsb on IPsec. I've made some measures with the cryptotest tool (see /usr/src/tools/tools/crypto/) and openssl. The throughput is far more better than 20 Mbits (around 150 Mbits with data size = 4096 bytes). So I don't think that the botleneck is in the crypto framework. But the throughput heavely depends of the size of the data see (on blue the current glxsb): http://user.lamaiziere.net/patrick/glxsb-171108/glxsb-perf.pdf Measured with the cryptotest tool. While I'm here, does someone know why there is a big drop in the throughput when the size is just > 4096 bytes (the size of a page on I386)? Regards.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20090302201440.1c878fab>