Skip to content

Commit 6d83469

Browse files
Jiri Pirkomstsirkin
authored andcommitted
virtio_pci_modern: remove admin queue serialization lock
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 <jiri@nvidia.com> Message-Id: <20240716113552.80599-14-jiri@resnulli.us> Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
1 parent 4c3b54a commit 6d83469

File tree

2 files changed

+0
-7
lines changed

2 files changed

+0
-7
lines changed

drivers/virtio/virtio_pci_common.h

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -45,8 +45,6 @@ struct virtio_pci_vq_info {
4545
struct virtio_pci_admin_vq {
4646
/* Virtqueue info associated with this admin queue. */
4747
struct virtio_pci_vq_info *info;
48-
/* serializing admin commands execution. */
49-
struct mutex cmd_lock;
5048
/* Protects virtqueue access. */
5149
spinlock_t lock;
5250
u64 supported_cmds;

drivers/virtio/virtio_pci_modern.c

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -167,12 +167,9 @@ int vp_modern_admin_cmd_exec(struct virtio_device *vdev,
167167
in_num++;
168168
}
169169

170-
mutex_lock(&vp_dev->admin_vq.cmd_lock);
171170
ret = virtqueue_exec_admin_cmd(&vp_dev->admin_vq,
172171
le16_to_cpu(cmd->opcode),
173172
sgs, out_num, in_num, cmd);
174-
mutex_unlock(&vp_dev->admin_vq.cmd_lock);
175-
176173
if (ret) {
177174
dev_err(&vdev->dev,
178175
"Failed to execute command on admin vq: %d\n.", ret);
@@ -837,14 +834,12 @@ int virtio_pci_modern_probe(struct virtio_pci_device *vp_dev)
837834
vp_dev->vdev.id = mdev->id;
838835

839836
spin_lock_init(&vp_dev->admin_vq.lock);
840-
mutex_init(&vp_dev->admin_vq.cmd_lock);
841837
return 0;
842838
}
843839

844840
void virtio_pci_modern_remove(struct virtio_pci_device *vp_dev)
845841
{
846842
struct virtio_pci_modern_device *mdev = &vp_dev->mdev;
847843

848-
mutex_destroy(&vp_dev->admin_vq.cmd_lock);
849844
vp_modern_remove(mdev);
850845
}

0 commit comments

Comments
 (0)