From owner-freebsd-hackers@FreeBSD.ORG Mon Mar 2 14:24:38 2009 Return-Path: Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 8DE7E1065673 for ; Mon, 2 Mar 2009 14:24:38 +0000 (UTC) (envelope-from vascim@yahoo.com) Received: from web38306.mail.mud.yahoo.com (web38306.mail.mud.yahoo.com [209.191.125.22]) by mx1.freebsd.org (Postfix) with SMTP id 512108FC1A for ; Mon, 2 Mar 2009 14:24:38 +0000 (UTC) (envelope-from vascim@yahoo.com) Received: (qmail 45285 invoked by uid 60001); 2 Mar 2009 13:57:57 -0000 DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=s1024; d=yahoo.com; h=X-YMail-OSG:Received:X-Mailer:Date:From:Reply-To:Subject:To:MIME-Version:Content-Type:Message-ID; b=wHPZMxVXMHdCZl20ViCno9KxigYhedGiQQLKrK0w1pzpqm96XqjjNiGTN1WQzO54jOZArnDr4azT32d28LJ13c94sBKacbrXtZeMwhA5AXtbTZfzKdEOWwRyooExSBnY5FF/B4FzYTn8CpOlq2zBjoMeCcm+FxI9N7/BbIS0d80=; X-YMail-OSG: i5s5JLwVM1l30RLXXjOjSLdYv_SgaGC6Pj96uQutCex7u2yG3ZrQTUm6MazHj907_5VF40NkSV6mxIbQeZ9.sVRogAt_J3zOHqgQEr3Z9NvhyHhb_nt_jukj.jCnGQQw0HJo4HJL2xIKtj2PZB7aKxOsjF8_HZ1ugWfzKzCXOaqBW0GptOKQuGzhapHFhQ-- Received: from [85.9.55.98] by web38306.mail.mud.yahoo.com via HTTP; Mon, 02 Mar 2009 05:57:56 PST X-Mailer: YahooMailWebService/0.7.289.1 Date: Mon, 2 Mar 2009 05:57:56 -0800 (PST) From: Vasile Marii To: freebsd-hackers@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Message-ID: <965289.45194.qm@web38306.mail.mud.yahoo.com> X-Mailman-Approved-At: Mon, 02 Mar 2009 14:33:36 +0000 Subject: slow freebsd cripto-accelerating framework X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: vascim@yahoo.com List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 02 Mar 2009 14:24:38 -0000 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! --------------- Vasile Marii