Skip to content

Commit

Permalink
Documentation: kvm: fixes for locking.rst
Browse files Browse the repository at this point in the history
Separate the various locks clearly, and include the new names of blocked_vcpu_on_cpu_lock
and blocked_vcpu_on_cpu.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Message-Id: <20220322110720.222499-2-pbonzini@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
  • Loading branch information
Paolo Bonzini committed Mar 29, 2022
1 parent 07ea4ab commit e9611bf
Showing 1 changed file with 19 additions and 9 deletions.
28 changes: 19 additions & 9 deletions Documentation/virt/kvm/locking.rst
Original file line number Diff line number Diff line change
Expand Up @@ -210,32 +210,41 @@ time it will be set using the Dirty tracking mechanism described above.
3. Reference
------------

:Name: kvm_lock
``kvm_lock``
^^^^^^^^^^^^

:Type: mutex
:Arch: any
:Protects: - vm_list

:Name: kvm_count_lock
``kvm_count_lock``
^^^^^^^^^^^^^^^^^^

:Type: raw_spinlock_t
:Arch: any
:Protects: - hardware virtualization enable/disable
:Comment: 'raw' because hardware enabling/disabling must be atomic /wrt
migration.

:Name: kvm_arch::tsc_write_lock
:Type: raw_spinlock

``kvm_arch::tsc_write_lock``
^^^^^^^^^^^^^^^^^^^^^^^^^^^^

:Type: raw_spinlock_t
:Arch: x86
:Protects: - kvm_arch::{last_tsc_write,last_tsc_nsec,last_tsc_offset}
- tsc offset in vmcb
:Comment: 'raw' because updating the tsc offsets must not be preempted.

:Name: kvm->mmu_lock
:Type: spinlock_t
``kvm->mmu_lock``
^^^^^^^^^^^^^^^^^
:Type: spinlock_t or rwlock_t
:Arch: any
:Protects: -shadow page/shadow tlb entry
:Comment: it is a spinlock since it is used in mmu notifier.

:Name: kvm->srcu
``kvm->srcu``
^^^^^^^^^^^^^
:Type: srcu lock
:Arch: any
:Protects: - kvm->memslots
Expand All @@ -246,10 +255,11 @@ time it will be set using the Dirty tracking mechanism described above.
The srcu index can be stored in kvm_vcpu->srcu_idx per vcpu
if it is needed by multiple functions.

:Name: blocked_vcpu_on_cpu_lock
``wakeup_vcpus_on_cpu_lock``
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
:Type: spinlock_t
:Arch: x86
:Protects: blocked_vcpu_on_cpu
:Protects: wakeup_vcpus_on_cpu
:Comment: This is a per-CPU lock and it is used for VT-d posted-interrupts.
When VT-d posted-interrupts is supported and the VM has assigned
devices, we put the blocked vCPU on the list blocked_vcpu_on_cpu
Expand Down

0 comments on commit e9611bf

Please sign in to comment.