forked from Minki/linux
38a778aa18
The goal of this document shall be - overview of all locks used in KVM core - provide details on the scope of each lock - explain the lock type, specifically of a raw spin locks - provide a lock ordering guide Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com> Signed-off-by: Avi Kivity <avi@redhat.com>
26 lines
547 B
Plaintext
26 lines
547 B
Plaintext
KVM Lock Overview
|
|
=================
|
|
|
|
1. Acquisition Orders
|
|
---------------------
|
|
|
|
(to be written)
|
|
|
|
2. Reference
|
|
------------
|
|
|
|
Name: kvm_lock
|
|
Type: raw_spinlock
|
|
Arch: any
|
|
Protects: - vm_list
|
|
- hardware virtualization enable/disable
|
|
Comment: 'raw' because hardware enabling/disabling must be atomic /wrt
|
|
migration.
|
|
|
|
Name: kvm_arch::tsc_write_lock
|
|
Type: raw_spinlock
|
|
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.
|