On 09/15/2012 11:31 PM, Marcelo Tosatti wrote: > On Fri, Sep 14, 2012 at 06:13:11PM +0800, Xiao Guangrong wrote: >> On 09/14/2012 05:59 PM, Xiao Guangrong wrote: >> >>> + return FNAME(prefetch_gpte)(vcpu, sp, spte, gptep[i], true); >> >> Sorry, this was wrong. Update this patch. >> >> [PATCH v2 5/5] KVM: MMU: introduce FNAME(prefetch_gpte) >> >> The only different thing between FNAME(update_pte) and FNAME(pte_prefetch) >> is that the former is allowed to prefetch gfn from dirty logged slot, so >> introduce a common function to prefetch spte >> >> Signed-off-by: Xiao Guangrong <xiaoguangrong@xxxxxxxxxxxxxxxxxx> > > IMHO, for the human reader, the meaning of the two functions is > different and therefore separation is justified. Moreover they already Actually, these two functions do the same things, both of them prefetch spte based on gpte. The only different is, in the case of update_pte, we have high opportunity that the spte can be accessed soon (that why it is allowed to prefetch dirty logged gfn). > share common code via FNAME(prefetch_invalid_gpte) (which BTW, is a > confusing name because the function does not prefetch gpte, it validates > gpte). I think it is not too bad for it not just validates gpte, it also can drop spte if the gpte is invalid, it is also the behaviour that modify spte based on gpte. ;) -- 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