Professional Documents
Culture Documents
enablement
Eduardo Habkost <ehabkost@redhat.com>
Developer Conference 2014
Agenda
Basic concepts
!2
Basics
Introduction: Basics
(management)
libvirt
VM
QEMU
Guest OS
Kernel
KVM
Host CPU
!4
Introduction: Basics
(management)
libvirt
command-line, monitor (QMP)
VM
QEMU
Guest OS
Kernel
KVM
Host CPU
!4
Introduction:
Stable guest ABI
!5
Existing Mechanisms
CPUID handling
QEMU
Guest OS
Kernel
HOST CPU
!8
CPUID handling
QEMU
Guest OS
GET_SUPPORTED_CPUID
Host
CPUID
instruction
Kernel
HOST CPU
!8
CPUID handling
QEMU
GET_SUPPORTED_CPUID
Host
CPUID
instruction
Guest OS
SET_CPUID
CPUID table
Kernel
HOST CPU
!8
CPUID handling
QEMU
GET_SUPPORTED_CPUID
Host
CPUID
instruction
Guest OS
SET_CPUID
CPUID table
Kernel
HOST CPU
!8
Guest
CPUID
instruction
emulate
CPUID
The Stack
(management)
Decision to enable a
feature (should be) taken
in the upper layers
libvirt
VM
QEMU
Guest OS
Kernel
KVM
Host CPU
!9
!10
CPU models
CPU models
!12
Management requirements
!13
Issues
libvirt
QEMU
QEMU
VM
Guest OS
Kernel
KVM
Host CPU
!15
libvirt
-cpu ,+X,+Y,+Z
VM
QEMU
Guest OS
X, Y KVM
X, Z
!16
Host CPU
X!
(no Y)!
(no Z)
(management)
libvirt
VM
QEMU
Guest OS
Kernel
KVM
Host CPU
!17
Solutions
Solutions
!19
QDev
QMP commands:
QDev-based solution
!23
Future
smarter
management systems
Smarter VM scheduling
!24
Thanks
Feedback:
http://devconf.cz/f/34
!
Questions?
!25