Re: [RFC PATCH 1/6] vdpa: add bind_mm callback
From: Jason Wang <hidden>
Date: 2022-12-16 06:38:53
Also in:
kvm, lkml, virtualization
On Thu, Dec 15, 2022 at 12:30 AM Stefano Garzarella [off-list ref] wrote:
quoted hunk ↗ jump to hunk
This new optional callback is used to bind the device to a specific address space so the vDPA framework can use VA when this callback is implemented. Suggested-by: Jason Wang <redacted> Signed-off-by: Stefano Garzarella <sgarzare@redhat.com> --- include/linux/vdpa.h | 8 ++++++++ 1 file changed, 8 insertions(+)diff --git a/include/linux/vdpa.h b/include/linux/vdpa.h index 6d0f5e4e82c2..34388e21ef3f 100644 --- a/include/linux/vdpa.h +++ b/include/linux/vdpa.h@@ -282,6 +282,12 @@ struct vdpa_map_file { * @iova: iova to be unmapped * @size: size of the area * Returns integer: success (0) or error (< 0) + * @bind_mm: Bind the device to a specific address space + * so the vDPA framework can use VA when this + * callback is implemented. (optional) + * @vdev: vdpa device + * @mm: address space to bind
Do we need an unbind or did a NULL mm mean unbind?
+ * @owner: process that owns the address space
Any reason we need the task_struct here? Thanks
quoted hunk ↗ jump to hunk
* @free: Free resources that belongs to vDPA (optional) * @vdev: vdpa device */@@ -341,6 +347,8 @@ struct vdpa_config_ops { u64 iova, u64 size); int (*set_group_asid)(struct vdpa_device *vdev, unsigned int group, unsigned int asid); + int (*bind_mm)(struct vdpa_device *vdev, struct mm_struct *mm, + struct task_struct *owner); /* Free device resources */ void (*free)(struct vdpa_device *vdev); --2.38.1