From owner-freebsd-current@FreeBSD.ORG Wed Jul 7 21:34:30 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 4025316A4CE for ; Wed, 7 Jul 2004 21:34:30 +0000 (GMT) Received: from critter.freebsd.dk (critter.freebsd.dk [212.242.86.163]) by mx1.FreeBSD.org (Postfix) with ESMTP id A0AE343D45 for ; Wed, 7 Jul 2004 21:34:29 +0000 (GMT) (envelope-from phk@critter.freebsd.dk) Received: from critter.freebsd.dk (localhost [127.0.0.1]) by critter.freebsd.dk (8.12.11/8.12.11) with ESMTP id i67LYJgm001902; Wed, 7 Jul 2004 23:34:19 +0200 (CEST) (envelope-from phk@critter.freebsd.dk) To: "Charles M. Hannum" From: "Poul-Henning Kamp" In-Reply-To: Your message of "Wed, 07 Jul 2004 21:29:15 -0000." <200407072129.15095.mycroft@netbsd.org> Date: Wed, 07 Jul 2004 23:34:19 +0200 Message-ID: <1901.1089236059@critter.freebsd.dk> Sender: phk@critter.freebsd.dk cc: FreeBSD current users 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: Wed, 07 Jul 2004 21:34:30 -0000 In message <200407072129.15095.mycroft@netbsd.org>, "Charles M. Hannum" writes: >On Wednesday 07 July 2004 20:46, Charles M. Hannum wrote: >> 1) You'll need to add an interface for assigning pipes for read and write, >> since there may be more than just bulk pipes (and may be more than one bulk >> pipe in each direction), and we only have have device node to work with. > >Seems I misspoke there. That part looks fine. > >I think you're going to be screwed by the buffer alignment, though. This also >causes some issues with umass if you're not using a bounce buffer. We've already had that issue with ATA for the børked Geode controller: physio does nothing for alignment and relies on userland doing something sensible. I think this is pretty reasonable for the kind of hardware-near work that physio is usually employed in (including if we use it for ugen). Obviously, if the alignment is not OK, EINVAL should be returned, and that means that the driver should explicitly check the alignment. -- Poul-Henning Kamp | UNIX since Zilog Zeus 3.20 phk@FreeBSD.ORG | TCP/IP since RFC 956 FreeBSD committer | BSD since 4.3-tahoe Never attribute to malice what can adequately be explained by incompetence.