> On 09/03/08 17:07, Vikram Hegde wrote:
> > Hi,
> >
> >> Abilities to disable the IOMMU as a choice?
> Performance impact on 
> >> various systems and interactions with other
> projects that have gone 
> >> to some length to work within S/G and its
> performance 
> >> characteristics. How will this affect them? Cache
> effects? 
> >> Interactions with some VM work currently being
> undertaken?
> >>
> >> I can't imagine such a major change being
> closed/approved/automatic. 
> > Performance is driver dependant. There is no way a
> single project team 
> > can test the gamut of drivers out there and certify
> that the IOMMU 
> > will  give acceptable performance for all needs
> (which is itself a 
> > subjective opinion). 
> 
> No, it's a measurable value- not subjective.

Lacking the theoretical background, I'd still like to make an
observation based on real-world experience:

performance is objective in a practical sense if and only if:

* valid comparisons (not apples-to-oranges) can be made

* said comparisons can also be _replicated_ on demand

This leads to two further notions:

* the instrumentation has to be up to the task - that may mean this should
include additional instrumentation as needed

* some broad problems have been demonstrated to be unsolvable in the
general case (halting problem, incompleteness theorems, etc).  While any
specific case of a perceived performance problem may be repeatable when
narrowing the focus sufficiently, it just might be a bit presumptuous to assume
that to be the case for all real-world hardware configurations, workloads, etc.
The mere explosion of combinations might be enough to at least make that
unfeasible.

Which if anything may make the ability to selectively disable new functionality
all the more important.

Which leads me just now to think of one last point: it would be interesting
to see references to (or applicability of) "lessons learned" in the course of
other implementations of IOMMU support.  Many aspects of Solaris have
probably benefitted in terms of architectural sophistication from previous
ports; if this is an area where such functionality has up to now been under
pretty much single control over hardware and software design, it may
include opportunities and challenges greater than those of (for example)
typical driver ports, in terms of evolving the OS architecture.

So I think that there is a real opportunity here to capture perhaps a bit
more than usual of documentation of design choices and rationales as this
develops, which could not only help in terms of its own long-term development
and maintenance, but set or expand a precedent for future endeavors of similar
scope, as well as to further open (to observation, at least) the development 
process.
--
This message posted from opensolaris.org

Reply via email to