From: Jiri Pirko <j...@nvidia.com>

The admin queue operations are protected by newly introduced
spin lock. To make it possible to issue parallel commands, remove the
admin queue serialization lock.

Signed-off-by: Jiri Pirko <j...@nvidia.com>
---
 drivers/virtio/virtio_pci_common.h | 2 --
 drivers/virtio/virtio_pci_modern.c | 5 -----
 2 files changed, 7 deletions(-)

diff --git a/drivers/virtio/virtio_pci_common.h 
b/drivers/virtio/virtio_pci_common.h
index 38a0b6df0844..b3d2adca4383 100644
--- a/drivers/virtio/virtio_pci_common.h
+++ b/drivers/virtio/virtio_pci_common.h
@@ -43,8 +43,6 @@ struct virtio_pci_vq_info {
 };
 
 struct virtio_pci_admin_vq {
-       /* serializing admin commands execution. */
-       struct mutex cmd_lock;
        /* Protects virtqueue access. */
        spinlock_t lock;
        u64 supported_cmds;
diff --git a/drivers/virtio/virtio_pci_modern.c 
b/drivers/virtio/virtio_pci_modern.c
index b9937e4b8a69..d983e37c7d39 100644
--- a/drivers/virtio/virtio_pci_modern.c
+++ b/drivers/virtio/virtio_pci_modern.c
@@ -165,12 +165,9 @@ int vp_modern_admin_cmd_exec(struct virtio_device *vdev,
                in_num++;
        }
 
-       mutex_lock(&vp_dev->admin_vq.cmd_lock);
        ret = virtqueue_exec_admin_cmd(vp_dev, &vp_dev->admin_vq,
                                       le16_to_cpu(cmd->opcode),
                                       sgs, out_num, in_num, cmd);
-       mutex_unlock(&vp_dev->admin_vq.cmd_lock);
-
        if (ret) {
                dev_err(&vdev->dev,
                        "Failed to execute command on admin vq: %d\n.", ret);
@@ -815,7 +812,6 @@ int virtio_pci_modern_probe(struct virtio_pci_device 
*vp_dev)
        vp_dev->vdev.id = mdev->id;
 
        spin_lock_init(&vp_dev->admin_vq.lock);
-       mutex_init(&vp_dev->admin_vq.cmd_lock);
        return 0;
 }
 
@@ -823,6 +819,5 @@ void virtio_pci_modern_remove(struct virtio_pci_device 
*vp_dev)
 {
        struct virtio_pci_modern_device *mdev = &vp_dev->mdev;
 
-       mutex_destroy(&vp_dev->admin_vq.cmd_lock);
        vp_modern_remove(mdev);
 }
-- 
2.45.1


Reply via email to