Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 21 Jul 2007 20:14:44 -0600
From:      Scott Long <scottl@samsco.org>
To:        John-Mark Gurney <gurney_j@resnet.uoregon.edu>
Cc:        pyunyh@gmail.com, David Christensen <davidch@broadcom.com>, current@freebsd.org
Subject:   Re: Getting/Forcing Greater than 4KB Buffer Allocations
Message-ID:  <46A2BD94.2030603@samsco.org>
In-Reply-To: <20070722001240.GA1221@funkthat.com>
References:  <09BFF2FA5EAB4A45B6655E151BBDD9030483F161@NT-IRVA-0750.brcm.ad.broadcom.com> <20070718021839.GA37935@cdnetworks.co.kr> <09BFF2FA5EAB4A45B6655E151BBDD9030483F437@NT-IRVA-0750.brcm.ad.broadcom.com> <20070719002218.GA42405@cdnetworks.co.kr> <09BFF2FA5EAB4A45B6655E151BBDD9030483F5D2@NT-IRVA-0750.brcm.ad.broadcom.com> <469EEF02.7000804@samsco.org> <20070722001240.GA1221@funkthat.com>

next in thread | previous in thread | raw e-mail | index | archive | help
John-Mark Gurney wrote:

> Scott Long wrote this message on Thu, Jul 19, 2007 at 00:56 -0400:
> 
>>1Gb and 10Gb adapters.  The question I have is whether this new back-end
>>should be accessible directly through yet another bus_dmamap_load_foo
>>variant that the drivers need to know specifically about, or indirectly
>>and automatically via the existing bus_dmamap_load_foo variants.  The
>>tradeoff is further API pollution vs the opportunity for even more
>>efficiency through no indirect function calls and no cache misses from
>>accessing the busdma tag.  I don't like API pollution since it makes it
>>harder to maintain code, but the opportunity for the best performance
>>possible is also appealing.
> 
> 
> My vote would be to keep the existing api, and add a flag to the tag
> to select which backend to use...
> 

The potential is to avoid cache line misses by disregarding the tag 
entirely.  Drew has a prototype that shows a very good improvement from
this.  The alternative approach requires tag accesses, but can easily 
select an appropriate back-end automatically.  The tag fields can 
probably be rearranged so that only a single cache line is needed.  If 
it were possible to give a prefetching hint, it would be a moot point, 
but I don't think that it is in this case.

Scott




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?46A2BD94.2030603>