On Tue, Mar 13, 2012 at 03:37:09PM +0100, Alexander Graf wrote: > On 13.03.2012, at 15:04, David Gibson wrote: > > On Tue, Mar 13, 2012 at 02:56:47PM +0100, Alexander Graf wrote: > >> On 13.03.2012, at 06:07, David Gibson wrote: [snip] > >>>> This need not be a configure option. Just enable it, or it will > >>>> bitrot. > >>> > >>> I did wonder about that. I'd like to hear that suggested by more than > >>> one person before I unconditionally add code which will impose an > >>> overhead on all emulated DMAs. > >> > >> Maybe make it a target option? That way targets that want and need > >> an IOMMU can compile the code in, while the others don't see > >> performance hits. That would of course mean that we'd still have > >> conditional code paths, but at least they wouldn't bitrot, as > >> building multiple targets means you'd build both paths. > > > > Heh, yeah, so I tried that way back. It's problematic, unfortunately, > > as it would require pulling a number of things out of libhw and back > > into target dependent code. > > Hrm. How about measuring the performance overhead then? Maybe it's > negligible?
Yeah, I should do that. Finding a suitable testcase and running it on a variety of targets is non-trivial, though. -- David Gibson | I'll have my music baroque, and my code david AT gibson.dropbear.id.au | minimalist, thank you. NOT _the_ _other_ | _way_ _around_! http://www.ozlabs.org/~dgibson