Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 12 Jan 2006 15:14:51 -0800
From:      Nate Lawson <nate@root.org>
To:        Scott Long <scottl@samsco.org>
Cc:        cvs-src@FreeBSD.org, src-committers@FreeBSD.org, Andrew Gallatin <gallatin@cs.duke.edu>, cvs-all@FreeBSD.org
Subject:   Re: cvs commit: src/sys/dev/em if_em.c if_em.h
Message-ID:  <43C6E2EB.7040902@root.org>
In-Reply-To: <43C6DAED.3040901@samsco.org>
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>

next in thread | previous in thread | raw e-mail | index | archive | help
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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?43C6E2EB.7040902>