In current code, shadow page can become asynchronous only if one shadow page for a gfn, this rule is too strict, in fact, we can let all last mapping page(i.e, it's the pte page) become unsync and sync them at invlpg or flush tlb time. Address this thinking, a gfn may have many shadow pages, for performance reason, when one sp need be synced, just write protect sp->gfn and sync this sp but we keep other shadow pages asynchronous, i.e, sp only can be synced just at their own invlpg and flush TLB time.
patch 1 ~ 6 are bugfix/cleanup/optimization for current code patch 7 ~ 10 implement this idea -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html