Re: [RFC PATCH v3 7/8] vfio/type1: Add selective DMA faulting support

From: Alex Williamson
Date: Tue May 18 2021 - 14:59:09 EST


On Fri, 9 Apr 2021 11:44:19 +0800
Shenming Lu <lushenming@xxxxxxxxxx> wrote:

> Some devices only allow selective DMA faulting. Similar to the selective
> dirty page tracking, the vendor driver can call vfio_pin_pages() to
> indicate the non-faultable scope, we add a new struct vfio_range to
> record it, then when the IOPF handler receives any page request out
> of the scope, we can directly return with an invalid response.

Seems like this highlights a deficiency in the design, that the user
can't specify mappings as iopf enabled or disabled. Also, if the
vendor driver has pinned pages within the range, shouldn't that prevent
them from faulting in the first place? Why do we need yet more
tracking structures? Pages pinned by the vendor driver need to count
against the user's locked memory limits regardless of iopf. Thanks,

Alex