summaryrefslogtreecommitdiff
path: root/Documentation/virtual
diff options
context:
space:
mode:
authorJonathan Corbet <corbet@lwn.net>2016-11-19 02:13:41 +0300
committerJonathan Corbet <corbet@lwn.net>2016-11-19 02:13:41 +0300
commit917fef6f7ee8b2fe852692ac49771342bfef9433 (patch)
treeb5932aab90d449841803b6f8679a4564ca2a6eaf /Documentation/virtual
parent0c9aa209579d41c9b8bf1fc39ce042bea2ec422d (diff)
parentbc33b0ca11e3df467777a4fa7639ba488c9d4911 (diff)
downloadlinux-917fef6f7ee8b2fe852692ac49771342bfef9433.tar.xz
Merge tag 'v4.9-rc4' into sound
Bring in -rc4 patches so I can successfully merge the sound doc changes.
Diffstat (limited to 'Documentation/virtual')
-rw-r--r--Documentation/virtual/kvm/locking.txt12
1 files changed, 11 insertions, 1 deletions
diff --git a/Documentation/virtual/kvm/locking.txt b/Documentation/virtual/kvm/locking.txt
index f2491a8c68b4..e5dd9f4d6100 100644
--- a/Documentation/virtual/kvm/locking.txt
+++ b/Documentation/virtual/kvm/locking.txt
@@ -4,7 +4,17 @@ KVM Lock Overview
1. Acquisition Orders
---------------------
-(to be written)
+The acquisition orders for mutexes are as follows:
+
+- kvm->lock is taken outside vcpu->mutex
+
+- kvm->lock is taken outside kvm->slots_lock and kvm->irq_lock
+
+- kvm->slots_lock is taken outside kvm->irq_lock, though acquiring
+ them together is quite rare.
+
+For spinlocks, kvm_lock is taken outside kvm->mmu_lock. Everything
+else is a leaf: no other lock is taken inside the critical sections.
2: Exception
------------