[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20220709042037.21903-10-bagasdotme@gmail.com>
Date: Sat, 9 Jul 2022 11:20:35 +0700
From: Bagas Sanjaya <bagasdotme@...il.com>
To: linux-doc@...r.kernel.org
Cc: Paolo Bonzini <pbonzini@...hat.com>,
Jonathan Corbet <corbet@....net>,
Thomas Gleixner <tglx@...utronix.de>,
Ingo Molnar <mingo@...hat.com>, Borislav Petkov <bp@...en8.de>,
Dave Hansen <dave.hansen@...ux.intel.com>,
"H. Peter Anvin" <hpa@...or.com>,
Isaku Yamahata <isaku.yamahata@...el.com>,
Kai Huang <kai.huang@...el.com>, x86@...nel.org,
kvm@...r.kernel.org, linux-kernel@...r.kernel.org,
Bagas Sanjaya <bagasdotme@...il.com>
Subject: [PATCH 09/12] Documentation: kvm: tdx-tdp-mmu: Add blank line padding to lists in concurrent sections
The last warnings on tdx-tdp-mmu.rst are caused by missing blank line
padding at lists on "concurrent" sections. Add the padding.
Fixes: 7af4efe3263854 ("KVM: x86: design documentation on TDX support of x86 KVM TDP MMU")
Signed-off-by: Bagas Sanjaya <bagasdotme@...il.com>
---
Documentation/virt/kvm/tdx-tdp-mmu.rst | 9 ++++++++-
1 file changed, 8 insertions(+), 1 deletion(-)
diff --git a/Documentation/virt/kvm/tdx-tdp-mmu.rst b/Documentation/virt/kvm/tdx-tdp-mmu.rst
index c403e14fb223aa..f2170c154e18c3 100644
--- a/Documentation/virt/kvm/tdx-tdp-mmu.rst
+++ b/Documentation/virt/kvm/tdx-tdp-mmu.rst
@@ -418,8 +418,10 @@ Concurrent zapping
2. freeze the EPT entry (atomically set the value to REMOVED_SPTE)
If other vcpu froze the entry, restart page fault.
3. TLB shootdown
+
* send IPI to remote vcpus
* TLB flush (local and remote)
+
For each entry update, TLB shootdown is needed because of the
concurrency.
4. atomically set the EPT entry to the final value
@@ -429,6 +431,7 @@ Concurrent populating
---------------------
In the case of populating the non-present EPT entry, atomically update the EPT
entry.
+
1. read lock
2. atomically update the EPT entry
If other vcpu frozen the entry or updated the entry, restart page fault.
@@ -436,6 +439,7 @@ entry.
In the case of updating the present EPT entry (e.g. page migration), the
operation is split into two. Zapping the entry and populating the entry.
+
1. read lock
2. zap the EPT entry. follow the concurrent zapping case.
3. populate the non-present EPT entry.
@@ -451,7 +455,6 @@ In this case, the TLB shootdown is batched into one.
3. TLB shootdown
4. write unlock
-
For Secure EPT, TDX SEAMCALLs are needed in addition to updating the mirrored
EPT entry.
@@ -462,9 +465,11 @@ Add a hook for TDX SEAMCALLs at the step of the TLB shootdown.
1. read lock
2. freeze the EPT entry(set the value to REMOVED_SPTE)
3. TLB shootdown via a hook
+
* TLB.MEM.RANGE.BLOCK()
* TLB.MEM.TRACK()
* send IPI to remote vcpus
+
4. set the EPT entry to the final value
5. read unlock
@@ -477,7 +482,9 @@ condition. A hook can be added.
1. read lock
2. freeze the EPT entry
3. hook
+
* TDH_MEM_SEPT_ADD() for non-leaf or TDH_MEM_PAGE_AUG() for leaf.
+
4. set the EPT entry to the final value
5. read unlock
--
An old man doll... just what I always wanted! - Clara
Powered by blists - more mailing lists