From owner-cvs-all@FreeBSD.ORG Thu Jan 12 23:14:37 2006 Return-Path: X-Original-To: cvs-all@FreeBSD.org Delivered-To: cvs-all@FreeBSD.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 483DB16A41F; Thu, 12 Jan 2006 23:14:37 +0000 (GMT) (envelope-from nate@root.org) Received: from www.cryptography.com (li-22.members.linode.com [64.5.53.22]) by mx1.FreeBSD.org (Postfix) with ESMTP id B1D1743D4C; Thu, 12 Jan 2006 23:14:35 +0000 (GMT) (envelope-from nate@root.org) Received: from [10.0.0.53] (adsl-67-119-74-222.dsl.sntc01.pacbell.net [67.119.74.222]) by www.cryptography.com (8.12.8/8.12.8) with ESMTP id k0CNEMVK009640 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NOT); Thu, 12 Jan 2006 15:14:24 -0800 Message-ID: <43C6E2EB.7040902@root.org> Date: Thu, 12 Jan 2006 15:14:51 -0800 From: Nate Lawson User-Agent: Mozilla Thunderbird 1.0.6 (Windows/20050716) X-Accept-Language: en-us, en MIME-Version: 1.0 To: Scott Long References: <200601110030.k0B0UPOx009098@repoman.freebsd.org> <20060112152119.A6776@grasshopper.cs.duke.edu> <43C6C4EA.20303@samsco.org> <17350.53992.494972.787933@grasshopper.cs.duke.edu> <43C6DAED.3040901@samsco.org> In-Reply-To: <43C6DAED.3040901@samsco.org> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: cvs-src@FreeBSD.org, src-committers@FreeBSD.org, Andrew Gallatin , cvs-all@FreeBSD.org Subject: Re: cvs commit: src/sys/dev/em if_em.c if_em.h X-BeenThere: cvs-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: CVS commit messages for the entire tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 12 Jan 2006 23:14:37 -0000 Scott Long wrote: > Andrew Gallatin wrote: > >> Scott Long writes: >> > However, taskqueues are really just a proof of concept for what I >> really >> > want, which is to allow drivers to register both a fast handler and an >> > ithread handler. For drivers doing this, the ithread would be private >> >> Ah, the darwin / MacOSX model. That would be very cool. > > > Yep. Working in IOKit was very interesting, and this is one of the few > things that transfers well to FreeBSD. C++ does have a certain elagence > for drivers, but the cost of virtual methods in the fast path of the > driver and stack is still far too high to justify using it. Yeah, that's why newbus is only for configuration but interrupt handlers are called directly. It's nice to have OO for config and relationships between devices but just direct calls for the fast path. -- Nate