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>