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