]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
vduse: Support get_vq_affinity callback
authorXie Yongji <xieyongji@bytedance.com>
Thu, 23 Mar 2023 05:30:38 +0000 (13:30 +0800)
committerMichael S. Tsirkin <mst@redhat.com>
Fri, 21 Apr 2023 07:02:32 +0000 (03:02 -0400)
This implements get_vq_affinity callback so that
the virtio-blk driver can build the blk-mq queues
based on the irq callback affinity.

Signed-off-by: Xie Yongji <xieyongji@bytedance.com>
Message-Id: <20230323053043.35-7-xieyongji@bytedance.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Acked-by: Jason Wang <jasowang@redhat.com>
drivers/vdpa/vdpa_user/vduse_dev.c

index 45aa8703c4b5e5161089ddedb7ec9d32ad17933b..cefabd0dab9cad5980cca9f21032e53655d0e849 100644 (file)
@@ -722,6 +722,14 @@ static int vduse_vdpa_set_vq_affinity(struct vdpa_device *vdpa, u16 idx,
        return 0;
 }
 
+static const struct cpumask *
+vduse_vdpa_get_vq_affinity(struct vdpa_device *vdpa, u16 idx)
+{
+       struct vduse_dev *dev = vdpa_to_vduse(vdpa);
+
+       return &dev->vqs[idx]->irq_affinity;
+}
+
 static int vduse_vdpa_set_map(struct vdpa_device *vdpa,
                                unsigned int asid,
                                struct vhost_iotlb *iotlb)
@@ -773,6 +781,7 @@ static const struct vdpa_config_ops vduse_vdpa_config_ops = {
        .set_config             = vduse_vdpa_set_config,
        .get_generation         = vduse_vdpa_get_generation,
        .set_vq_affinity        = vduse_vdpa_set_vq_affinity,
+       .get_vq_affinity        = vduse_vdpa_get_vq_affinity,
        .reset                  = vduse_vdpa_reset,
        .set_map                = vduse_vdpa_set_map,
        .free                   = vduse_vdpa_free,