From: Ming Lei <ming.lei@xxxxxxxxxx> virtio-blk/virtio-scsi needs this API for retrieving vq's affinity. Signed-off-by: Ming Lei <ming.lei@xxxxxxxxxx> Signed-off-by: Daniel Wagner <dwagner@xxxxxxx> --- drivers/virtio/virtio.c | 10 ++++++++++ include/linux/virtio.h | 2 ++ 2 files changed, 12 insertions(+) diff --git a/drivers/virtio/virtio.c b/drivers/virtio/virtio.c index a9b93e99c23a..c59a193ef337 100644 --- a/drivers/virtio/virtio.c +++ b/drivers/virtio/virtio.c @@ -592,6 +592,16 @@ int virtio_device_restore(struct virtio_device *dev) EXPORT_SYMBOL_GPL(virtio_device_restore); #endif +const struct cpumask *virtio_get_vq_affinity(struct virtio_device *dev, + int index) +{ + if (!dev->config->get_vq_affinity) + return NULL; + + return dev->config->get_vq_affinity(dev, index); +} +EXPORT_SYMBOL_GPL(virtio_get_vq_affinity); + static int virtio_init(void) { if (bus_register(&virtio_bus) != 0) diff --git a/include/linux/virtio.h b/include/linux/virtio.h index ecc5cb7b8c91..bab3858a4c8a 100644 --- a/include/linux/virtio.h +++ b/include/linux/virtio.h @@ -170,6 +170,8 @@ int virtio_device_restore(struct virtio_device *dev); void virtio_reset_device(struct virtio_device *dev); size_t virtio_max_dma_size(const struct virtio_device *vdev); +const struct cpumask *virtio_get_vq_affinity(struct virtio_device *dev, + int index); #define virtio_device_for_each_vq(vdev, vq) \ list_for_each_entry(vq, &vdev->vqs, list) -- 2.46.0