Re: [RFC PATCH 1/6] vdpa: add bind_mm callback

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, Dec 16, 2022 at 02:37:45PM +0800, Jason Wang wrote:
On Thu, Dec 15, 2022 at 12:30 AM Stefano Garzarella <sgarzare@xxxxxxxxxx> wrote:

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 <jasowang@xxxxxxxxxx>
Signed-off-by: Stefano Garzarella <sgarzare@xxxxxxxxxx>
---
 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?

Yep, your comment in patch 6 makes it necessary. I will add it!


+ *                             @owner: process that owns the address space

Any reason we need the task_struct here?

Mainly to attach to kthread to the process cgroups, but that part is still in TODO since I need to understand it better.

Maybe we can remove the task_struct here and use `current` directly in the callback.

Thanks,
Stefano




[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux