On 11/08/2009 04:51 AM, Ingo Molnar wrote: > > * Avi Kivity <avi@xxxxxxxxxx> wrote: > >> On 11/08/2009 01:36 PM, Ingo Molnar wrote: >>>> Three existing callbacks are: kmemcheck, mmiotrace, notifier. Two >>>> of them kmemcheck, mmiotrace are enabled only for debugging, should >>>> not be performance concern. And notifier call sites (two of them) >>>> are deliberately, as explained by comment, not at the function entry, >>>> so can't be unified with others. (And kmemcheck also has two different >>>> call site BTW) >>> >>> We want mmiotrace to be generic distro capable so the overhead when >>> the hook is not used is of concern. >> >> Maybe we should generalize paravirt-ops patching in case if (x) f() is >> deemed too expensive. > > Yes, that's a nice idea. We have quite a number of 'conditional > callbacks' in various critical paths that could be made lighter via such > a technique. > > It would also free new callbacks from the 'it increases overhead even if > unused' criticism and made it easier to add them. > There are a number of other things were we permanently bind to a single instance of something, too. Optimizing those away would be nice. Consider memcpy(), where we may want to have different implementations for different processors. -hpa -- H. Peter Anvin, Intel Open Source Technology Center I work for Intel. I don't speak on their behalf. -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html