Device iotlb

From KVM
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

Vhost-net Device IOTLB

Overview

This page provides information about the design of Device IOTLB for vhost-net to provides a secure and efficient environment for dpdk like program in guest.

Design Goals

  • Architecture independent: The implementation should be compatible to current Qemu's IOMMU architecture, then it should be architecture independent and then be easy to be ported to various platform/IOMMU implementation.
  • Efficient: End user should have no obvious felling performance degradation when using dpdk like program in guest.
  • Compatible: The implementation should be compatible to current vhost-net memory region API to support VM without DMAR enabled.

Design

  • Vhost-net can query the address mappings from io virtual address to userspace address through ioctl.
  • The above translation result could be cached in vhost for a while to speed up the future translation in the future.
  • Qemu can invalidate one or more mappings that cached by vhost through ioctl.
  • Qemu can start or stop the DMAR through ioctl.