发明名称 Memory overcommit by using an emulated IOMMU in a computer system without a host IOMMU
摘要 A method and system for managing direct memory access (DMA) in a computer system without a host input/output memory management unit (IOMMU). The computer system hosts virtual machines and allows memory overcommit. The computer receives, from a guest operating system that runs on a virtual machine, a request for mapping a guest address to a bus address. The computer translates the guest address to a host address and pins a memory page containing the host address to keep the memory page in host memory. The host address is then returned to the guest operating system to allow a device to use the host address as the bus address for direct memory access (DMA) to a buffer managed by the guest operating system.
申请公布号 US8954959(B2) 申请公布日期 2015.02.10
申请号 US201012883576 申请日期 2010.09.16
申请人 Red Hat Israel, Ltd. 发明人 Tsirkin Michael;Wright Christopher M.
分类号 G06F9/455;G06F9/46;G06F13/28;G06F9/34;G06F12/10 主分类号 G06F9/455
代理机构 Lowenstein Sandler LLP 代理人 Lowenstein Sandler LLP
主权项 1. A method comprising: receiving, by a processing device, a request from a guest operating system to translate a guest device identifier and a guest address to a bus address, the guest operating system being run on one of a plurality of virtual machines hosted by the processing device, wherein the bus address is a physical address associated with a hardware device; translating the guest device identifier and the guest address to a host device identifier and a host address; pinning a memory page comprising the host address to keep the memory page in host memory; mapping the bus address to the host address; recording, in an emulated input/output memory management unit (IOMMU), a guest mapping comprising the guest device identifier associated with a pair of the bus address and the guest address; returning the host address to the guest operating system as a requested bus address for direct memory access (DMA) to a buffer managed by the guest operating system; and removing the mapping from the emulated IOMMU after the hardware device completes the DMA, wherein the processing device does not have or does not have control of a host IOMMU.
地址 Raanana IL