SlideShare uma empresa Scribd logo
1 de 26
Baixar para ler offline
Introduction of AMD
Advanced Virtual Interrupt
Controller
XenSummit 2012
Wei Huang
August 2012
What is AVIC?

  AVIC is Advanced Virtual Interrupt Controller
  A virtual APIC to guest OSs with hardware acceleration
  Enhancement to the AMD SVM architecture
  Changes to CPU, NorthBridge, and IOMMU




2 | Introduction of AMD AVIC | Xen Summit | August, 2012
Agenda

  Motivation for AVIC
  AVIC Architecture
   – APIC backing page
   – Physical & logical APIC ID tables
   – Door bell & IOMMU extension
  Hypervisor Design for AVIC
  Summary




3 | Introduction of AMD AVIC | Xen Summit | August, 2012
Agenda

  Motivation for AVIC
  AVIC Architecture
   – APIC backing page
   – Physical & logical APIC ID tables
   – Door bell & IOMMU extension
  Hypervisor Design for AVIC
  Summary




4 | Introduction of AMD AVIC | Xen Summit | August, 2012
Local APIC in x86

  Local APIC (LAPIC) is vital for x86 SMP system
  Handles various interrupt sources:
   – Inter-processor interrupts (IPIs)
   – I/O devices
   – APIC timer-generated interrupts
   – Internal events

                   CPU 1                               CPU 2                 CPU 3                          CPU 4
                 Local APIC                          Local APIC            Local APIC                      Local APIC

          Interrupt                           Interrupt               Interrupt                       Interrupt
                             IPIs                           IPIs                  IPIs                            IPIs
          messages                            messages                messages                        messages



                                           Interrupt messages

                                                                                          External
                                                                I/O APIC                 interrupts



5 | Introduction of AMD AVIC | Xen Summit | August, 2012
Many LAPIC Registers…




            *AMD APM Vol 2




6 | Introduction of AMD AVIC | Xen Summit | August, 2012
LAPIC + Virtualization = Slow

1. APIC register reads/writes                                                2. Inter-processor Interrupts

                              Guest OS                                                              Guest OS
                   vCPU
                                                                                           vCPU       X        vCPU
                               X APIC Reg Rd/Wrt                                                      IPI




                          Hypervisor                                                              Hypervisor



3. I/O interrupts from peripherals (e.g., pass-through device)
                                                                     Guest OS
                                                                                  device
                                                            vCPU                   mem




                                                           Hypervisor
                                                                                 IOMMU
                                                                                      DMA
                                                                                 I/O
                                                             dev interrupt
                                                                                Device



7 | Introduction of AMD AVIC | Xen Summit | August, 2012
Attacking Problems with AVIC

  We define new architectural components to present a virtualized APIC to
  guests, thus allowing most APIC accesses and interrupt delivery into the
  guests directly.
  AVIC components:

                        Component                                         Problem Solved
      vAPIC                                                Direct access to APIC registers
      Physical & logical APIC ID tables                    Mapping of physical & virtual cores (scheduling)
      Doorbell interrupt                                   Interrupt delivery
      IOMMU extension                                      I/O interrupt delivery




8 | Introduction of AMD AVIC | Xen Summit | August, 2012
Agenda

  Motivation for AVIC
  AVIC Architecture
   – APIC backing page
   – Physical & logical APIC ID tables
   – Doorbell & IOMMU extension
  Hypervisor Design for AVIC
  Summary




9 | Introduction of AMD AVIC | Xen Summit | August, 2012
vAPIC

   vAPIC is a virtual APIC to the guest
    – Backed by a 4KB memory page
    – Allocated and initialized by hypervisor
    – vAPIC pages are allocated on a per-vCPU basis
    – Contains storage for guest APIC values for the vCPU
    – Mapped into the guest physical address space
                                                            APIC Backing Page
                                                              ICR
                                                                                guest memory
                                                               ICR
                                                                ICR
                                                              IRR
                                                               IRR
                                                                IRR
                                                              ISR
                                                               ISR
                                                                ISR                   guest APIC
                                                                                      ICR
                                                              TPR                      ICR
                                                               TPR                      ICR
                                                                TPR
                                                                                      IRR
                                                              EOI                      IRR
                                                               EOI                      IRR
                                                                EOI
                                     BACKING_PAGE ptr                                 ISR
                                      myAPIC                                           ISR
                                       myAPIC                                           ISR
                                     Physical APIC Table
                                      Physical APIC Table
                                                                                      TPR
                                     Logical APIC Table                                TPR
                                      Logical APIC Table                                TPR
                                     V_APIC_BAR                                       EOI
                                                                                       EOI
                                                                      =                 EOI




                                          VMCB

10 | Introduction of AMD AVIC | Xen Summit | August, 2012
Handling Guest APIC Accesses

   Four types of actions for guest APIC accesses:
              Action                         VMEXIT?                             Details
     ALLOWED                           NO                     The field will be updated (for Write) or read
                                                              (for Read).
     ACCLERATED                        NO                     The field will be updated and CPU will take
                                                              further actions, such as sending IPI to CPUs.
     TRAP                              YES                    The field will be updated and CPU will take
                                                              VMEXIT immediately after access.
     FAULT                             YES                    The field will NOT be updated and CPU will
                                                              take VMEXIT immediately before the access.


   Example

              Offset                APIC Register Name                Read                   Write
            200-270h       Interrupt Request Register (IRR)    ALLOWED            FAULT
            300h           Interrupt Command Register Low (ICR) ALLOWED           ACCLERATED or TRAP




11 | Introduction of AMD AVIC | Xen Summit | August, 2012
Regarding APIC Acceleration…

   Three performance-critical areas are accelerated
    – TPR reads and writes
    – EOI writes
    – ICRL writes




12 | Introduction of AMD AVIC | Xen Summit | August, 2012
Agenda

   Motivation for AVIC
   AVIC Architecture
    – APIC backing page
    – Physical & logical APIC ID tables
    – Door bell & IOMMU extension
   Hypervisor Design for AVIC
   Summary




13 | Introduction of AMD AVIC | Xen Summit | August, 2012
How About vCPU Scheduling?

   Hypervisor schedules guest VM’s VCPUs on-the-fly
    – VCPUs can be ON or OFF
    – VCPUs can be migrated
   AVIC uses physical and logical APIC ID tables to show VCPU’s
   mapping relationship with physical cores




14 | Introduction of AMD AVIC | Xen Summit | August, 2012
Physical APIC ID Table

   Purpose:
   Used by the hardware to route the virtual interrupt messages to the proper
   physical core                                          vAPIC Backing Page
                                                                                  Guest CPU 4




                                                            Physical APIC Table




                                                                Guest APIC ID 5
                                                                    entry
               VMCB                                             Guest APIC ID 4
                                                                    entry
                                                                Guest APIC ID 3    Doorbell Destination ID
                                                                    entry



               AVIC_PHYSICAL_TABLE
                       ptr




15 | Introduction of AMD AVIC | Xen Summit | August, 2012
Logical APIC ID Table

   Purpose:
    – Maps guest logical APIC IDs to guest physical APIC IDs
    – Used to route logically addressed IPIs within a guest VM                           vAPIC Backing Page
                                                                                            Guest CPU 0



                                                                  Physical APIC Table




                                         Logical APIC Table

                                                                      Guest APIC ID 2
                                                                          entry
                                                Guest logical 7       Guest APIC ID 1
VMCB                                            to physical ID            entry
                                                Guest logical 6       Guest APIC ID 0
                                                 to physical 0            entry
                                                Guest logical 5                         Doorbell Destination ID
                                                to physical ID

AVIC_PHYSICAL_TABLE
        ptr




16 | Introduction of AMD AVIC | Xen Summit | August, 2012
Agenda

   Motivation for AVIC
   AVIC Architecture
    – APIC backing page
    – Physical & logical APIC ID tables
    – Doorbell & IOMMU extension
   Hypervisor Design for AVIC
   Summary




17 | Introduction of AMD AVIC | Xen Summit | August, 2012
Doorbell

   A new interrupt mechanism that is used to deliver guest interrupts to a
   specific physical core
   Doorbell interrupts are sent in three ways:

       Doorbell Source                                                    Reason
   AVIC hardware                               In response to a guest ICRL write for a supported IPI type
   IOMMU                                       An incoming I/O interrupt is remapped to an AVIC mode guest
   System software                             Writing to the doorbell interrupt MSR




18 | Introduction of AMD AVIC | Xen Summit | August, 2012
IOMMU Extension

   The AVIC architecture leverages the existing IOMMU interrupt redirection
   mechanism to provide a new guest-delivered interrupt type
   A new field in the IOMMU device table specifies whether AVIC is available
   IOMMU uses doorbell mechanism to delivery interrupts into guest VMs




19 | Introduction of AMD AVIC | Xen Summit | August, 2012
Agenda

   Motivation for AVIC
   AVIC Architecture
    – APIC backing page
    – Physical & logical APIC ID tables
    – Door bell & IOMMU extension
   Hypervisor Design for AVIC
   Summary




20 | Introduction of AMD AVIC | Xen Summit | August, 2012
How to Design a Hypervisor for AVIC?

   At guest start-up:
    – Allocate and initialize one vAPIC page for each vCPU
    – Allocate one physical APIC table and logical APIC table for the guest
    – Set up VMCB pointers for these structures and enable AVIC mode in
      VMCB
    – Set up IOMMU tables for direct-assigned I/O devices
   While running:
    – Handle un-accelerated cases similar to current approach
    – Update physical APIC table and IOMMU IRTE entries to change
      running status whenever a vCPU is moved to or from a physical CPU




21 | Introduction of AMD AVIC | Xen Summit | August, 2012
Setting up AVIC Tables

vAPIC backing pages and physical/logical ID tables are allocated in host
physical memory
Related VMCB fields:

                 VMCB Field                                                       Details
        V_APIC_BAR                                   Guest physical base address of the virtual APIC.
        AVIC_BACKING_PAGE                            Host physical address of the APIC backing page for the associated
                                                     VM.
        AVIC_LOGICAL_PAGE                            Host physical address of the logical APIC look-up table for the
                                                     associated VM.
        AVIC_PHYSICAL_PAGE                           Host physical address for the physical APIC look-up table for the
                                                     associated VM.




22 | Introduction of AMD AVIC | Xen Summit | August, 2012
Handle New VMEXITs

   VMEXIT 401h
    – For incomplete IPI Delivery
    – This VMEXIT describes the specific reason for the IPI delivery failure
   VMEXIT 402h
    – For ccess to un-accelerated vAPIC field
    – This VMEXIT indicates the offset of the un-accelerated vAPIC register,
      as well as whether a read or write operation was attempted




23 | Introduction of AMD AVIC | Xen Summit | August, 2012
Summary

   AVIC is an hardware extension to AMD SVM for APIC acceleration
   AVIC targets critical APIC operations for optimal performance
    – APIC read/write accesses
    – Interrupt delivery
   The design of AVIC is simple for fast hypervisor integration
   We expect AVIC to eliminate lots of overhead introduced by virtual local
   APIC




24 | Introduction of AMD AVIC | Xen Summit | August, 2012
Questions?




25 | Introduction of AMD AVIC | Xen Summit | August, 2012
Trademark Attribution

AMD, the AMD Arrow logo and combinations thereof are trademarks of Advanced Micro Devices, Inc. in the United States
and/or other jurisdictions. Other names used in this presentation are for identification purposes only and may be trademarks of
their respective owners.

©2012 Advanced Micro Devices, Inc. All rights reserved.




26 | Introduction of AMD AVIC | Xen Summit | August, 2012

Mais conteúdo relacionado

Mais procurados

Secure Boot on ARM systems – Building a complete Chain of Trust upon existing...
Secure Boot on ARM systems – Building a complete Chain of Trust upon existing...Secure Boot on ARM systems – Building a complete Chain of Trust upon existing...
Secure Boot on ARM systems – Building a complete Chain of Trust upon existing...Linaro
 
Linux Kernel - Virtual File System
Linux Kernel - Virtual File SystemLinux Kernel - Virtual File System
Linux Kernel - Virtual File SystemAdrian Huang
 
ACPI Debugging from Linux Kernel
ACPI Debugging from Linux KernelACPI Debugging from Linux Kernel
ACPI Debugging from Linux KernelSUSE Labs Taipei
 
Seastore: Next Generation Backing Store for Ceph
Seastore: Next Generation Backing Store for CephSeastore: Next Generation Backing Store for Ceph
Seastore: Next Generation Backing Store for CephScyllaDB
 
Linux Internals - Kernel/Core
Linux Internals - Kernel/CoreLinux Internals - Kernel/Core
Linux Internals - Kernel/CoreShay Cohen
 
Intelligent IoT Gateway on OpenWrt
Intelligent IoT Gateway on OpenWrtIntelligent IoT Gateway on OpenWrt
Intelligent IoT Gateway on OpenWrtTieto Corporation
 
Reliability, Availability, and Serviceability (RAS) on ARM64 status - SFO17-203
Reliability, Availability, and Serviceability (RAS) on ARM64 status - SFO17-203Reliability, Availability, and Serviceability (RAS) on ARM64 status - SFO17-203
Reliability, Availability, and Serviceability (RAS) on ARM64 status - SFO17-203Linaro
 
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
 
Introduction to DPDK
Introduction to DPDKIntroduction to DPDK
Introduction to DPDKKernel TLV
 
Accelerating Ceph with RDMA and NVMe-oF
Accelerating Ceph with RDMA and NVMe-oFAccelerating Ceph with RDMA and NVMe-oF
Accelerating Ceph with RDMA and NVMe-oFinside-BigData.com
 
Lcu14 101- coresight overview
Lcu14 101- coresight overviewLcu14 101- coresight overview
Lcu14 101- coresight overviewLinaro
 
The Linux Kernel Scheduler (For Beginners) - SFO17-421
The Linux Kernel Scheduler (For Beginners) - SFO17-421The Linux Kernel Scheduler (For Beginners) - SFO17-421
The Linux Kernel Scheduler (For Beginners) - SFO17-421Linaro
 
Embedded Linux BSP Training (Intro)
Embedded Linux BSP Training (Intro)Embedded Linux BSP Training (Intro)
Embedded Linux BSP Training (Intro)RuggedBoardGroup
 
Linux PCI device driver
Linux PCI device driverLinux PCI device driver
Linux PCI device driver艾鍗科技
 
SFO15-302: Energy Aware Scheduling: Progress Update
SFO15-302: Energy Aware Scheduling: Progress UpdateSFO15-302: Energy Aware Scheduling: Progress Update
SFO15-302: Energy Aware Scheduling: Progress UpdateLinaro
 
U-Boot Porting on New Hardware
U-Boot Porting on New HardwareU-Boot Porting on New Hardware
U-Boot Porting on New HardwareRuggedBoardGroup
 
Arm device tree and linux device drivers
Arm device tree and linux device driversArm device tree and linux device drivers
Arm device tree and linux device driversHoucheng Lin
 

Mais procurados (20)

Linux device drivers
Linux device drivers Linux device drivers
Linux device drivers
 
Secure Boot on ARM systems – Building a complete Chain of Trust upon existing...
Secure Boot on ARM systems – Building a complete Chain of Trust upon existing...Secure Boot on ARM systems – Building a complete Chain of Trust upon existing...
Secure Boot on ARM systems – Building a complete Chain of Trust upon existing...
 
Linux Kernel - Virtual File System
Linux Kernel - Virtual File SystemLinux Kernel - Virtual File System
Linux Kernel - Virtual File System
 
ACPI Debugging from Linux Kernel
ACPI Debugging from Linux KernelACPI Debugging from Linux Kernel
ACPI Debugging from Linux Kernel
 
Seastore: Next Generation Backing Store for Ceph
Seastore: Next Generation Backing Store for CephSeastore: Next Generation Backing Store for Ceph
Seastore: Next Generation Backing Store for Ceph
 
Linux Internals - Kernel/Core
Linux Internals - Kernel/CoreLinux Internals - Kernel/Core
Linux Internals - Kernel/Core
 
Intelligent IoT Gateway on OpenWrt
Intelligent IoT Gateway on OpenWrtIntelligent IoT Gateway on OpenWrt
Intelligent IoT Gateway on OpenWrt
 
Linux-Internals-and-Networking
Linux-Internals-and-NetworkingLinux-Internals-and-Networking
Linux-Internals-and-Networking
 
Reliability, Availability, and Serviceability (RAS) on ARM64 status - SFO17-203
Reliability, Availability, and Serviceability (RAS) on ARM64 status - SFO17-203Reliability, Availability, and Serviceability (RAS) on ARM64 status - SFO17-203
Reliability, Availability, and Serviceability (RAS) on ARM64 status - SFO17-203
 
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
 
Introduction to DPDK
Introduction to DPDKIntroduction to DPDK
Introduction to DPDK
 
Accelerating Ceph with RDMA and NVMe-oF
Accelerating Ceph with RDMA and NVMe-oFAccelerating Ceph with RDMA and NVMe-oF
Accelerating Ceph with RDMA and NVMe-oF
 
Lcu14 101- coresight overview
Lcu14 101- coresight overviewLcu14 101- coresight overview
Lcu14 101- coresight overview
 
Embedded Linux on ARM
Embedded Linux on ARMEmbedded Linux on ARM
Embedded Linux on ARM
 
The Linux Kernel Scheduler (For Beginners) - SFO17-421
The Linux Kernel Scheduler (For Beginners) - SFO17-421The Linux Kernel Scheduler (For Beginners) - SFO17-421
The Linux Kernel Scheduler (For Beginners) - SFO17-421
 
Embedded Linux BSP Training (Intro)
Embedded Linux BSP Training (Intro)Embedded Linux BSP Training (Intro)
Embedded Linux BSP Training (Intro)
 
Linux PCI device driver
Linux PCI device driverLinux PCI device driver
Linux PCI device driver
 
SFO15-302: Energy Aware Scheduling: Progress Update
SFO15-302: Energy Aware Scheduling: Progress UpdateSFO15-302: Energy Aware Scheduling: Progress Update
SFO15-302: Energy Aware Scheduling: Progress Update
 
U-Boot Porting on New Hardware
U-Boot Porting on New HardwareU-Boot Porting on New Hardware
U-Boot Porting on New Hardware
 
Arm device tree and linux device drivers
Arm device tree and linux device driversArm device tree and linux device drivers
Arm device tree and linux device drivers
 

Destaque

Hardware supports for Virtualization
Hardware supports for VirtualizationHardware supports for Virtualization
Hardware supports for VirtualizationYoonje Choi
 
Hardware support for efficient virtualization
Hardware support for efficient virtualizationHardware support for efficient virtualization
Hardware support for efficient virtualizationLennox Wu
 
PCI Pass-through - FreeBSD VM on Hyper-V (MeetBSD California 2016)
PCI Pass-through - FreeBSD VM on Hyper-V (MeetBSD California 2016)PCI Pass-through - FreeBSD VM on Hyper-V (MeetBSD California 2016)
PCI Pass-through - FreeBSD VM on Hyper-V (MeetBSD California 2016)iXsystems
 
AMD and the new “Zen” High Performance x86 Core at Hot Chips 28
AMD and the new “Zen” High Performance x86 Core at Hot Chips 28AMD and the new “Zen” High Performance x86 Core at Hot Chips 28
AMD and the new “Zen” High Performance x86 Core at Hot Chips 28AMD
 

Destaque (6)

Hardware supports for Virtualization
Hardware supports for VirtualizationHardware supports for Virtualization
Hardware supports for Virtualization
 
Segment tree
Segment treeSegment tree
Segment tree
 
Segment tree
Segment treeSegment tree
Segment tree
 
Hardware support for efficient virtualization
Hardware support for efficient virtualizationHardware support for efficient virtualization
Hardware support for efficient virtualization
 
PCI Pass-through - FreeBSD VM on Hyper-V (MeetBSD California 2016)
PCI Pass-through - FreeBSD VM on Hyper-V (MeetBSD California 2016)PCI Pass-through - FreeBSD VM on Hyper-V (MeetBSD California 2016)
PCI Pass-through - FreeBSD VM on Hyper-V (MeetBSD California 2016)
 
AMD and the new “Zen” High Performance x86 Core at Hot Chips 28
AMD and the new “Zen” High Performance x86 Core at Hot Chips 28AMD and the new “Zen” High Performance x86 Core at Hot Chips 28
AMD and the new “Zen” High Performance x86 Core at Hot Chips 28
 

Semelhante a Introduction of AMD's Advanced Virtual Interrupt Controller (AVIC

Raise your Uptime - How to monitor heterogeneous server environments with Linux
Raise your Uptime - How to monitor heterogeneous server environments with LinuxRaise your Uptime - How to monitor heterogeneous server environments with Linux
Raise your Uptime - How to monitor heterogeneous server environments with LinuxWerner Fischer
 
virtualization tutorial at ACM bangalore Compute 2009
virtualization tutorial at ACM bangalore Compute 2009virtualization tutorial at ACM bangalore Compute 2009
virtualization tutorial at ACM bangalore Compute 2009ACMBangalore
 
20111130 hardware-monitoring-with-the-new-ipmi-plugin-v2
20111130 hardware-monitoring-with-the-new-ipmi-plugin-v220111130 hardware-monitoring-with-the-new-ipmi-plugin-v2
20111130 hardware-monitoring-with-the-new-ipmi-plugin-v2Werner Fischer
 
ARMvisor @ COSCUP2012
ARMvisor @ COSCUP2012ARMvisor @ COSCUP2012
ARMvisor @ COSCUP2012Peter Chang
 
TeamSpirit
TeamSpiritTeamSpirit
TeamSpiritVideoguy
 
Benefits of Using FPGAs for Embedded Processing: Embedded World 2010
Benefits of Using FPGAs for Embedded Processing: Embedded World 2010Benefits of Using FPGAs for Embedded Processing: Embedded World 2010
Benefits of Using FPGAs for Embedded Processing: Embedded World 2010Altera Corporation
 
Adv. FPGA Motor Control--EBV & Univ. of Koln: Embedded World 2010
Adv. FPGA Motor Control--EBV & Univ. of Koln: Embedded World 2010Adv. FPGA Motor Control--EBV & Univ. of Koln: Embedded World 2010
Adv. FPGA Motor Control--EBV & Univ. of Koln: Embedded World 2010Altera Corporation
 
Xen summit spring2010_tom_woller_amd
Xen summit spring2010_tom_woller_amdXen summit spring2010_tom_woller_amd
Xen summit spring2010_tom_woller_amdThe Linux Foundation
 
evolution towards NGN
evolution towards NGNevolution towards NGN
evolution towards NGNAJAL A J
 
Dedi prog in_circuit_programming_presentation_(nwe_add_update)
Dedi prog in_circuit_programming_presentation_(nwe_add_update)Dedi prog in_circuit_programming_presentation_(nwe_add_update)
Dedi prog in_circuit_programming_presentation_(nwe_add_update)thelabeshop
 
Verification Of 1 M+ Transistors Mixed Signal Ic Presentation
Verification Of 1 M+ Transistors Mixed Signal Ic   PresentationVerification Of 1 M+ Transistors Mixed Signal Ic   Presentation
Verification Of 1 M+ Transistors Mixed Signal Ic PresentationRégis SANTONJA
 
Networking Israeli Day 2013 - Hecatonchire: Transparent Memory Aggregation
Networking Israeli Day 2013 - Hecatonchire: Transparent Memory AggregationNetworking Israeli Day 2013 - Hecatonchire: Transparent Memory Aggregation
Networking Israeli Day 2013 - Hecatonchire: Transparent Memory Aggregationaidanshribman
 
Talk: The Present and Future of Pharo
Talk: The Present and Future of PharoTalk: The Present and Future of Pharo
Talk: The Present and Future of PharoMarcus Denker
 
Denker - Pharo: Present and Future - 2009-07-14
Denker - Pharo: Present and Future - 2009-07-14Denker - Pharo: Present and Future - 2009-07-14
Denker - Pharo: Present and Future - 2009-07-14CHOOSE
 
Cooperative VM Migration for a virtualized HPC Cluster with VMM-bypass I/O de...
Cooperative VM Migration for a virtualized HPC Cluster with VMM-bypass I/O de...Cooperative VM Migration for a virtualized HPC Cluster with VMM-bypass I/O de...
Cooperative VM Migration for a virtualized HPC Cluster with VMM-bypass I/O de...Ryousei Takano
 
Modeling System Behaviors: A Better Paradigm on Prototyping
Modeling System Behaviors: A Better Paradigm on PrototypingModeling System Behaviors: A Better Paradigm on Prototyping
Modeling System Behaviors: A Better Paradigm on PrototypingDVClub
 

Semelhante a Introduction of AMD's Advanced Virtual Interrupt Controller (AVIC (20)

Raise your Uptime - How to monitor heterogeneous server environments with Linux
Raise your Uptime - How to monitor heterogeneous server environments with LinuxRaise your Uptime - How to monitor heterogeneous server environments with Linux
Raise your Uptime - How to monitor heterogeneous server environments with Linux
 
virtualization tutorial at ACM bangalore Compute 2009
virtualization tutorial at ACM bangalore Compute 2009virtualization tutorial at ACM bangalore Compute 2009
virtualization tutorial at ACM bangalore Compute 2009
 
20111130 hardware-monitoring-with-the-new-ipmi-plugin-v2
20111130 hardware-monitoring-with-the-new-ipmi-plugin-v220111130 hardware-monitoring-with-the-new-ipmi-plugin-v2
20111130 hardware-monitoring-with-the-new-ipmi-plugin-v2
 
ARMvisor @ COSCUP2012
ARMvisor @ COSCUP2012ARMvisor @ COSCUP2012
ARMvisor @ COSCUP2012
 
TeamSpirit
TeamSpiritTeamSpirit
TeamSpirit
 
Benefits of Using FPGAs for Embedded Processing: Embedded World 2010
Benefits of Using FPGAs for Embedded Processing: Embedded World 2010Benefits of Using FPGAs for Embedded Processing: Embedded World 2010
Benefits of Using FPGAs for Embedded Processing: Embedded World 2010
 
A series presentation
A series presentationA series presentation
A series presentation
 
Adv. FPGA Motor Control--EBV & Univ. of Koln: Embedded World 2010
Adv. FPGA Motor Control--EBV & Univ. of Koln: Embedded World 2010Adv. FPGA Motor Control--EBV & Univ. of Koln: Embedded World 2010
Adv. FPGA Motor Control--EBV & Univ. of Koln: Embedded World 2010
 
Xen summit spring2010_tom_woller_amd
Xen summit spring2010_tom_woller_amdXen summit spring2010_tom_woller_amd
Xen summit spring2010_tom_woller_amd
 
Pci V2
Pci V2Pci V2
Pci V2
 
evolution towards NGN
evolution towards NGNevolution towards NGN
evolution towards NGN
 
Dedi prog in_circuit_programming_presentation_(nwe_add_update)
Dedi prog in_circuit_programming_presentation_(nwe_add_update)Dedi prog in_circuit_programming_presentation_(nwe_add_update)
Dedi prog in_circuit_programming_presentation_(nwe_add_update)
 
Verification Of 1 M+ Transistors Mixed Signal Ic Presentation
Verification Of 1 M+ Transistors Mixed Signal Ic   PresentationVerification Of 1 M+ Transistors Mixed Signal Ic   Presentation
Verification Of 1 M+ Transistors Mixed Signal Ic Presentation
 
Networking Israeli Day 2013 - Hecatonchire: Transparent Memory Aggregation
Networking Israeli Day 2013 - Hecatonchire: Transparent Memory AggregationNetworking Israeli Day 2013 - Hecatonchire: Transparent Memory Aggregation
Networking Israeli Day 2013 - Hecatonchire: Transparent Memory Aggregation
 
Talk: The Present and Future of Pharo
Talk: The Present and Future of PharoTalk: The Present and Future of Pharo
Talk: The Present and Future of Pharo
 
Arm Lecture
Arm LectureArm Lecture
Arm Lecture
 
Denker - Pharo: Present and Future - 2009-07-14
Denker - Pharo: Present and Future - 2009-07-14Denker - Pharo: Present and Future - 2009-07-14
Denker - Pharo: Present and Future - 2009-07-14
 
Intel update
Intel updateIntel update
Intel update
 
Cooperative VM Migration for a virtualized HPC Cluster with VMM-bypass I/O de...
Cooperative VM Migration for a virtualized HPC Cluster with VMM-bypass I/O de...Cooperative VM Migration for a virtualized HPC Cluster with VMM-bypass I/O de...
Cooperative VM Migration for a virtualized HPC Cluster with VMM-bypass I/O de...
 
Modeling System Behaviors: A Better Paradigm on Prototyping
Modeling System Behaviors: A Better Paradigm on PrototypingModeling System Behaviors: A Better Paradigm on Prototyping
Modeling System Behaviors: A Better Paradigm on Prototyping
 

Mais de The Linux Foundation

ELC2019: Static Partitioning Made Simple
ELC2019: Static Partitioning Made SimpleELC2019: Static Partitioning Made Simple
ELC2019: Static Partitioning Made SimpleThe Linux Foundation
 
XPDDS19: How TrenchBoot is Enabling Measured Launch for Open-Source Platform ...
XPDDS19: How TrenchBoot is Enabling Measured Launch for Open-Source Platform ...XPDDS19: How TrenchBoot is Enabling Measured Launch for Open-Source Platform ...
XPDDS19: How TrenchBoot is Enabling Measured Launch for Open-Source Platform ...The Linux Foundation
 
XPDDS19 Keynote: Xen in Automotive - Artem Mygaiev, Director, Technology Solu...
XPDDS19 Keynote: Xen in Automotive - Artem Mygaiev, Director, Technology Solu...XPDDS19 Keynote: Xen in Automotive - Artem Mygaiev, Director, Technology Solu...
XPDDS19 Keynote: Xen in Automotive - Artem Mygaiev, Director, Technology Solu...The Linux Foundation
 
XPDDS19 Keynote: Xen Project Weather Report 2019 - Lars Kurth, Director of Op...
XPDDS19 Keynote: Xen Project Weather Report 2019 - Lars Kurth, Director of Op...XPDDS19 Keynote: Xen Project Weather Report 2019 - Lars Kurth, Director of Op...
XPDDS19 Keynote: Xen Project Weather Report 2019 - Lars Kurth, Director of Op...The Linux Foundation
 
XPDDS19 Keynote: Unikraft Weather Report
XPDDS19 Keynote:  Unikraft Weather ReportXPDDS19 Keynote:  Unikraft Weather Report
XPDDS19 Keynote: Unikraft Weather ReportThe Linux Foundation
 
XPDDS19 Keynote: Secret-free Hypervisor: Now and Future - Wei Liu, Software E...
XPDDS19 Keynote: Secret-free Hypervisor: Now and Future - Wei Liu, Software E...XPDDS19 Keynote: Secret-free Hypervisor: Now and Future - Wei Liu, Software E...
XPDDS19 Keynote: Secret-free Hypervisor: Now and Future - Wei Liu, Software E...The Linux Foundation
 
XPDDS19 Keynote: Xen Dom0-less - Stefano Stabellini, Principal Engineer, Xilinx
XPDDS19 Keynote: Xen Dom0-less - Stefano Stabellini, Principal Engineer, XilinxXPDDS19 Keynote: Xen Dom0-less - Stefano Stabellini, Principal Engineer, Xilinx
XPDDS19 Keynote: Xen Dom0-less - Stefano Stabellini, Principal Engineer, XilinxThe Linux Foundation
 
XPDDS19 Keynote: Patch Review for Non-maintainers - George Dunlap, Citrix Sys...
XPDDS19 Keynote: Patch Review for Non-maintainers - George Dunlap, Citrix Sys...XPDDS19 Keynote: Patch Review for Non-maintainers - George Dunlap, Citrix Sys...
XPDDS19 Keynote: Patch Review for Non-maintainers - George Dunlap, Citrix Sys...The Linux Foundation
 
XPDDS19: Memories of a VM Funk - Mihai Donțu, Bitdefender
XPDDS19: Memories of a VM Funk - Mihai Donțu, BitdefenderXPDDS19: Memories of a VM Funk - Mihai Donțu, Bitdefender
XPDDS19: Memories of a VM Funk - Mihai Donțu, BitdefenderThe Linux Foundation
 
OSSJP/ALS19: The Road to Safety Certification: Overcoming Community Challeng...
OSSJP/ALS19:  The Road to Safety Certification: Overcoming Community Challeng...OSSJP/ALS19:  The Road to Safety Certification: Overcoming Community Challeng...
OSSJP/ALS19: The Road to Safety Certification: Overcoming Community Challeng...The Linux Foundation
 
OSSJP/ALS19: The Road to Safety Certification: How the Xen Project is Making...
 OSSJP/ALS19: The Road to Safety Certification: How the Xen Project is Making... OSSJP/ALS19: The Road to Safety Certification: How the Xen Project is Making...
OSSJP/ALS19: The Road to Safety Certification: How the Xen Project is Making...The Linux Foundation
 
XPDDS19: Speculative Sidechannels and Mitigations - Andrew Cooper, Citrix
XPDDS19: Speculative Sidechannels and Mitigations - Andrew Cooper, CitrixXPDDS19: Speculative Sidechannels and Mitigations - Andrew Cooper, Citrix
XPDDS19: Speculative Sidechannels and Mitigations - Andrew Cooper, CitrixThe Linux Foundation
 
XPDDS19: Keeping Coherency on Arm: Reborn - Julien Grall, Arm ltd
XPDDS19: Keeping Coherency on Arm: Reborn - Julien Grall, Arm ltdXPDDS19: Keeping Coherency on Arm: Reborn - Julien Grall, Arm ltd
XPDDS19: Keeping Coherency on Arm: Reborn - Julien Grall, Arm ltdThe Linux Foundation
 
XPDDS19: QEMU PV Backend 'qdevification'... What Does it Mean? - Paul Durrant...
XPDDS19: QEMU PV Backend 'qdevification'... What Does it Mean? - Paul Durrant...XPDDS19: QEMU PV Backend 'qdevification'... What Does it Mean? - Paul Durrant...
XPDDS19: QEMU PV Backend 'qdevification'... What Does it Mean? - Paul Durrant...The Linux Foundation
 
XPDDS19: Status of PCI Emulation in Xen - Roger Pau Monné, Citrix Systems R&D
XPDDS19: Status of PCI Emulation in Xen - Roger Pau Monné, Citrix Systems R&DXPDDS19: Status of PCI Emulation in Xen - Roger Pau Monné, Citrix Systems R&D
XPDDS19: Status of PCI Emulation in Xen - Roger Pau Monné, Citrix Systems R&DThe Linux Foundation
 
XPDDS19: [ARM] OP-TEE Mediator in Xen - Volodymyr Babchuk, EPAM Systems
XPDDS19: [ARM] OP-TEE Mediator in Xen - Volodymyr Babchuk, EPAM SystemsXPDDS19: [ARM] OP-TEE Mediator in Xen - Volodymyr Babchuk, EPAM Systems
XPDDS19: [ARM] OP-TEE Mediator in Xen - Volodymyr Babchuk, EPAM SystemsThe Linux Foundation
 
XPDDS19: Bringing Xen to the Masses: The Story of Building a Community-driven...
XPDDS19: Bringing Xen to the Masses: The Story of Building a Community-driven...XPDDS19: Bringing Xen to the Masses: The Story of Building a Community-driven...
XPDDS19: Bringing Xen to the Masses: The Story of Building a Community-driven...The Linux Foundation
 
XPDDS19: Will Robots Automate Your Job Away? Streamlining Xen Project Contrib...
XPDDS19: Will Robots Automate Your Job Away? Streamlining Xen Project Contrib...XPDDS19: Will Robots Automate Your Job Away? Streamlining Xen Project Contrib...
XPDDS19: Will Robots Automate Your Job Away? Streamlining Xen Project Contrib...The Linux Foundation
 
XPDDS19: Client Virtualization Toolstack in Go - Nick Rosbrook & Brendan Kerr...
XPDDS19: Client Virtualization Toolstack in Go - Nick Rosbrook & Brendan Kerr...XPDDS19: Client Virtualization Toolstack in Go - Nick Rosbrook & Brendan Kerr...
XPDDS19: Client Virtualization Toolstack in Go - Nick Rosbrook & Brendan Kerr...The Linux Foundation
 
XPDDS19: Core Scheduling in Xen - Jürgen Groß, SUSE
XPDDS19: Core Scheduling in Xen - Jürgen Groß, SUSEXPDDS19: Core Scheduling in Xen - Jürgen Groß, SUSE
XPDDS19: Core Scheduling in Xen - Jürgen Groß, SUSEThe Linux Foundation
 

Mais de The Linux Foundation (20)

ELC2019: Static Partitioning Made Simple
ELC2019: Static Partitioning Made SimpleELC2019: Static Partitioning Made Simple
ELC2019: Static Partitioning Made Simple
 
XPDDS19: How TrenchBoot is Enabling Measured Launch for Open-Source Platform ...
XPDDS19: How TrenchBoot is Enabling Measured Launch for Open-Source Platform ...XPDDS19: How TrenchBoot is Enabling Measured Launch for Open-Source Platform ...
XPDDS19: How TrenchBoot is Enabling Measured Launch for Open-Source Platform ...
 
XPDDS19 Keynote: Xen in Automotive - Artem Mygaiev, Director, Technology Solu...
XPDDS19 Keynote: Xen in Automotive - Artem Mygaiev, Director, Technology Solu...XPDDS19 Keynote: Xen in Automotive - Artem Mygaiev, Director, Technology Solu...
XPDDS19 Keynote: Xen in Automotive - Artem Mygaiev, Director, Technology Solu...
 
XPDDS19 Keynote: Xen Project Weather Report 2019 - Lars Kurth, Director of Op...
XPDDS19 Keynote: Xen Project Weather Report 2019 - Lars Kurth, Director of Op...XPDDS19 Keynote: Xen Project Weather Report 2019 - Lars Kurth, Director of Op...
XPDDS19 Keynote: Xen Project Weather Report 2019 - Lars Kurth, Director of Op...
 
XPDDS19 Keynote: Unikraft Weather Report
XPDDS19 Keynote:  Unikraft Weather ReportXPDDS19 Keynote:  Unikraft Weather Report
XPDDS19 Keynote: Unikraft Weather Report
 
XPDDS19 Keynote: Secret-free Hypervisor: Now and Future - Wei Liu, Software E...
XPDDS19 Keynote: Secret-free Hypervisor: Now and Future - Wei Liu, Software E...XPDDS19 Keynote: Secret-free Hypervisor: Now and Future - Wei Liu, Software E...
XPDDS19 Keynote: Secret-free Hypervisor: Now and Future - Wei Liu, Software E...
 
XPDDS19 Keynote: Xen Dom0-less - Stefano Stabellini, Principal Engineer, Xilinx
XPDDS19 Keynote: Xen Dom0-less - Stefano Stabellini, Principal Engineer, XilinxXPDDS19 Keynote: Xen Dom0-less - Stefano Stabellini, Principal Engineer, Xilinx
XPDDS19 Keynote: Xen Dom0-less - Stefano Stabellini, Principal Engineer, Xilinx
 
XPDDS19 Keynote: Patch Review for Non-maintainers - George Dunlap, Citrix Sys...
XPDDS19 Keynote: Patch Review for Non-maintainers - George Dunlap, Citrix Sys...XPDDS19 Keynote: Patch Review for Non-maintainers - George Dunlap, Citrix Sys...
XPDDS19 Keynote: Patch Review for Non-maintainers - George Dunlap, Citrix Sys...
 
XPDDS19: Memories of a VM Funk - Mihai Donțu, Bitdefender
XPDDS19: Memories of a VM Funk - Mihai Donțu, BitdefenderXPDDS19: Memories of a VM Funk - Mihai Donțu, Bitdefender
XPDDS19: Memories of a VM Funk - Mihai Donțu, Bitdefender
 
OSSJP/ALS19: The Road to Safety Certification: Overcoming Community Challeng...
OSSJP/ALS19:  The Road to Safety Certification: Overcoming Community Challeng...OSSJP/ALS19:  The Road to Safety Certification: Overcoming Community Challeng...
OSSJP/ALS19: The Road to Safety Certification: Overcoming Community Challeng...
 
OSSJP/ALS19: The Road to Safety Certification: How the Xen Project is Making...
 OSSJP/ALS19: The Road to Safety Certification: How the Xen Project is Making... OSSJP/ALS19: The Road to Safety Certification: How the Xen Project is Making...
OSSJP/ALS19: The Road to Safety Certification: How the Xen Project is Making...
 
XPDDS19: Speculative Sidechannels and Mitigations - Andrew Cooper, Citrix
XPDDS19: Speculative Sidechannels and Mitigations - Andrew Cooper, CitrixXPDDS19: Speculative Sidechannels and Mitigations - Andrew Cooper, Citrix
XPDDS19: Speculative Sidechannels and Mitigations - Andrew Cooper, Citrix
 
XPDDS19: Keeping Coherency on Arm: Reborn - Julien Grall, Arm ltd
XPDDS19: Keeping Coherency on Arm: Reborn - Julien Grall, Arm ltdXPDDS19: Keeping Coherency on Arm: Reborn - Julien Grall, Arm ltd
XPDDS19: Keeping Coherency on Arm: Reborn - Julien Grall, Arm ltd
 
XPDDS19: QEMU PV Backend 'qdevification'... What Does it Mean? - Paul Durrant...
XPDDS19: QEMU PV Backend 'qdevification'... What Does it Mean? - Paul Durrant...XPDDS19: QEMU PV Backend 'qdevification'... What Does it Mean? - Paul Durrant...
XPDDS19: QEMU PV Backend 'qdevification'... What Does it Mean? - Paul Durrant...
 
XPDDS19: Status of PCI Emulation in Xen - Roger Pau Monné, Citrix Systems R&D
XPDDS19: Status of PCI Emulation in Xen - Roger Pau Monné, Citrix Systems R&DXPDDS19: Status of PCI Emulation in Xen - Roger Pau Monné, Citrix Systems R&D
XPDDS19: Status of PCI Emulation in Xen - Roger Pau Monné, Citrix Systems R&D
 
XPDDS19: [ARM] OP-TEE Mediator in Xen - Volodymyr Babchuk, EPAM Systems
XPDDS19: [ARM] OP-TEE Mediator in Xen - Volodymyr Babchuk, EPAM SystemsXPDDS19: [ARM] OP-TEE Mediator in Xen - Volodymyr Babchuk, EPAM Systems
XPDDS19: [ARM] OP-TEE Mediator in Xen - Volodymyr Babchuk, EPAM Systems
 
XPDDS19: Bringing Xen to the Masses: The Story of Building a Community-driven...
XPDDS19: Bringing Xen to the Masses: The Story of Building a Community-driven...XPDDS19: Bringing Xen to the Masses: The Story of Building a Community-driven...
XPDDS19: Bringing Xen to the Masses: The Story of Building a Community-driven...
 
XPDDS19: Will Robots Automate Your Job Away? Streamlining Xen Project Contrib...
XPDDS19: Will Robots Automate Your Job Away? Streamlining Xen Project Contrib...XPDDS19: Will Robots Automate Your Job Away? Streamlining Xen Project Contrib...
XPDDS19: Will Robots Automate Your Job Away? Streamlining Xen Project Contrib...
 
XPDDS19: Client Virtualization Toolstack in Go - Nick Rosbrook & Brendan Kerr...
XPDDS19: Client Virtualization Toolstack in Go - Nick Rosbrook & Brendan Kerr...XPDDS19: Client Virtualization Toolstack in Go - Nick Rosbrook & Brendan Kerr...
XPDDS19: Client Virtualization Toolstack in Go - Nick Rosbrook & Brendan Kerr...
 
XPDDS19: Core Scheduling in Xen - Jürgen Groß, SUSE
XPDDS19: Core Scheduling in Xen - Jürgen Groß, SUSEXPDDS19: Core Scheduling in Xen - Jürgen Groß, SUSE
XPDDS19: Core Scheduling in Xen - Jürgen Groß, SUSE
 

Último

Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
Google AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGGoogle AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGSujit Pal
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...gurkirankumar98700
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 

Último (20)

Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
Google AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGGoogle AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAG
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 

Introduction of AMD's Advanced Virtual Interrupt Controller (AVIC

  • 1. Introduction of AMD Advanced Virtual Interrupt Controller XenSummit 2012 Wei Huang August 2012
  • 2. What is AVIC? AVIC is Advanced Virtual Interrupt Controller A virtual APIC to guest OSs with hardware acceleration Enhancement to the AMD SVM architecture Changes to CPU, NorthBridge, and IOMMU 2 | Introduction of AMD AVIC | Xen Summit | August, 2012
  • 3. Agenda Motivation for AVIC AVIC Architecture – APIC backing page – Physical & logical APIC ID tables – Door bell & IOMMU extension Hypervisor Design for AVIC Summary 3 | Introduction of AMD AVIC | Xen Summit | August, 2012
  • 4. Agenda Motivation for AVIC AVIC Architecture – APIC backing page – Physical & logical APIC ID tables – Door bell & IOMMU extension Hypervisor Design for AVIC Summary 4 | Introduction of AMD AVIC | Xen Summit | August, 2012
  • 5. Local APIC in x86 Local APIC (LAPIC) is vital for x86 SMP system Handles various interrupt sources: – Inter-processor interrupts (IPIs) – I/O devices – APIC timer-generated interrupts – Internal events CPU 1 CPU 2 CPU 3 CPU 4 Local APIC Local APIC Local APIC Local APIC Interrupt Interrupt Interrupt Interrupt IPIs IPIs IPIs IPIs messages messages messages messages Interrupt messages External I/O APIC interrupts 5 | Introduction of AMD AVIC | Xen Summit | August, 2012
  • 6. Many LAPIC Registers… *AMD APM Vol 2 6 | Introduction of AMD AVIC | Xen Summit | August, 2012
  • 7. LAPIC + Virtualization = Slow 1. APIC register reads/writes 2. Inter-processor Interrupts Guest OS Guest OS vCPU vCPU X vCPU X APIC Reg Rd/Wrt IPI Hypervisor Hypervisor 3. I/O interrupts from peripherals (e.g., pass-through device) Guest OS device vCPU mem Hypervisor IOMMU DMA I/O dev interrupt Device 7 | Introduction of AMD AVIC | Xen Summit | August, 2012
  • 8. Attacking Problems with AVIC We define new architectural components to present a virtualized APIC to guests, thus allowing most APIC accesses and interrupt delivery into the guests directly. AVIC components: Component Problem Solved vAPIC Direct access to APIC registers Physical & logical APIC ID tables Mapping of physical & virtual cores (scheduling) Doorbell interrupt Interrupt delivery IOMMU extension I/O interrupt delivery 8 | Introduction of AMD AVIC | Xen Summit | August, 2012
  • 9. Agenda Motivation for AVIC AVIC Architecture – APIC backing page – Physical & logical APIC ID tables – Doorbell & IOMMU extension Hypervisor Design for AVIC Summary 9 | Introduction of AMD AVIC | Xen Summit | August, 2012
  • 10. vAPIC vAPIC is a virtual APIC to the guest – Backed by a 4KB memory page – Allocated and initialized by hypervisor – vAPIC pages are allocated on a per-vCPU basis – Contains storage for guest APIC values for the vCPU – Mapped into the guest physical address space APIC Backing Page ICR guest memory ICR ICR IRR IRR IRR ISR ISR ISR guest APIC ICR TPR ICR TPR ICR TPR IRR EOI IRR EOI IRR EOI BACKING_PAGE ptr ISR myAPIC ISR myAPIC ISR Physical APIC Table Physical APIC Table TPR Logical APIC Table TPR Logical APIC Table TPR V_APIC_BAR EOI EOI = EOI VMCB 10 | Introduction of AMD AVIC | Xen Summit | August, 2012
  • 11. Handling Guest APIC Accesses Four types of actions for guest APIC accesses: Action VMEXIT? Details ALLOWED NO The field will be updated (for Write) or read (for Read). ACCLERATED NO The field will be updated and CPU will take further actions, such as sending IPI to CPUs. TRAP YES The field will be updated and CPU will take VMEXIT immediately after access. FAULT YES The field will NOT be updated and CPU will take VMEXIT immediately before the access. Example Offset APIC Register Name Read Write 200-270h Interrupt Request Register (IRR) ALLOWED FAULT 300h Interrupt Command Register Low (ICR) ALLOWED ACCLERATED or TRAP 11 | Introduction of AMD AVIC | Xen Summit | August, 2012
  • 12. Regarding APIC Acceleration… Three performance-critical areas are accelerated – TPR reads and writes – EOI writes – ICRL writes 12 | Introduction of AMD AVIC | Xen Summit | August, 2012
  • 13. Agenda Motivation for AVIC AVIC Architecture – APIC backing page – Physical & logical APIC ID tables – Door bell & IOMMU extension Hypervisor Design for AVIC Summary 13 | Introduction of AMD AVIC | Xen Summit | August, 2012
  • 14. How About vCPU Scheduling? Hypervisor schedules guest VM’s VCPUs on-the-fly – VCPUs can be ON or OFF – VCPUs can be migrated AVIC uses physical and logical APIC ID tables to show VCPU’s mapping relationship with physical cores 14 | Introduction of AMD AVIC | Xen Summit | August, 2012
  • 15. Physical APIC ID Table Purpose: Used by the hardware to route the virtual interrupt messages to the proper physical core vAPIC Backing Page Guest CPU 4 Physical APIC Table Guest APIC ID 5 entry VMCB Guest APIC ID 4 entry Guest APIC ID 3 Doorbell Destination ID entry AVIC_PHYSICAL_TABLE ptr 15 | Introduction of AMD AVIC | Xen Summit | August, 2012
  • 16. Logical APIC ID Table Purpose: – Maps guest logical APIC IDs to guest physical APIC IDs – Used to route logically addressed IPIs within a guest VM vAPIC Backing Page Guest CPU 0 Physical APIC Table Logical APIC Table Guest APIC ID 2 entry Guest logical 7 Guest APIC ID 1 VMCB to physical ID entry Guest logical 6 Guest APIC ID 0 to physical 0 entry Guest logical 5 Doorbell Destination ID to physical ID AVIC_PHYSICAL_TABLE ptr 16 | Introduction of AMD AVIC | Xen Summit | August, 2012
  • 17. Agenda Motivation for AVIC AVIC Architecture – APIC backing page – Physical & logical APIC ID tables – Doorbell & IOMMU extension Hypervisor Design for AVIC Summary 17 | Introduction of AMD AVIC | Xen Summit | August, 2012
  • 18. Doorbell A new interrupt mechanism that is used to deliver guest interrupts to a specific physical core Doorbell interrupts are sent in three ways: Doorbell Source Reason AVIC hardware In response to a guest ICRL write for a supported IPI type IOMMU An incoming I/O interrupt is remapped to an AVIC mode guest System software Writing to the doorbell interrupt MSR 18 | Introduction of AMD AVIC | Xen Summit | August, 2012
  • 19. IOMMU Extension The AVIC architecture leverages the existing IOMMU interrupt redirection mechanism to provide a new guest-delivered interrupt type A new field in the IOMMU device table specifies whether AVIC is available IOMMU uses doorbell mechanism to delivery interrupts into guest VMs 19 | Introduction of AMD AVIC | Xen Summit | August, 2012
  • 20. Agenda Motivation for AVIC AVIC Architecture – APIC backing page – Physical & logical APIC ID tables – Door bell & IOMMU extension Hypervisor Design for AVIC Summary 20 | Introduction of AMD AVIC | Xen Summit | August, 2012
  • 21. How to Design a Hypervisor for AVIC? At guest start-up: – Allocate and initialize one vAPIC page for each vCPU – Allocate one physical APIC table and logical APIC table for the guest – Set up VMCB pointers for these structures and enable AVIC mode in VMCB – Set up IOMMU tables for direct-assigned I/O devices While running: – Handle un-accelerated cases similar to current approach – Update physical APIC table and IOMMU IRTE entries to change running status whenever a vCPU is moved to or from a physical CPU 21 | Introduction of AMD AVIC | Xen Summit | August, 2012
  • 22. Setting up AVIC Tables vAPIC backing pages and physical/logical ID tables are allocated in host physical memory Related VMCB fields: VMCB Field Details V_APIC_BAR Guest physical base address of the virtual APIC. AVIC_BACKING_PAGE Host physical address of the APIC backing page for the associated VM. AVIC_LOGICAL_PAGE Host physical address of the logical APIC look-up table for the associated VM. AVIC_PHYSICAL_PAGE Host physical address for the physical APIC look-up table for the associated VM. 22 | Introduction of AMD AVIC | Xen Summit | August, 2012
  • 23. Handle New VMEXITs VMEXIT 401h – For incomplete IPI Delivery – This VMEXIT describes the specific reason for the IPI delivery failure VMEXIT 402h – For ccess to un-accelerated vAPIC field – This VMEXIT indicates the offset of the un-accelerated vAPIC register, as well as whether a read or write operation was attempted 23 | Introduction of AMD AVIC | Xen Summit | August, 2012
  • 24. Summary AVIC is an hardware extension to AMD SVM for APIC acceleration AVIC targets critical APIC operations for optimal performance – APIC read/write accesses – Interrupt delivery The design of AVIC is simple for fast hypervisor integration We expect AVIC to eliminate lots of overhead introduced by virtual local APIC 24 | Introduction of AMD AVIC | Xen Summit | August, 2012
  • 25. Questions? 25 | Introduction of AMD AVIC | Xen Summit | August, 2012
  • 26. Trademark Attribution AMD, the AMD Arrow logo and combinations thereof are trademarks of Advanced Micro Devices, Inc. in the United States and/or other jurisdictions. Other names used in this presentation are for identification purposes only and may be trademarks of their respective owners. ©2012 Advanced Micro Devices, Inc. All rights reserved. 26 | Introduction of AMD AVIC | Xen Summit | August, 2012