Xen on ARM
A success story
Stefano Stabellini - Citrix Xen Project Team
Xen on ARM A success story Stefano Stabellini - Citrix Xen Project - - PowerPoint PPT Presentation
Xen on ARM A success story Stefano Stabellini - Citrix Xen Project Team Achievements of one year Xen support for ARM Xen 64-bit Xen support for ARM64 upstream in Linux 3.7 on ARM64 upstream in Linux 3.11 You are here 11/11 08/12 09/12
A success story
Stefano Stabellini - Citrix Xen Project Team
11/11 08/12 11/12 03/13 07/13 First Xen on ARM talk at Xen Summit 2012 Xen support for ARM upstream in Linux 3.7 Xen running on real ARM hardware 09/12 Xen 64-bit
01/13 Citrix announces that will be joining Linaro Xen support for ARM64 upstream in Linux 3.11 06/13 Xen 4.3 released with ARM and ARM64 support Part-time Xen ARM hacking starts You are here
Xen-devel ARM traffic from August 2012:
Upstream:
In progress:
Xen v4.3:
Linux v3.11:
virtual address physical address machine address hardware
Linux Xen 2 stage 1 Stage
virtual address physical address machine address Device DMA
Linux Xen 2 stage 1 Stage
virtual address physical address machine address Device DMA
IOMMU MMU Linux Xen 2 stage
virtual address physical address = machine address Device DMA
Linux Xen
mappings
UNHAPPY
virtual address physical address machine address Device DMA
DMA ops MMU Linux
○ create a contiguous buffer in machine memory ○ retrieve the machine address of the buffer
STILL UNHAPPY
pin and unpin hypercalls:
map_page XENMEM_pin pin pfn pfn mfn mfn
Xen
○ guest virtual to machine ○ guest physical to machine
cpu utilization increase
NOT AN IMPROVEMENT
○ dom0 without ballooning and page sharing is the default configuration in XenServer x86 today
foreign grants
○ we already know the p2m mappings of grants ■ no need for pin and unpin hypercalls ○ can take shortcuts: avoid many tree lookups ○ tree lookups are much faster ○ avoidable with IOMMU support
Testing platform:
Benchmark results:
rate)
THAT’S BETTER
The patches (swiotlb-xen v8):
http://marc.info/?l=linux-kernel&m=138203180707683&w=2
The kernel tree:
git://git.kernel.org/pub/scm/linux/kernel/git/sstabellini/xen.git swiotlb-xen-8