From owner-freebsd-current@FreeBSD.ORG Thu Jul 8 05:29:48 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 8EF6F16A4CE for ; Thu, 8 Jul 2004 05:29:48 +0000 (GMT) Received: from harmony.village.org (rover.village.org [168.103.84.182]) by mx1.FreeBSD.org (Postfix) with ESMTP id 355CB43D46 for ; Thu, 8 Jul 2004 05:29:48 +0000 (GMT) (envelope-from imp@bsdimp.com) Received: from localhost (warner@rover2.village.org [10.0.0.1]) by harmony.village.org (8.12.11/8.12.11) with ESMTP id i685T6tK078612; Wed, 7 Jul 2004 23:29:06 -0600 (MDT) (envelope-from imp@bsdimp.com) Date: Wed, 07 Jul 2004 23:29:16 -0600 (MDT) Message-Id: <20040707.232916.126914893.imp@bsdimp.com> To: julian@elischer.org From: "M. Warner Losh" In-Reply-To: References: <20040707095949.GF12877@cicely12.cicely.de> X-Mailer: Mew version 3.3 on Emacs 21.3 / Mule 5.0 (SAKAKI) Mime-Version: 1.0 Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit cc: phk@phk.freebsd.dk cc: mycroft@netbsd.org cc: ticso@cicely.de cc: current@FreeBSD.org 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 05:29:48 -0000 In message: Julian Elischer writes: : > Nevertheless I see ugen more as a quick and dirty way to test drive a : > device from userland with all it's great debugging capabilities before : > writing a specific kernel driver. : > The requirement that ugen has to be generic is often bad for : > performance sensitive applications. : : Ugen is used in production all over the place where people have to used : devices there is no specific support for, and where there is no : kernel expertise. usb drivers are very easy to write. I think that making it easier to write those drivers is going to be better for the project in the long run. ugen is supposed to be general. If we can make it faster w/o sacrificying this generalness, that's OK. But if we can't, then you gotta do stuff in the kernel. That's always been the case (and why we don't have userland tcp, for example). Some things have to be in the kernel to be fast. Warner