1© 2015 SAMSUNG Electronics Co.Open Source Group – Silicon Valley IOMMU Event Tracing – What It Is and How It Can Help Your Distro?Shuah Khan – Sr
10© 2015 SAMSUNG Electronics Co.Open Source Group – Silicon Valley Device assigned to hostHostGuest
11© 2015 SAMSUNG Electronics Co.Open Source Group – Silicon Valley Device detached from hostHostGuest
12© 2015 SAMSUNG Electronics Co.Open Source Group – Silicon Valley Device assigned to guestHostGuest
13© 2015 SAMSUNG Electronics Co.Open Source Group – Silicon Valley IOMMU Event Tracing - classes IOMMU group class events:Add device to IOMMU group.R
14© 2015 SAMSUNG Electronics Co.Open Source Group – Silicon Valley IOMMU Event Tracing – group class eventsAdd device to a group:Format: IOMMU: group
15© 2015 SAMSUNG Electronics Co.Open Source Group – Silicon Valley IOMMU Event Tracing – device class eventsAttach (add) device to a domain:Format: I
16© 2015 SAMSUNG Electronics Co.Open Source Group – Silicon Valley IOMMU Event Tracing – map and unmap eventsIOMMU Map:Format: IOMMU: iova=0x%016llx
17© 2015 SAMSUNG Electronics Co.Open Source Group – Silicon Valley IOMMU Event Tracing – error class eventsIO Page Fault (AMD-Vi)Format: IOMMU:%s %s
18© 2015 SAMSUNG Electronics Co.Open Source Group – Silicon Valley How to enable IOMMU tracing at boot-time?Using Kernel boot option trace_event:The
19© 2015 SAMSUNG Electronics Co.Open Source Group – Silicon Valley How to enable IOMMU tracing at run-time?Enable single event:cd /sys/kernel/debug/t
2© 2015 SAMSUNG Electronics Co.Open Source Group – Silicon Valley AbstractIOMMU event tracing feature enables reporting IOMMU events as theyhappen du
20© 2015 SAMSUNG Electronics Co.Open Source Group – Silicon Valley Where are those traces?/sys/kernel/debug/tracing/trace# tracer: nop## entries-in-b
21© 2015 SAMSUNG Electronics Co.Open Source Group – Silicon Valley What do IOMMU group event traces look like?# tracer: nop## entries-in-buffer/entri
22© 2015 SAMSUNG Electronics Co.Open Source Group – Silicon Valley What does lspci show?00:00.0 Host bridge: Intel Corporation 4th Gen Core Processor
23© 2015 SAMSUNG Electronics Co.Open Source Group – Silicon Valley IOMMU groups and device topologyGroupID=0Device=0000:00:00.0Host bridge:DRAM Contr
24© 2015 SAMSUNG Electronics Co.Open Source Group – Silicon Valley What do IOMMU device event traces look like?# tracer: nop## entries-in-buffer/entr
25© 2015 SAMSUNG Electronics Co.Open Source Group – Silicon Valley What do IOMMU map/unmap event traces look like?# tracer: nop## entries-in-buffer/e
26© 2015 SAMSUNG Electronics Co.Open Source Group – Silicon Valley Great we have traces! What now?Using traces to solve problems...
27© 2015 SAMSUNG Electronics Co.Open Source Group – Silicon Valley Using traces -----Get insight into:IOMMU device topology – which devices belong to
28© 2015 SAMSUNG Electronics Co.Open Source Group – Silicon Valley VFIO based device assignment use-caseAlex Williamson enabled run-time IOMMU traces
29© 2015 SAMSUNG Electronics Co.Open Source Group – Silicon Valley Result - VFIO patch series to fix problems!Alex was able to:Reduce the number of u
3© 2015 SAMSUNG Electronics Co.Open Source Group – Silicon Valley AgendaWhat is an IOMMU?What does IOMMU do for us?IOMMU referencesIOMMU groups – dev
30© 2015 SAMSUNG Electronics Co.Open Source Group – Silicon Valley Result - Improvements to IOMMU tracing featureAlex found a few bugs and suggested
31© 2015 SAMSUNG Electronics Co.Open Source Group – Silicon Valley AcknowledgementsSpecial thanks to Alex Williamson:for generating traces for VFIO b
32© 2015 SAMSUNG Electronics Co.Open Source Group – Silicon Valley IOMMU ReferencesUtilizing IOMMUs for Virtualization in Linux and Xen, Multiple Aut
33© 2015 SAMSUNG Electronics Co.Open Source Group – Silicon Valley Thank you.
34© 2014 SAMSUNG Electronics Co.Open Source Group – Silicon Valley IOMMUIOMMU lookups Device address0xf000Physical address0xf00bar000000Host
35© 2014 SAMSUNG Electronics Co.Open Source Group – Silicon Valley Server 32-coresVM 1driverVM 2driverVM 3driverVM 4driverStandard NIC Standard NIC S
36© 2014 SAMSUNG Electronics Co.Open Source Group – Silicon Valley Virtual Device AssignmentServer 32-coresVM 1driverVM 2driverVM 3V-NICVM 4V-NICSR-I
4© 2015 SAMSUNG Electronics Co.Open Source Group – Silicon Valley What is an IOMMU?I/O Memory Management Unit:Translation - maps device (I/O) address
5© 2015 SAMSUNG Electronics Co.Open Source Group – Silicon Valley IO Memory Management Unit – maps device addresses to physical addresses
6© 2015 SAMSUNG Electronics Co.Open Source Group – Silicon Valley What does IOMMU do for us?Advantages:One single contiguous virtual memory region ca
7© 2015 SAMSUNG Electronics Co.Open Source Group – Silicon Valley IOMMU groups – device isolationSingle device isolation is not possible in some case
8© 2015 SAMSUNG Electronics Co.Open Source Group – Silicon Valley IOMMUDevice isolation at port granularity – Not!!!
9© 2015 SAMSUNG Electronics Co.Open Source Group – Silicon Valley IOMMU domains - protectionDomains provide protection against one guest VM corruptin
Commentaires sur ces manuels