From owner-cvs-all@FreeBSD.ORG Fri Jan 13 00:36:58 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 6B95516A41F; Fri, 13 Jan 2006 00:36:58 +0000 (GMT) (envelope-from scottl@samsco.org) Received: from pooker.samsco.org (pooker.samsco.org [168.103.85.57]) by mx1.FreeBSD.org (Postfix) with ESMTP id C6BE943D46; Fri, 13 Jan 2006 00:36:55 +0000 (GMT) (envelope-from scottl@samsco.org) Received: from [192.168.254.11] (junior.samsco.home [192.168.254.11]) (authenticated bits=0) by pooker.samsco.org (8.13.4/8.13.4) with ESMTP id k0D0aoku036467; Thu, 12 Jan 2006 17:36:50 -0700 (MST) (envelope-from scottl@samsco.org) Message-ID: <43C6F625.4030101@samsco.org> Date: Thu, 12 Jan 2006 17:36:53 -0700 From: Scott Long User-Agent: Mozilla/5.0 (X11; U; FreeBSD i386; en-US; rv:1.7.12) Gecko/20051230 X-Accept-Language: en-us, en MIME-Version: 1.0 To: Nate Lawson 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> <43C6E2EB.7040902@root.org> In-Reply-To: <43C6E2EB.7040902@root.org> Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Status: No, score=-1.4 required=3.8 tests=ALL_TRUSTED autolearn=failed version=3.1.0 X-Spam-Checker-Version: SpamAssassin 3.1.0 (2005-09-13) on pooker.samsco.org 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: Fri, 13 Jan 2006 00:36:58 -0000 Nate Lawson wrote: > 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. > It's not just the interrupt handlers, everything is abstracted behind virtual methods in IOKit. Scott