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. ScottReceived on Sun Jul 22 2007 - 00:14:49 UTC
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:39:15 UTC