SlideShare ist ein Scribd-Unternehmen logo
1 von 36
Downloaden Sie, um offline zu lesen
1Samsung Open Source Group
ARM-KVM: Weather Report
Korea Linux Forum
Mario Smarduch
Samsung Open Source Group
Senior Virtualization Architect
m.smarduch@samsung.com
2Samsung Open Source Group
ARM-KVM This Year
Key contributors Linaro, ARM
Access to documentation & specialized HW an issue
ARM64 subtree – 12+ hw vendors
Some of the new features added since last year:
• QEMU/Guest – cache-coherency resolved
• GICv2m – interrupt controller (GICv3 spec not public)
• Device Pass-through
• Virtual Platforms with kernel platform selection
• 16-k page size support
• Guest Debug Support
3Samsung Open Source Group
What is KVM?
4Samsung Open Source Group
Where is KVM in the Cloud?
Host Kernel, KVM Module, QEMU, and Guest working together
• Kernel – KVM reuses kernel MMU, synch, scheduling, timers, interrupts,
etc.
• Kernel matures – KVM reuses
• KVM - runs vCPU loop, traps/fix/resume guest, emulate
• QEMU/Kvmtool – platform emulation, Guest Management, I/O
• Guest – kernel, disk image, I/O – unaware of virtual platforms
5Samsung Open Source Group
vCPU Scheduling
6Samsung Open Source Group
vCPU Scheduling
Physical CPU – can be in host or guest mode
• Guest mode uses HW Extension support
Guest CPU – its a thread in Guest mode aka vCPU
Transitions
• Host > Guest a VM Enter - save host, load guest context
• Guest > Host a VM Exit - save guest, restore host, resolve exit, and later
VM Enter
vCPUs are threads so you can:
• Use taskset, chrt, numactl, ps
• Use KVM to leverage kernel scheduler code for preempt notifiers
and vCPU scheduling
7Samsung Open Source Group
NFV Example
LTE Network Element - Isolation
8Samsung Open Source Group
Guest Memory Management
9Samsung Open Source Group
Guest Memory Management
QEMU backs guest memory with mmap() region
• Register QEMU VA/GPA range with KVM
Guest access – 2nd stage fault
• KVM – (1) GPA > QEMU VA > get a page > update 2nd
stage, QEMU
• Guest resolves stage 1
4 – tables
• QEMU process, Kernel, 1st, 2nd stage tables
KVM leverages kernel MMU code
• paging, mmu notifiers, page allocation, and topology
(flat, numa)
10Samsung Open Source Group
I/O
Virtio – Dominant in cloud
• QEMU/Guest map the same memory
• Tx, Rx, Ctrl – Virt-Qs used
• QEMU translates GPA to/from QEMU VA
QEMU MT – vCPUs + IO Thread(s)
• IO thead – frontend – virt-q & backend host
OS transport
11Samsung Open Source Group
KVM vCPU Loop
12Samsung Open Source Group
KVM in the Cloud
13Samsung Open Source Group
KVM in the Cloud
IaaS Admin – Compute node provides access to
• Create private/public networks
• Install Images, create block storage
• Backend/mgmt network access
QEMU/KVM on Compute node
• Cloud Controller interfaces with Libvirt
• Libvirt launches guest, QEMU, and Image
• Virtio: attached nework, storage
• Libvirt uses QMP for QEMU mgmt
• halt, mem balloon – infl/defl
14Samsung Open Source Group
ARM64 Memory Refresh
Register Set Basic
Procedure Call
Exception Model
15Samsung Open Source Group
ARM64 Memory Refresh
Bit Width and
Exceptions
Address Size
16Samsung Open Source Group
ARM and x86
17Samsung Open Source Group
Guest/QEMU Coherency
18Samsung Open Source Group
Guest/QEMU Coherency
Blocked progress for some areas
Strict guest device attributes prevail
• Dealing with normal memory
• Devices break emulation
• Driver observes device, QEMU memory attr.
• In-coherent view
LCD
• Guest updates not observed by QEMU
19Samsung Open Source Group
An Issue with Coherency
Flash emulation broke
• Reads from memory
• Writes mmio unlock/write/lock
• QEMU/Guest coherency issue
• Several attempts to resolve include using
fake guest attributes, modifying QEMU MMU
• KVM Forum Solution - Expose devices as
DMA cacheable
20Samsung Open Source Group
Interrupts High Level
Host
QEMU Guest
Device Emulation
Injects Interrupts
Emulated
IO Interrupt Controller
Per INTID
- CPU target reg
- Level/Trig
- Dis/Ena
- Grp 0/1 S/NS
CPU Interface – HW Extensions
VFIO
Int Ack, EOIR, RPR, PMR
21Samsung Open Source Group
Interrupts
ARM GICv2 interrupt IDs 16 - SGI, 16 - PPI, 992 – SPI
• Interrupt Space Limited, no MSI support
MSI/MSI-x
• MSI up to 32 interrupts/function – address/data
• MSI-x table up to 2048 entries address/data per entry
• Edge triggered - re-enable delivery on device
• Interrupt source identified easily
• Messages instead of hw lines
• Devices can target many CPUs & vectors. E.g. 8-
CPUs, 128-Int IDs
22Samsung Open Source Group
GICv2m
MSI/MSI-x – using SPIs
• Up to 32-clusters 8 CPUs/cluster
• Affinity Routing enabled to target CPUs
• Generate MSI/MSIx peripheral writes – using
SPIs
• GICD_{SET|CLR}SPI_NSR –
• Few other regs to program
23Samsung Open Source Group
GICv2m
MSI/MSI-x – using LPIs
• Interrupt Translation Services
• Huge LPI space of 57K+ interrupt IDs
• GITS_TRANSLATER – dev id + LPI id – generate
INTID
• Device can target many CPUs & vectors. E.g. 16-
CPUs, 128-Int IDs each
• ITS – Guest programs peripherals directly
• ITS translates from virt interrupt id to phys interrupt id
• KVM injects virt interrupt
• For Guest support must emulate Re-Dis, ITS,
& Distributor
24Samsung Open Source Group
GICv2m
25Samsung Open Source Group
Device Pass-Through
Device pass through using – PCI
• PCI pass through – ‘device vfio-
pci,host=xx.xx.xx’
QEMU
• Reads device PCI Config from
kernel i.e xx.xx.xx
• Qemu Picks B/D/F programs it
• Guest enumerates – accesses
PCI Config
• Maps memory – BARs i.e. 2nd
stage
• IOMMU – guest memory
• Sets up interrupts
26Samsung Open Source Group
Device Pass-Through
Device Pass Through using device tree
• -device vfio-<device name>
• QEMU enhancements
• Add device handler – handle –
device option
• Gather device info – create
node
• Add to Guest device tree
• Guest parses and accesses
device
• From node – i.e. mmio regions,
irq, ..
• SMMU map guest
• Setup interrupt pass through
27Samsung Open Source Group
Virt Machine Model
-M virt
• Kernel builds against “Dummy Virtual Machine” –
ARCH_VIRT
• Supports arm32/arm64 guests
Instantiates a FDT, no need to pass dtb file
Defines physical map for
• Flash – bios
• GICv2, GICv2m, GCIv3UART, RTC
• Platform bus device pass-through
• UART
• Builds ACPI tables i.e. hw discovery
28Samsung Open Source Group
Virt Machine Model
virtio_mmio: for virtio transport enable virtio-mmio
in kernel
• The backend is agnostic to transport
• The guest finds mmio transport
29Samsung Open Source Group
Virt Machine Model
Boot loaders for arm32/arm64
• Tiny boot loader support
• Will boot an Image, Image.gz, zImage,
uImage
• quick boot
• Few devices emulated - low mmio exits
30Samsung Open Source Group
Several Page Sizes
4K, 64K – page sizes
• Huge page – 2MB, 512MB
Now 16K page size – added
• Huge Page – 32MB
More flexibility in the future
• 4k guest on 64k host – without huge pages
• Or 16k page guest
• Good for TLBs
31Samsung Open Source Group
Several Page Sizes
Live migration & dirty page logging
• 64k hosts are a good option due to less
memory copy
32Samsung Open Source Group
Guest Debug Support
QEMU
EL1
HW BKPKT HW VALUE WP BKPKT WP VALUE
EL1 Regs
gdb
Host Guest Guest
KVM
- Set hw bpkt
- Set wp
- SS
vmlinux
33Samsung Open Source Group
Guest Debug Support
QEMU has a gdb server (connect -gdb tcp::… , -S stop cpu)
• gdb <vmlinux> > connect remote:…
Hyp debug support extensions to trap on debug events
Arm64 provides a variety of self hosted debug regs
• Paired HW control and value registers
• Control – VA, CONTEXID/VMID match
• Value reg – VA, VMID, CONTEXID
• Paired watch point control and value regs
• Control – on load/store, byte selects
• Value – VA
• Single Stepping – PSTATE, debug control reg.
34Samsung Open Source Group
Guest Debug Support
Complex integration into QEMU gdb server
infrastructure
• Accept SS, bkpt, watch point commands
• Take debug exit on bpkt and return state to
QEMU
• Handle concurrent guest/host QEMU debug
35Samsung Open Source Group
Questions?
36Samsung Open Source Group
Thank You!
Mario Smarduch
Samsung Open Source Group
Senior Virtualization Architect
m.smarduch@samsung.com

Weitere ähnliche Inhalte

Was ist angesagt?

XPDDS17: Virtualization at Huawei: Usage, Value-add and Challenges - Jinsong ...
XPDDS17: Virtualization at Huawei: Usage, Value-add and Challenges - Jinsong ...XPDDS17: Virtualization at Huawei: Usage, Value-add and Challenges - Jinsong ...
XPDDS17: Virtualization at Huawei: Usage, Value-add and Challenges - Jinsong ...The Linux Foundation
 
Building a KVM-based Hypervisor for a Heterogeneous System Architecture Compl...
Building a KVM-based Hypervisor for a Heterogeneous System Architecture Compl...Building a KVM-based Hypervisor for a Heterogeneous System Architecture Compl...
Building a KVM-based Hypervisor for a Heterogeneous System Architecture Compl...Hann Yu-Ju Huang
 
KVM tools and enterprise usage
KVM tools and enterprise usageKVM tools and enterprise usage
KVM tools and enterprise usagevincentvdk
 
Demand-Based Coordinated Scheduling for SMP VMs
Demand-Based Coordinated Scheduling for SMP VMsDemand-Based Coordinated Scheduling for SMP VMs
Demand-Based Coordinated Scheduling for SMP VMsHwanju Kim
 
Yabusame: postcopy live migration for qemu/kvm
Yabusame: postcopy live migration for qemu/kvmYabusame: postcopy live migration for qemu/kvm
Yabusame: postcopy live migration for qemu/kvmIsaku Yamahata
 
ACRN vMeet-Up EU 2021 - Real Time Management and Performance Optimization
ACRN vMeet-Up EU 2021 - Real Time Management and Performance OptimizationACRN vMeet-Up EU 2021 - Real Time Management and Performance Optimization
ACRN vMeet-Up EU 2021 - Real Time Management and Performance OptimizationProject ACRN
 
ACRN vMeet-Up EU 2021 - shared memory based inter-vm communication introduction
ACRN vMeet-Up EU 2021 - shared memory based inter-vm communication introductionACRN vMeet-Up EU 2021 - shared memory based inter-vm communication introduction
ACRN vMeet-Up EU 2021 - shared memory based inter-vm communication introductionProject ACRN
 
ACRN vMeet-Up EU 2021 - Boot Process and Secure Boot
ACRN vMeet-Up EU 2021 - Boot Process and Secure BootACRN vMeet-Up EU 2021 - Boot Process and Secure Boot
ACRN vMeet-Up EU 2021 - Boot Process and Secure BootProject ACRN
 
Project ACRN CPU sharing BVT scheduler in ACRN hypervisor
Project ACRN CPU sharing BVT scheduler in ACRN hypervisorProject ACRN CPU sharing BVT scheduler in ACRN hypervisor
Project ACRN CPU sharing BVT scheduler in ACRN hypervisorProject ACRN
 
ACRN Kata Container on ACRN
ACRN Kata Container on ACRNACRN Kata Container on ACRN
ACRN Kata Container on ACRNProject ACRN
 
Project ACRN hypervisor introduction
Project ACRN hypervisor introduction Project ACRN hypervisor introduction
Project ACRN hypervisor introduction Project ACRN
 
XPDDS18: The Art of Virtualizing Cache Maintenance - Julien Grall, Arm
XPDDS18: The Art of Virtualizing Cache Maintenance - Julien Grall, ArmXPDDS18: The Art of Virtualizing Cache Maintenance - Julien Grall, Arm
XPDDS18: The Art of Virtualizing Cache Maintenance - Julien Grall, ArmThe Linux Foundation
 
XPDDS17: Keynote: Xen 4.8 at Gandi - Vincent Legout, Gandi
XPDDS17: Keynote: Xen 4.8 at Gandi - Vincent Legout, GandiXPDDS17: Keynote: Xen 4.8 at Gandi - Vincent Legout, Gandi
XPDDS17: Keynote: Xen 4.8 at Gandi - Vincent Legout, GandiThe Linux Foundation
 
Project ACRN GVT-d introduction and tutorial
Project ACRN GVT-d introduction and tutorialProject ACRN GVT-d introduction and tutorial
Project ACRN GVT-d introduction and tutorialProject ACRN
 
ACRN vMeet-Up EU 2021 - Introduction and Architecture Look Forward
ACRN vMeet-Up EU 2021 - Introduction and Architecture Look ForwardACRN vMeet-Up EU 2021 - Introduction and Architecture Look Forward
ACRN vMeet-Up EU 2021 - Introduction and Architecture Look ForwardProject ACRN
 
Rmll Virtualization As Is Tool 20090707 V1.0
Rmll Virtualization As Is Tool 20090707 V1.0Rmll Virtualization As Is Tool 20090707 V1.0
Rmll Virtualization As Is Tool 20090707 V1.0guest72e8c1
 
Hardware supports for Virtualization
Hardware supports for VirtualizationHardware supports for Virtualization
Hardware supports for VirtualizationYoonje Choi
 

Was ist angesagt? (20)

XPDDS17: Virtualization at Huawei: Usage, Value-add and Challenges - Jinsong ...
XPDDS17: Virtualization at Huawei: Usage, Value-add and Challenges - Jinsong ...XPDDS17: Virtualization at Huawei: Usage, Value-add and Challenges - Jinsong ...
XPDDS17: Virtualization at Huawei: Usage, Value-add and Challenges - Jinsong ...
 
Building a KVM-based Hypervisor for a Heterogeneous System Architecture Compl...
Building a KVM-based Hypervisor for a Heterogeneous System Architecture Compl...Building a KVM-based Hypervisor for a Heterogeneous System Architecture Compl...
Building a KVM-based Hypervisor for a Heterogeneous System Architecture Compl...
 
KVM tools and enterprise usage
KVM tools and enterprise usageKVM tools and enterprise usage
KVM tools and enterprise usage
 
Demand-Based Coordinated Scheduling for SMP VMs
Demand-Based Coordinated Scheduling for SMP VMsDemand-Based Coordinated Scheduling for SMP VMs
Demand-Based Coordinated Scheduling for SMP VMs
 
Yabusame: postcopy live migration for qemu/kvm
Yabusame: postcopy live migration for qemu/kvmYabusame: postcopy live migration for qemu/kvm
Yabusame: postcopy live migration for qemu/kvm
 
5 kvm arm
5 kvm arm5 kvm arm
5 kvm arm
 
ACRN vMeet-Up EU 2021 - Real Time Management and Performance Optimization
ACRN vMeet-Up EU 2021 - Real Time Management and Performance OptimizationACRN vMeet-Up EU 2021 - Real Time Management and Performance Optimization
ACRN vMeet-Up EU 2021 - Real Time Management and Performance Optimization
 
ACRN vMeet-Up EU 2021 - shared memory based inter-vm communication introduction
ACRN vMeet-Up EU 2021 - shared memory based inter-vm communication introductionACRN vMeet-Up EU 2021 - shared memory based inter-vm communication introduction
ACRN vMeet-Up EU 2021 - shared memory based inter-vm communication introduction
 
ACRN vMeet-Up EU 2021 - Boot Process and Secure Boot
ACRN vMeet-Up EU 2021 - Boot Process and Secure BootACRN vMeet-Up EU 2021 - Boot Process and Secure Boot
ACRN vMeet-Up EU 2021 - Boot Process and Secure Boot
 
Xen Memory Management
Xen Memory ManagementXen Memory Management
Xen Memory Management
 
Project ACRN CPU sharing BVT scheduler in ACRN hypervisor
Project ACRN CPU sharing BVT scheduler in ACRN hypervisorProject ACRN CPU sharing BVT scheduler in ACRN hypervisor
Project ACRN CPU sharing BVT scheduler in ACRN hypervisor
 
Kvm setup
Kvm setupKvm setup
Kvm setup
 
ACRN Kata Container on ACRN
ACRN Kata Container on ACRNACRN Kata Container on ACRN
ACRN Kata Container on ACRN
 
Project ACRN hypervisor introduction
Project ACRN hypervisor introduction Project ACRN hypervisor introduction
Project ACRN hypervisor introduction
 
XPDDS18: The Art of Virtualizing Cache Maintenance - Julien Grall, Arm
XPDDS18: The Art of Virtualizing Cache Maintenance - Julien Grall, ArmXPDDS18: The Art of Virtualizing Cache Maintenance - Julien Grall, Arm
XPDDS18: The Art of Virtualizing Cache Maintenance - Julien Grall, Arm
 
XPDDS17: Keynote: Xen 4.8 at Gandi - Vincent Legout, Gandi
XPDDS17: Keynote: Xen 4.8 at Gandi - Vincent Legout, GandiXPDDS17: Keynote: Xen 4.8 at Gandi - Vincent Legout, Gandi
XPDDS17: Keynote: Xen 4.8 at Gandi - Vincent Legout, Gandi
 
Project ACRN GVT-d introduction and tutorial
Project ACRN GVT-d introduction and tutorialProject ACRN GVT-d introduction and tutorial
Project ACRN GVT-d introduction and tutorial
 
ACRN vMeet-Up EU 2021 - Introduction and Architecture Look Forward
ACRN vMeet-Up EU 2021 - Introduction and Architecture Look ForwardACRN vMeet-Up EU 2021 - Introduction and Architecture Look Forward
ACRN vMeet-Up EU 2021 - Introduction and Architecture Look Forward
 
Rmll Virtualization As Is Tool 20090707 V1.0
Rmll Virtualization As Is Tool 20090707 V1.0Rmll Virtualization As Is Tool 20090707 V1.0
Rmll Virtualization As Is Tool 20090707 V1.0
 
Hardware supports for Virtualization
Hardware supports for VirtualizationHardware supports for Virtualization
Hardware supports for Virtualization
 

Andere mochten auch

2010 11 psa montreal explanation and fundamentalism
2010 11 psa montreal explanation and fundamentalism2010 11 psa montreal explanation and fundamentalism
2010 11 psa montreal explanation and fundamentalismIoan Muntean
 
BKK16-304 The State of GDB on AArch64
BKK16-304 The State of GDB on AArch64BKK16-304 The State of GDB on AArch64
BKK16-304 The State of GDB on AArch64Linaro
 
HKG15-405: Redundant zero/sign-extension elimination in GCC
HKG15-405: Redundant zero/sign-extension elimination in GCCHKG15-405: Redundant zero/sign-extension elimination in GCC
HKG15-405: Redundant zero/sign-extension elimination in GCCLinaro
 
LAS16-301: OpenStack on Aarch64, running in production, upstream improvements...
LAS16-301: OpenStack on Aarch64, running in production, upstream improvements...LAS16-301: OpenStack on Aarch64, running in production, upstream improvements...
LAS16-301: OpenStack on Aarch64, running in production, upstream improvements...Linaro
 
20141111_SOS3_Gallo
20141111_SOS3_Gallo20141111_SOS3_Gallo
20141111_SOS3_GalloAndrea Gallo
 
BKK16-305B ILP32 Performance on AArch64
BKK16-305B ILP32 Performance on AArch64BKK16-305B ILP32 Performance on AArch64
BKK16-305B ILP32 Performance on AArch64Linaro
 
BKK16-504 Running Linux in EL2 Virtualization
BKK16-504 Running Linux in EL2 VirtualizationBKK16-504 Running Linux in EL2 Virtualization
BKK16-504 Running Linux in EL2 VirtualizationLinaro
 
HKG15-400: Next steps in KVM enablement on ARM
HKG15-400: Next steps in KVM enablement on ARMHKG15-400: Next steps in KVM enablement on ARM
HKG15-400: Next steps in KVM enablement on ARMLinaro
 
LCE12: LCE12 ARMv8 Plenary
LCE12: LCE12 ARMv8 PlenaryLCE12: LCE12 ARMv8 Plenary
LCE12: LCE12 ARMv8 PlenaryLinaro
 
Linux on ARM 64-bit Architecture
Linux on ARM 64-bit ArchitectureLinux on ARM 64-bit Architecture
Linux on ARM 64-bit ArchitectureRyo Jin
 
GCC for ARMv8 Aarch64
GCC for ARMv8 Aarch64GCC for ARMv8 Aarch64
GCC for ARMv8 Aarch64Yi-Hsiu Hsu
 
LAS16-500: The Rise and Fall of Assembler and the VGIC from Hell
LAS16-500: The Rise and Fall of Assembler and the VGIC from HellLAS16-500: The Rise and Fall of Assembler and the VGIC from Hell
LAS16-500: The Rise and Fall of Assembler and the VGIC from HellLinaro
 
Tree of quantum_mechanics2
Tree of quantum_mechanics2Tree of quantum_mechanics2
Tree of quantum_mechanics2thambaji
 
Introduction to armv8 aarch64
Introduction to armv8 aarch64Introduction to armv8 aarch64
Introduction to armv8 aarch64Yi-Hsiu Hsu
 
The britannica guide to relativity and quantum mechanics (physics explained)
The britannica guide to relativity and quantum mechanics (physics explained) The britannica guide to relativity and quantum mechanics (physics explained)
The britannica guide to relativity and quantum mechanics (physics explained) أحمد عبد القادر
 
SFO15-407: Performance Overhead of ARM Virtualization
SFO15-407: Performance Overhead of ARM VirtualizationSFO15-407: Performance Overhead of ARM Virtualization
SFO15-407: Performance Overhead of ARM VirtualizationLinaro
 
LAS16-200: SCMI - System Management and Control Interface
LAS16-200:  SCMI - System Management and Control InterfaceLAS16-200:  SCMI - System Management and Control Interface
LAS16-200: SCMI - System Management and Control InterfaceLinaro
 
Q4.11: Sched_mc on dual / quad cores
Q4.11: Sched_mc on dual / quad coresQ4.11: Sched_mc on dual / quad cores
Q4.11: Sched_mc on dual / quad coresLinaro
 
Android with OPTEE/SVP and Widevine
Android with OPTEE/SVP and WidevineAndroid with OPTEE/SVP and Widevine
Android with OPTEE/SVP and WidevineLinaro
 
HKG15-505: Power Management interactions with OP-TEE and Trusted Firmware
HKG15-505: Power Management interactions with OP-TEE and Trusted FirmwareHKG15-505: Power Management interactions with OP-TEE and Trusted Firmware
HKG15-505: Power Management interactions with OP-TEE and Trusted FirmwareLinaro
 

Andere mochten auch (20)

2010 11 psa montreal explanation and fundamentalism
2010 11 psa montreal explanation and fundamentalism2010 11 psa montreal explanation and fundamentalism
2010 11 psa montreal explanation and fundamentalism
 
BKK16-304 The State of GDB on AArch64
BKK16-304 The State of GDB on AArch64BKK16-304 The State of GDB on AArch64
BKK16-304 The State of GDB on AArch64
 
HKG15-405: Redundant zero/sign-extension elimination in GCC
HKG15-405: Redundant zero/sign-extension elimination in GCCHKG15-405: Redundant zero/sign-extension elimination in GCC
HKG15-405: Redundant zero/sign-extension elimination in GCC
 
LAS16-301: OpenStack on Aarch64, running in production, upstream improvements...
LAS16-301: OpenStack on Aarch64, running in production, upstream improvements...LAS16-301: OpenStack on Aarch64, running in production, upstream improvements...
LAS16-301: OpenStack on Aarch64, running in production, upstream improvements...
 
20141111_SOS3_Gallo
20141111_SOS3_Gallo20141111_SOS3_Gallo
20141111_SOS3_Gallo
 
BKK16-305B ILP32 Performance on AArch64
BKK16-305B ILP32 Performance on AArch64BKK16-305B ILP32 Performance on AArch64
BKK16-305B ILP32 Performance on AArch64
 
BKK16-504 Running Linux in EL2 Virtualization
BKK16-504 Running Linux in EL2 VirtualizationBKK16-504 Running Linux in EL2 Virtualization
BKK16-504 Running Linux in EL2 Virtualization
 
HKG15-400: Next steps in KVM enablement on ARM
HKG15-400: Next steps in KVM enablement on ARMHKG15-400: Next steps in KVM enablement on ARM
HKG15-400: Next steps in KVM enablement on ARM
 
LCE12: LCE12 ARMv8 Plenary
LCE12: LCE12 ARMv8 PlenaryLCE12: LCE12 ARMv8 Plenary
LCE12: LCE12 ARMv8 Plenary
 
Linux on ARM 64-bit Architecture
Linux on ARM 64-bit ArchitectureLinux on ARM 64-bit Architecture
Linux on ARM 64-bit Architecture
 
GCC for ARMv8 Aarch64
GCC for ARMv8 Aarch64GCC for ARMv8 Aarch64
GCC for ARMv8 Aarch64
 
LAS16-500: The Rise and Fall of Assembler and the VGIC from Hell
LAS16-500: The Rise and Fall of Assembler and the VGIC from HellLAS16-500: The Rise and Fall of Assembler and the VGIC from Hell
LAS16-500: The Rise and Fall of Assembler and the VGIC from Hell
 
Tree of quantum_mechanics2
Tree of quantum_mechanics2Tree of quantum_mechanics2
Tree of quantum_mechanics2
 
Introduction to armv8 aarch64
Introduction to armv8 aarch64Introduction to armv8 aarch64
Introduction to armv8 aarch64
 
The britannica guide to relativity and quantum mechanics (physics explained)
The britannica guide to relativity and quantum mechanics (physics explained) The britannica guide to relativity and quantum mechanics (physics explained)
The britannica guide to relativity and quantum mechanics (physics explained)
 
SFO15-407: Performance Overhead of ARM Virtualization
SFO15-407: Performance Overhead of ARM VirtualizationSFO15-407: Performance Overhead of ARM Virtualization
SFO15-407: Performance Overhead of ARM Virtualization
 
LAS16-200: SCMI - System Management and Control Interface
LAS16-200:  SCMI - System Management and Control InterfaceLAS16-200:  SCMI - System Management and Control Interface
LAS16-200: SCMI - System Management and Control Interface
 
Q4.11: Sched_mc on dual / quad cores
Q4.11: Sched_mc on dual / quad coresQ4.11: Sched_mc on dual / quad cores
Q4.11: Sched_mc on dual / quad cores
 
Android with OPTEE/SVP and Widevine
Android with OPTEE/SVP and WidevineAndroid with OPTEE/SVP and Widevine
Android with OPTEE/SVP and Widevine
 
HKG15-505: Power Management interactions with OP-TEE and Trusted Firmware
HKG15-505: Power Management interactions with OP-TEE and Trusted FirmwareHKG15-505: Power Management interactions with OP-TEE and Trusted Firmware
HKG15-505: Power Management interactions with OP-TEE and Trusted Firmware
 

Ähnlich wie ARM-KVM: Weather Report

Storage-Performance-Tuning-for-FAST-Virtual-Machines_Fam-Zheng.pdf
Storage-Performance-Tuning-for-FAST-Virtual-Machines_Fam-Zheng.pdfStorage-Performance-Tuning-for-FAST-Virtual-Machines_Fam-Zheng.pdf
Storage-Performance-Tuning-for-FAST-Virtual-Machines_Fam-Zheng.pdfaaajjj4
 
5. IO virtualization
5. IO virtualization5. IO virtualization
5. IO virtualizationHwanju Kim
 
Advanced performance troubleshooting using esxtop
Advanced performance troubleshooting using esxtopAdvanced performance troubleshooting using esxtop
Advanced performance troubleshooting using esxtopAlan Renouf
 
Virtualization Technology Overview
Virtualization Technology OverviewVirtualization Technology Overview
Virtualization Technology OverviewOpenCity Community
 
Kvm performance optimization for ubuntu
Kvm performance optimization for ubuntuKvm performance optimization for ubuntu
Kvm performance optimization for ubuntuSim Janghoon
 
Achieving the Ultimate Performance with KVM
Achieving the Ultimate Performance with KVMAchieving the Ultimate Performance with KVM
Achieving the Ultimate Performance with KVMdata://disrupted®
 
Achieving the Ultimate Performance with KVM
Achieving the Ultimate Performance with KVMAchieving the Ultimate Performance with KVM
Achieving the Ultimate Performance with KVMDevOps.com
 
Libvirt/KVM Driver Update (Kilo)
Libvirt/KVM Driver Update (Kilo)Libvirt/KVM Driver Update (Kilo)
Libvirt/KVM Driver Update (Kilo)Stephen Gordon
 
Buiding a better Userspace - The current and future state of QEMU and KVM int...
Buiding a better Userspace - The current and future state of QEMU and KVM int...Buiding a better Userspace - The current and future state of QEMU and KVM int...
Buiding a better Userspace - The current and future state of QEMU and KVM int...aliguori
 
Kvm and libvirt
Kvm and libvirtKvm and libvirt
Kvm and libvirtplarsen67
 
AsiaBSDCon2023 - Hardening Emulated Devices in OpenBSD’s vmd(8) Hypervisor
AsiaBSDCon2023 - Hardening Emulated Devices in OpenBSD’s vmd(8) HypervisorAsiaBSDCon2023 - Hardening Emulated Devices in OpenBSD’s vmd(8) Hypervisor
AsiaBSDCon2023 - Hardening Emulated Devices in OpenBSD’s vmd(8) HypervisorDave Voutila
 
XPDS14: Xen 4.5 Roadmap - Konrad Wilk, Oracle
XPDS14: Xen 4.5 Roadmap - Konrad Wilk, OracleXPDS14: Xen 4.5 Roadmap - Konrad Wilk, Oracle
XPDS14: Xen 4.5 Roadmap - Konrad Wilk, OracleThe Linux Foundation
 
OffensiveCon2022: Case Studies of Fuzzing with Xen
OffensiveCon2022: Case Studies of Fuzzing with XenOffensiveCon2022: Case Studies of Fuzzing with Xen
OffensiveCon2022: Case Studies of Fuzzing with XenTamas K Lengyel
 
Virtualization in cloud
Virtualization in cloudVirtualization in cloud
Virtualization in cloudAshok Kumar
 
Joyent's Bryan Cantrill: Experiences Porting KVM to SmartOS at KVM Forum, Aug...
Joyent's Bryan Cantrill: Experiences Porting KVM to SmartOS at KVM Forum, Aug...Joyent's Bryan Cantrill: Experiences Porting KVM to SmartOS at KVM Forum, Aug...
Joyent's Bryan Cantrill: Experiences Porting KVM to SmartOS at KVM Forum, Aug...Peter Tripp
 
Experiences porting KVM to SmartOS
Experiences porting KVM to SmartOSExperiences porting KVM to SmartOS
Experiences porting KVM to SmartOSbcantrill
 

Ähnlich wie ARM-KVM: Weather Report (20)

Storage-Performance-Tuning-for-FAST-Virtual-Machines_Fam-Zheng.pdf
Storage-Performance-Tuning-for-FAST-Virtual-Machines_Fam-Zheng.pdfStorage-Performance-Tuning-for-FAST-Virtual-Machines_Fam-Zheng.pdf
Storage-Performance-Tuning-for-FAST-Virtual-Machines_Fam-Zheng.pdf
 
5. IO virtualization
5. IO virtualization5. IO virtualization
5. IO virtualization
 
Advanced performance troubleshooting using esxtop
Advanced performance troubleshooting using esxtopAdvanced performance troubleshooting using esxtop
Advanced performance troubleshooting using esxtop
 
Xen revisited
Xen revisitedXen revisited
Xen revisited
 
Virtualization Technology Overview
Virtualization Technology OverviewVirtualization Technology Overview
Virtualization Technology Overview
 
Kvm performance optimization for ubuntu
Kvm performance optimization for ubuntuKvm performance optimization for ubuntu
Kvm performance optimization for ubuntu
 
Achieving the Ultimate Performance with KVM
Achieving the Ultimate Performance with KVMAchieving the Ultimate Performance with KVM
Achieving the Ultimate Performance with KVM
 
Achieving the Ultimate Performance with KVM
Achieving the Ultimate Performance with KVMAchieving the Ultimate Performance with KVM
Achieving the Ultimate Performance with KVM
 
Libvirt/KVM Driver Update (Kilo)
Libvirt/KVM Driver Update (Kilo)Libvirt/KVM Driver Update (Kilo)
Libvirt/KVM Driver Update (Kilo)
 
Buiding a better Userspace - The current and future state of QEMU and KVM int...
Buiding a better Userspace - The current and future state of QEMU and KVM int...Buiding a better Userspace - The current and future state of QEMU and KVM int...
Buiding a better Userspace - The current and future state of QEMU and KVM int...
 
Kvm and libvirt
Kvm and libvirtKvm and libvirt
Kvm and libvirt
 
AsiaBSDCon2023 - Hardening Emulated Devices in OpenBSD’s vmd(8) Hypervisor
AsiaBSDCon2023 - Hardening Emulated Devices in OpenBSD’s vmd(8) HypervisorAsiaBSDCon2023 - Hardening Emulated Devices in OpenBSD’s vmd(8) Hypervisor
AsiaBSDCon2023 - Hardening Emulated Devices in OpenBSD’s vmd(8) Hypervisor
 
virtual machine.ppt
virtual machine.pptvirtual machine.ppt
virtual machine.ppt
 
RMLL / LSM 2009
RMLL / LSM 2009RMLL / LSM 2009
RMLL / LSM 2009
 
XPDS14: Xen 4.5 Roadmap - Konrad Wilk, Oracle
XPDS14: Xen 4.5 Roadmap - Konrad Wilk, OracleXPDS14: Xen 4.5 Roadmap - Konrad Wilk, Oracle
XPDS14: Xen 4.5 Roadmap - Konrad Wilk, Oracle
 
WAN - trends and use cases
WAN - trends and use casesWAN - trends and use cases
WAN - trends and use cases
 
OffensiveCon2022: Case Studies of Fuzzing with Xen
OffensiveCon2022: Case Studies of Fuzzing with XenOffensiveCon2022: Case Studies of Fuzzing with Xen
OffensiveCon2022: Case Studies of Fuzzing with Xen
 
Virtualization in cloud
Virtualization in cloudVirtualization in cloud
Virtualization in cloud
 
Joyent's Bryan Cantrill: Experiences Porting KVM to SmartOS at KVM Forum, Aug...
Joyent's Bryan Cantrill: Experiences Porting KVM to SmartOS at KVM Forum, Aug...Joyent's Bryan Cantrill: Experiences Porting KVM to SmartOS at KVM Forum, Aug...
Joyent's Bryan Cantrill: Experiences Porting KVM to SmartOS at KVM Forum, Aug...
 
Experiences porting KVM to SmartOS
Experiences porting KVM to SmartOSExperiences porting KVM to SmartOS
Experiences porting KVM to SmartOS
 

Mehr von Samsung Open Source Group

The Complex IoT Equation (and FLOSS solutions)
The Complex IoT Equation (and FLOSS solutions)The Complex IoT Equation (and FLOSS solutions)
The Complex IoT Equation (and FLOSS solutions)Samsung Open Source Group
 
Rapid SPi Device Driver Development over USB
Rapid SPi Device Driver Development over USBRapid SPi Device Driver Development over USB
Rapid SPi Device Driver Development over USBSamsung Open Source Group
 
Tizen RT: A Lightweight RTOS Platform for Low-End IoT Devices
Tizen RT: A Lightweight RTOS Platform for Low-End IoT DevicesTizen RT: A Lightweight RTOS Platform for Low-End IoT Devices
Tizen RT: A Lightweight RTOS Platform for Low-End IoT DevicesSamsung Open Source Group
 
IoTivity: Smart Home to Automotive and Beyond
IoTivity: Smart Home to Automotive and BeyondIoTivity: Smart Home to Automotive and Beyond
IoTivity: Smart Home to Automotive and BeyondSamsung Open Source Group
 
IoTivity for Automotive: meta-ocf-automotive tutorial
IoTivity for Automotive: meta-ocf-automotive tutorialIoTivity for Automotive: meta-ocf-automotive tutorial
IoTivity for Automotive: meta-ocf-automotive tutorialSamsung Open Source Group
 
Open Source Metrics to Inform Corporate Strategy
Open Source Metrics to Inform Corporate StrategyOpen Source Metrics to Inform Corporate Strategy
Open Source Metrics to Inform Corporate StrategySamsung Open Source Group
 
IoTivity for Automotive IoT Interoperability
IoTivity for Automotive IoT InteroperabilityIoTivity for Automotive IoT Interoperability
IoTivity for Automotive IoT InteroperabilitySamsung Open Source Group
 
JerryScript: An ultra-lighteweight JavaScript Engine for the Internet of Thin...
JerryScript: An ultra-lighteweight JavaScript Engine for the Internet of Thin...JerryScript: An ultra-lighteweight JavaScript Engine for the Internet of Thin...
JerryScript: An ultra-lighteweight JavaScript Engine for the Internet of Thin...Samsung Open Source Group
 
Adding IEEE 802.15.4 and 6LoWPAN to an Embedded Linux Device
Adding IEEE 802.15.4 and 6LoWPAN to an Embedded Linux DeviceAdding IEEE 802.15.4 and 6LoWPAN to an Embedded Linux Device
Adding IEEE 802.15.4 and 6LoWPAN to an Embedded Linux DeviceSamsung Open Source Group
 
IoT: From Arduino Microcontrollers to Tizen Products using IoTivity
IoT: From Arduino Microcontrollers to Tizen Products using IoTivityIoT: From Arduino Microcontrollers to Tizen Products using IoTivity
IoT: From Arduino Microcontrollers to Tizen Products using IoTivitySamsung Open Source Group
 
Practical Guide to Run an IEEE 802.15.4 Network with 6LoWPAN Under Linux
Practical Guide to Run an IEEE 802.15.4 Network with 6LoWPAN Under LinuxPractical Guide to Run an IEEE 802.15.4 Network with 6LoWPAN Under Linux
Practical Guide to Run an IEEE 802.15.4 Network with 6LoWPAN Under LinuxSamsung Open Source Group
 
IoTivity Tutorial: Prototyping IoT Devices on GNU/Linux
IoTivity Tutorial: Prototyping IoT Devices on GNU/LinuxIoTivity Tutorial: Prototyping IoT Devices on GNU/Linux
IoTivity Tutorial: Prototyping IoT Devices on GNU/LinuxSamsung Open Source Group
 
JerryScript: An ultra-lighteweight JavaScript Engine for the Internet of Things
JerryScript: An ultra-lighteweight JavaScript Engine for the Internet of ThingsJerryScript: An ultra-lighteweight JavaScript Engine for the Internet of Things
JerryScript: An ultra-lighteweight JavaScript Engine for the Internet of ThingsSamsung Open Source Group
 

Mehr von Samsung Open Source Group (20)

The Complex IoT Equation (and FLOSS solutions)
The Complex IoT Equation (and FLOSS solutions)The Complex IoT Equation (and FLOSS solutions)
The Complex IoT Equation (and FLOSS solutions)
 
Easy IoT with JavaScript
Easy IoT with JavaScriptEasy IoT with JavaScript
Easy IoT with JavaScript
 
Spawny: A New Approach to Logins
Spawny: A New Approach to LoginsSpawny: A New Approach to Logins
Spawny: A New Approach to Logins
 
Rapid SPi Device Driver Development over USB
Rapid SPi Device Driver Development over USBRapid SPi Device Driver Development over USB
Rapid SPi Device Driver Development over USB
 
Tizen RT: A Lightweight RTOS Platform for Low-End IoT Devices
Tizen RT: A Lightweight RTOS Platform for Low-End IoT DevicesTizen RT: A Lightweight RTOS Platform for Low-End IoT Devices
Tizen RT: A Lightweight RTOS Platform for Low-End IoT Devices
 
IoTivity: Smart Home to Automotive and Beyond
IoTivity: Smart Home to Automotive and BeyondIoTivity: Smart Home to Automotive and Beyond
IoTivity: Smart Home to Automotive and Beyond
 
IoTivity for Automotive: meta-ocf-automotive tutorial
IoTivity for Automotive: meta-ocf-automotive tutorialIoTivity for Automotive: meta-ocf-automotive tutorial
IoTivity for Automotive: meta-ocf-automotive tutorial
 
GENIVI + OCF Cooperation
GENIVI + OCF CooperationGENIVI + OCF Cooperation
GENIVI + OCF Cooperation
 
Framework for IoT Interoperability
Framework for IoT InteroperabilityFramework for IoT Interoperability
Framework for IoT Interoperability
 
Open Source Metrics to Inform Corporate Strategy
Open Source Metrics to Inform Corporate StrategyOpen Source Metrics to Inform Corporate Strategy
Open Source Metrics to Inform Corporate Strategy
 
IoTivity for Automotive IoT Interoperability
IoTivity for Automotive IoT InteroperabilityIoTivity for Automotive IoT Interoperability
IoTivity for Automotive IoT Interoperability
 
JerryScript: An ultra-lighteweight JavaScript Engine for the Internet of Thin...
JerryScript: An ultra-lighteweight JavaScript Engine for the Internet of Thin...JerryScript: An ultra-lighteweight JavaScript Engine for the Internet of Thin...
JerryScript: An ultra-lighteweight JavaScript Engine for the Internet of Thin...
 
Adding IEEE 802.15.4 and 6LoWPAN to an Embedded Linux Device
Adding IEEE 802.15.4 and 6LoWPAN to an Embedded Linux DeviceAdding IEEE 802.15.4 and 6LoWPAN to an Embedded Linux Device
Adding IEEE 802.15.4 and 6LoWPAN to an Embedded Linux Device
 
IoTivity: From Devices to the Cloud
IoTivity: From Devices to the CloudIoTivity: From Devices to the Cloud
IoTivity: From Devices to the Cloud
 
SOSCON 2016 JerryScript
SOSCON 2016 JerryScriptSOSCON 2016 JerryScript
SOSCON 2016 JerryScript
 
IoT: From Arduino Microcontrollers to Tizen Products using IoTivity
IoT: From Arduino Microcontrollers to Tizen Products using IoTivityIoT: From Arduino Microcontrollers to Tizen Products using IoTivity
IoT: From Arduino Microcontrollers to Tizen Products using IoTivity
 
Run Your Own 6LoWPAN Based IoT Network
Run Your Own 6LoWPAN Based IoT NetworkRun Your Own 6LoWPAN Based IoT Network
Run Your Own 6LoWPAN Based IoT Network
 
Practical Guide to Run an IEEE 802.15.4 Network with 6LoWPAN Under Linux
Practical Guide to Run an IEEE 802.15.4 Network with 6LoWPAN Under LinuxPractical Guide to Run an IEEE 802.15.4 Network with 6LoWPAN Under Linux
Practical Guide to Run an IEEE 802.15.4 Network with 6LoWPAN Under Linux
 
IoTivity Tutorial: Prototyping IoT Devices on GNU/Linux
IoTivity Tutorial: Prototyping IoT Devices on GNU/LinuxIoTivity Tutorial: Prototyping IoT Devices on GNU/Linux
IoTivity Tutorial: Prototyping IoT Devices on GNU/Linux
 
JerryScript: An ultra-lighteweight JavaScript Engine for the Internet of Things
JerryScript: An ultra-lighteweight JavaScript Engine for the Internet of ThingsJerryScript: An ultra-lighteweight JavaScript Engine for the Internet of Things
JerryScript: An ultra-lighteweight JavaScript Engine for the Internet of Things
 

Kürzlich hochgeladen

MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based projectAnoyGreter
 
Post Quantum Cryptography – The Impact on Identity
Post Quantum Cryptography – The Impact on IdentityPost Quantum Cryptography – The Impact on Identity
Post Quantum Cryptography – The Impact on Identityteam-WIBU
 
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)jennyeacort
 
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanySuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanyChristoph Pohl
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfAlina Yurenko
 
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Cizo Technology Services
 
Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Velvetech LLC
 
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...OnePlan Solutions
 
Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...Rob Geurden
 
PREDICTING RIVER WATER QUALITY ppt presentation
PREDICTING  RIVER  WATER QUALITY  ppt presentationPREDICTING  RIVER  WATER QUALITY  ppt presentation
PREDICTING RIVER WATER QUALITY ppt presentationvaddepallysandeep122
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaHanief Utama
 
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...Natan Silnitsky
 
Xen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdfXen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdfStefano Stabellini
 
Sending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdfSending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdf31events.com
 
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...confluent
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsAhmed Mohamed
 
SensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving CarsSensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving CarsChristian Birchler
 
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024StefanoLambiase
 
SpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at RuntimeSpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at Runtimeandrehoraa
 
Powering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data StreamsPowering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data StreamsSafe Software
 

Kürzlich hochgeladen (20)

MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based project
 
Post Quantum Cryptography – The Impact on Identity
Post Quantum Cryptography – The Impact on IdentityPost Quantum Cryptography – The Impact on Identity
Post Quantum Cryptography – The Impact on Identity
 
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
 
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanySuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
 
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
 
Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...
 
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
 
Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...
 
PREDICTING RIVER WATER QUALITY ppt presentation
PREDICTING  RIVER  WATER QUALITY  ppt presentationPREDICTING  RIVER  WATER QUALITY  ppt presentation
PREDICTING RIVER WATER QUALITY ppt presentation
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief Utama
 
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
 
Xen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdfXen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdf
 
Sending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdfSending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdf
 
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML Diagrams
 
SensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving CarsSensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving Cars
 
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
 
SpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at RuntimeSpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at Runtime
 
Powering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data StreamsPowering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data Streams
 

ARM-KVM: Weather Report

  • 1. 1Samsung Open Source Group ARM-KVM: Weather Report Korea Linux Forum Mario Smarduch Samsung Open Source Group Senior Virtualization Architect m.smarduch@samsung.com
  • 2. 2Samsung Open Source Group ARM-KVM This Year Key contributors Linaro, ARM Access to documentation & specialized HW an issue ARM64 subtree – 12+ hw vendors Some of the new features added since last year: • QEMU/Guest – cache-coherency resolved • GICv2m – interrupt controller (GICv3 spec not public) • Device Pass-through • Virtual Platforms with kernel platform selection • 16-k page size support • Guest Debug Support
  • 3. 3Samsung Open Source Group What is KVM?
  • 4. 4Samsung Open Source Group Where is KVM in the Cloud? Host Kernel, KVM Module, QEMU, and Guest working together • Kernel – KVM reuses kernel MMU, synch, scheduling, timers, interrupts, etc. • Kernel matures – KVM reuses • KVM - runs vCPU loop, traps/fix/resume guest, emulate • QEMU/Kvmtool – platform emulation, Guest Management, I/O • Guest – kernel, disk image, I/O – unaware of virtual platforms
  • 5. 5Samsung Open Source Group vCPU Scheduling
  • 6. 6Samsung Open Source Group vCPU Scheduling Physical CPU – can be in host or guest mode • Guest mode uses HW Extension support Guest CPU – its a thread in Guest mode aka vCPU Transitions • Host > Guest a VM Enter - save host, load guest context • Guest > Host a VM Exit - save guest, restore host, resolve exit, and later VM Enter vCPUs are threads so you can: • Use taskset, chrt, numactl, ps • Use KVM to leverage kernel scheduler code for preempt notifiers and vCPU scheduling
  • 7. 7Samsung Open Source Group NFV Example LTE Network Element - Isolation
  • 8. 8Samsung Open Source Group Guest Memory Management
  • 9. 9Samsung Open Source Group Guest Memory Management QEMU backs guest memory with mmap() region • Register QEMU VA/GPA range with KVM Guest access – 2nd stage fault • KVM – (1) GPA > QEMU VA > get a page > update 2nd stage, QEMU • Guest resolves stage 1 4 – tables • QEMU process, Kernel, 1st, 2nd stage tables KVM leverages kernel MMU code • paging, mmu notifiers, page allocation, and topology (flat, numa)
  • 10. 10Samsung Open Source Group I/O Virtio – Dominant in cloud • QEMU/Guest map the same memory • Tx, Rx, Ctrl – Virt-Qs used • QEMU translates GPA to/from QEMU VA QEMU MT – vCPUs + IO Thread(s) • IO thead – frontend – virt-q & backend host OS transport
  • 11. 11Samsung Open Source Group KVM vCPU Loop
  • 12. 12Samsung Open Source Group KVM in the Cloud
  • 13. 13Samsung Open Source Group KVM in the Cloud IaaS Admin – Compute node provides access to • Create private/public networks • Install Images, create block storage • Backend/mgmt network access QEMU/KVM on Compute node • Cloud Controller interfaces with Libvirt • Libvirt launches guest, QEMU, and Image • Virtio: attached nework, storage • Libvirt uses QMP for QEMU mgmt • halt, mem balloon – infl/defl
  • 14. 14Samsung Open Source Group ARM64 Memory Refresh Register Set Basic Procedure Call Exception Model
  • 15. 15Samsung Open Source Group ARM64 Memory Refresh Bit Width and Exceptions Address Size
  • 16. 16Samsung Open Source Group ARM and x86
  • 17. 17Samsung Open Source Group Guest/QEMU Coherency
  • 18. 18Samsung Open Source Group Guest/QEMU Coherency Blocked progress for some areas Strict guest device attributes prevail • Dealing with normal memory • Devices break emulation • Driver observes device, QEMU memory attr. • In-coherent view LCD • Guest updates not observed by QEMU
  • 19. 19Samsung Open Source Group An Issue with Coherency Flash emulation broke • Reads from memory • Writes mmio unlock/write/lock • QEMU/Guest coherency issue • Several attempts to resolve include using fake guest attributes, modifying QEMU MMU • KVM Forum Solution - Expose devices as DMA cacheable
  • 20. 20Samsung Open Source Group Interrupts High Level Host QEMU Guest Device Emulation Injects Interrupts Emulated IO Interrupt Controller Per INTID - CPU target reg - Level/Trig - Dis/Ena - Grp 0/1 S/NS CPU Interface – HW Extensions VFIO Int Ack, EOIR, RPR, PMR
  • 21. 21Samsung Open Source Group Interrupts ARM GICv2 interrupt IDs 16 - SGI, 16 - PPI, 992 – SPI • Interrupt Space Limited, no MSI support MSI/MSI-x • MSI up to 32 interrupts/function – address/data • MSI-x table up to 2048 entries address/data per entry • Edge triggered - re-enable delivery on device • Interrupt source identified easily • Messages instead of hw lines • Devices can target many CPUs & vectors. E.g. 8- CPUs, 128-Int IDs
  • 22. 22Samsung Open Source Group GICv2m MSI/MSI-x – using SPIs • Up to 32-clusters 8 CPUs/cluster • Affinity Routing enabled to target CPUs • Generate MSI/MSIx peripheral writes – using SPIs • GICD_{SET|CLR}SPI_NSR – • Few other regs to program
  • 23. 23Samsung Open Source Group GICv2m MSI/MSI-x – using LPIs • Interrupt Translation Services • Huge LPI space of 57K+ interrupt IDs • GITS_TRANSLATER – dev id + LPI id – generate INTID • Device can target many CPUs & vectors. E.g. 16- CPUs, 128-Int IDs each • ITS – Guest programs peripherals directly • ITS translates from virt interrupt id to phys interrupt id • KVM injects virt interrupt • For Guest support must emulate Re-Dis, ITS, & Distributor
  • 24. 24Samsung Open Source Group GICv2m
  • 25. 25Samsung Open Source Group Device Pass-Through Device pass through using – PCI • PCI pass through – ‘device vfio- pci,host=xx.xx.xx’ QEMU • Reads device PCI Config from kernel i.e xx.xx.xx • Qemu Picks B/D/F programs it • Guest enumerates – accesses PCI Config • Maps memory – BARs i.e. 2nd stage • IOMMU – guest memory • Sets up interrupts
  • 26. 26Samsung Open Source Group Device Pass-Through Device Pass Through using device tree • -device vfio-<device name> • QEMU enhancements • Add device handler – handle – device option • Gather device info – create node • Add to Guest device tree • Guest parses and accesses device • From node – i.e. mmio regions, irq, .. • SMMU map guest • Setup interrupt pass through
  • 27. 27Samsung Open Source Group Virt Machine Model -M virt • Kernel builds against “Dummy Virtual Machine” – ARCH_VIRT • Supports arm32/arm64 guests Instantiates a FDT, no need to pass dtb file Defines physical map for • Flash – bios • GICv2, GICv2m, GCIv3UART, RTC • Platform bus device pass-through • UART • Builds ACPI tables i.e. hw discovery
  • 28. 28Samsung Open Source Group Virt Machine Model virtio_mmio: for virtio transport enable virtio-mmio in kernel • The backend is agnostic to transport • The guest finds mmio transport
  • 29. 29Samsung Open Source Group Virt Machine Model Boot loaders for arm32/arm64 • Tiny boot loader support • Will boot an Image, Image.gz, zImage, uImage • quick boot • Few devices emulated - low mmio exits
  • 30. 30Samsung Open Source Group Several Page Sizes 4K, 64K – page sizes • Huge page – 2MB, 512MB Now 16K page size – added • Huge Page – 32MB More flexibility in the future • 4k guest on 64k host – without huge pages • Or 16k page guest • Good for TLBs
  • 31. 31Samsung Open Source Group Several Page Sizes Live migration & dirty page logging • 64k hosts are a good option due to less memory copy
  • 32. 32Samsung Open Source Group Guest Debug Support QEMU EL1 HW BKPKT HW VALUE WP BKPKT WP VALUE EL1 Regs gdb Host Guest Guest KVM - Set hw bpkt - Set wp - SS vmlinux
  • 33. 33Samsung Open Source Group Guest Debug Support QEMU has a gdb server (connect -gdb tcp::… , -S stop cpu) • gdb <vmlinux> > connect remote:… Hyp debug support extensions to trap on debug events Arm64 provides a variety of self hosted debug regs • Paired HW control and value registers • Control – VA, CONTEXID/VMID match • Value reg – VA, VMID, CONTEXID • Paired watch point control and value regs • Control – on load/store, byte selects • Value – VA • Single Stepping – PSTATE, debug control reg.
  • 34. 34Samsung Open Source Group Guest Debug Support Complex integration into QEMU gdb server infrastructure • Accept SS, bkpt, watch point commands • Take debug exit on bpkt and return state to QEMU • Handle concurrent guest/host QEMU debug
  • 35. 35Samsung Open Source Group Questions?
  • 36. 36Samsung Open Source Group Thank You! Mario Smarduch Samsung Open Source Group Senior Virtualization Architect m.smarduch@samsung.com