【发布时间】:2020-05-22 23:33:43
【问题描述】:
假设我正在编写一个内核驱动程序,它在 Windows 的 Hyper-V 子分区中运行,有一些来自非分页池的缓冲区。这个缓冲区是否保证被锁定在主机的物理内存中?
背景是我想启动涉及此缓冲区的 DMA,我不希望主机将其分页。
【问题讨论】:
标签: windows virtualization hyper-v
假设我正在编写一个内核驱动程序,它在 Windows 的 Hyper-V 子分区中运行,有一些来自非分页池的缓冲区。这个缓冲区是否保证被锁定在主机的物理内存中?
背景是我想启动涉及此缓冲区的 DMA,我不希望主机将其分页。
【问题讨论】:
标签: windows virtualization hyper-v
回答我自己的问题。 根据我从 Hyper-V 团队中的某个人那里得到的答案,他说:
一般来说,非分页的内存来自客人的 透视图可以被主机分页。但是,如果客人有 访问物理设备时,主机不会将客户内存分页到 避免在 IOMMU 上引起 DMA 故障。来宾是否是 Windows 或 Linux(或其他)不是这种行为的一个因素。
【讨论】: