Commit 3ac40c40 authored by Peter Xu's avatar Peter Xu Committed by Paolo Bonzini

KVM: Documentation: Update fast page fault for indirect sp

Clarify locking.rst to mention early that we're not enabling fast page
fault for indirect sps.  The previous wording is confusing, in that it
seems the proposed solution has been already implemented but it has not.
Signed-off-by: default avatarPeter Xu <peterx@redhat.com>
Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
parent 78f2145c
...@@ -96,19 +96,18 @@ will happen: ...@@ -96,19 +96,18 @@ will happen:
We dirty-log for gfn1, that means gfn2 is lost in dirty-bitmap. We dirty-log for gfn1, that means gfn2 is lost in dirty-bitmap.
For direct sp, we can easily avoid it since the spte of direct sp is fixed For direct sp, we can easily avoid it since the spte of direct sp is fixed
to gfn. For indirect sp, before we do cmpxchg, we call gfn_to_pfn_atomic() to gfn. For indirect sp, we disabled fast page fault for simplicity.
to pin gfn to pfn, because after gfn_to_pfn_atomic():
A solution for indirect sp could be to pin the gfn, for example via
kvm_vcpu_gfn_to_pfn_atomic, before the cmpxchg. After the pinning:
- We have held the refcount of pfn that means the pfn can not be freed and - We have held the refcount of pfn that means the pfn can not be freed and
be reused for another gfn. be reused for another gfn.
- The pfn is writable that means it can not be shared between different gfns - The pfn is writable and therefore it cannot be shared between different gfns
by KSM. by KSM.
Then, we can ensure the dirty bitmaps is correctly set for a gfn. Then, we can ensure the dirty bitmaps is correctly set for a gfn.
Currently, to simplify the whole things, we disable fast page fault for
indirect shadow page.
2) Dirty bit tracking 2) Dirty bit tracking
In the origin code, the spte can be fast updated (non-atomically) if the In the origin code, the spte can be fast updated (non-atomically) if the
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment