From owner-freebsd-current@FreeBSD.ORG Thu Jul 8 04:59:15 2004 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 4A55216A4CF; Thu, 8 Jul 2004 04:59:15 +0000 (GMT) Received: from panzer.kdm.org (panzer.kdm.org [216.160.178.169]) by mx1.FreeBSD.org (Postfix) with ESMTP id C941C43D2F; Thu, 8 Jul 2004 04:59:14 +0000 (GMT) (envelope-from ken@panzer.kdm.org) Received: from panzer.kdm.org (localhost [127.0.0.1]) by panzer.kdm.org (8.12.9/8.12.5) with ESMTP id i684wrui086819; Wed, 7 Jul 2004 22:58:53 -0600 (MDT) (envelope-from ken@panzer.kdm.org) Received: (from ken@localhost) by panzer.kdm.org (8.12.9/8.12.5/Submit) id i684wqM5086818; Wed, 7 Jul 2004 22:58:52 -0600 (MDT) (envelope-from ken) Date: Wed, 7 Jul 2004 22:58:52 -0600 From: "Kenneth D. Merry" To: Robert Watson Message-ID: <20040708045852.GA86788@panzer.kdm.org> References: Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.4.1i cc: FreeBSD current users cc: mycroft@netbsd.org cc: Julian Elischer cc: ticso@cicely.de Subject: Re: speeding up ugen by an order of magnitude. X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 08 Jul 2004 04:59:15 -0000 On Wed, Jul 07, 2004 at 14:53:38 -0400, Robert Watson wrote: > On Wed, 7 Jul 2004, Julian Elischer wrote: > > Yes that's why I brought it up here. That was only a "proof-of-concept" > > that showed that teh slowdown was coming from the fact that the ugen was > > only pushing one KB of data per frame (1mSec) interrupt. (it was pinned > > at 1MB/sec) The correct answer may be to do what pould-henning > > suggested and use teh physio facility to do this. I considerred that > > originally but there is overhead in that too, and it is also possible > > that the NetBSD and FreeBSD physio facilities have diverged enough to > > make this non trivial as far as keeping diffs to a minimum. (It is after > > all NetBSD code). > > You might want to take a look at the ZERO_COPY socket send code, as well > as the sendfile() code... FYI, I'm in the process of reformulating some > of the zero copy send code on the advice of Alan Cox to make it less > strict about alignment, etc. That would be pretty cool. I'm interested to see what you guys have come up with. :) The size and alignment restrictions make it less effective than it could be. (Depends on the application, obviously.) The problems are worse on receive, but then most cards can't do the header splitting necessary for zero copy receive. Ken -- Kenneth Merry ken@FreeBSD.ORG