-
Notifications
You must be signed in to change notification settings - Fork 68
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Allow the driver to reset a queue individually #124
Labels
virtio-v1.2-cs01
To be fixed in the next release.
Comments
BALLOT CREATED AT URL: https://www.oasis-open.org/committees/ballot.php?id=3676 |
cohuck
pushed a commit
that referenced
this issue
Dec 21, 2021
PCI support virtqueue reset. virtio_pci_common_cfg add "queue_reset" to support virtqueue reset. The driver uses this to selectively reset the queue. Fixes: #124 Reviewed-by: Jason Wang <jasowang@redhat.com> Signed-off-by: Xuan Zhuo <xuanzhuo@linux.alibaba.com> Signed-off-by: Cornelia Huck <cohuck@redhat.com>
cohuck
pushed a commit
that referenced
this issue
Dec 21, 2021
mmio support virtqueue reset. MMIO Device Register Layout "QueueReady" to support virtqueue reset. The driver uses this to selectively reset the queue. Fixes: #124 Reviewed-by: Jason Wang <jasowang@redhat.com> Signed-off-by: Xuan Zhuo <xuanzhuo@linux.alibaba.com> Signed-off-by: Cornelia Huck <cohuck@redhat.com>
fengidri
added a commit
to fengidri/linux
that referenced
this issue
Jan 19, 2022
Added VIRTIO_F_RING_RESET, it came from here oasis-tcs/virtio-spec#124 Signed-off-by: Xuan Zhuo <xuanzhuo@linux.alibaba.com>
fengguang
pushed a commit
to 0day-ci/linux
that referenced
this issue
Jan 20, 2022
Added VIRTIO_F_RING_RESET, it came from here oasis-tcs/virtio-spec#124 Signed-off-by: Xuan Zhuo <xuanzhuo@linux.alibaba.com>
fengguang
pushed a commit
to 0day-ci/linux
that referenced
this issue
Jan 26, 2022
Added VIRTIO_F_RING_RESET, it came from here oasis-tcs/virtio-spec#124 Signed-off-by: Xuan Zhuo <xuanzhuo@linux.alibaba.com>
fengguang
pushed a commit
to 0day-ci/linux
that referenced
this issue
Feb 14, 2022
Added VIRTIO_F_RING_RESET, it came from here oasis-tcs/virtio-spec#124 Signed-off-by: Xuan Zhuo <xuanzhuo@linux.alibaba.com>
roxell
pushed a commit
to roxell/linux
that referenced
this issue
Mar 7, 2022
Added VIRTIO_F_RING_RESET, it came from here oasis-tcs/virtio-spec#124 Signed-off-by: Xuan Zhuo <xuanzhuo@linux.alibaba.com> Link: https://lore.kernel.org/r/20220224081102.80224-3-xuanzhuo@linux.alibaba.com Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
jonhunter
pushed a commit
to jonhunter/linux
that referenced
this issue
Mar 9, 2022
Added VIRTIO_F_RING_RESET, it came from here oasis-tcs/virtio-spec#124 Signed-off-by: Xuan Zhuo <xuanzhuo@linux.alibaba.com> Link: https://lore.kernel.org/r/20220308123518.33800-3-xuanzhuo@linux.alibaba.com Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
intel-lab-lkp
pushed a commit
to intel-lab-lkp/linux
that referenced
this issue
Apr 6, 2022
Added VIRTIO_F_RING_RESET, it came from here oasis-tcs/virtio-spec#124 This feature indicates that the driver can reset a queue individually. Signed-off-by: Xuan Zhuo <xuanzhuo@linux.alibaba.com> Acked-by: Jason Wang <jasowang@redhat.com>
intel-lab-lkp
pushed a commit
to intel-lab-lkp/linux
that referenced
this issue
Jun 24, 2022
Added VIRTIO_F_RING_RESET, it came from here oasis-tcs/virtio-spec#124 oasis-tcs/virtio-spec#139 This feature indicates that the driver can reset a queue individually. Signed-off-by: Xuan Zhuo <xuanzhuo@linux.alibaba.com> Acked-by: Jason Wang <jasowang@redhat.com>
intel-lab-lkp
pushed a commit
to intel-lab-lkp/linux
that referenced
this issue
Jun 24, 2022
Add queue_reset in virtio_pci_common_cfg. For not breaks uABI, add a new struct virtio_pci_common_cfg_reset. oasis-tcs/virtio-spec#124 oasis-tcs/virtio-spec#139 Signed-off-by: Xuan Zhuo <xuanzhuo@linux.alibaba.com>
intel-lab-lkp
pushed a commit
to intel-lab-lkp/linux
that referenced
this issue
Jun 24, 2022
Introduce new helpers to implement queue reset and get queue reset status. oasis-tcs/virtio-spec#124 oasis-tcs/virtio-spec#139 Signed-off-by: Xuan Zhuo <xuanzhuo@linux.alibaba.com>
intel-lab-lkp
pushed a commit
to intel-lab-lkp/linux
that referenced
this issue
Jul 20, 2022
Added VIRTIO_F_RING_RESET, it came from here oasis-tcs/virtio-spec#124 oasis-tcs/virtio-spec#139 This feature indicates that the driver can reset a queue individually. Signed-off-by: Xuan Zhuo <xuanzhuo@linux.alibaba.com> Acked-by: Jason Wang <jasowang@redhat.com>
intel-lab-lkp
pushed a commit
to intel-lab-lkp/linux
that referenced
this issue
Jul 20, 2022
Add queue_reset in virtio_pci_common_cfg. oasis-tcs/virtio-spec#124 oasis-tcs/virtio-spec#139 Signed-off-by: Xuan Zhuo <xuanzhuo@linux.alibaba.com>
intel-lab-lkp
pushed a commit
to intel-lab-lkp/linux
that referenced
this issue
Jul 20, 2022
Introduce new helpers to implement queue reset and get queue reset status. oasis-tcs/virtio-spec#124 oasis-tcs/virtio-spec#139 Signed-off-by: Xuan Zhuo <xuanzhuo@linux.alibaba.com> Acked-by: Jason Wang <jasowang@redhat.com>
intel-lab-lkp
pushed a commit
to intel-lab-lkp/linux
that referenced
this issue
Jul 26, 2022
Added VIRTIO_F_RING_RESET, it came from here oasis-tcs/virtio-spec#124 oasis-tcs/virtio-spec#139 This feature indicates that the driver can reset a queue individually. Signed-off-by: Xuan Zhuo <xuanzhuo@linux.alibaba.com> Acked-by: Jason Wang <jasowang@redhat.com>
intel-lab-lkp
pushed a commit
to intel-lab-lkp/linux
that referenced
this issue
Jul 26, 2022
Add queue_reset in virtio_pci_common_cfg. oasis-tcs/virtio-spec#124 oasis-tcs/virtio-spec#139 Signed-off-by: Xuan Zhuo <xuanzhuo@linux.alibaba.com> Acked-by: Jason Wang <jasowang@redhat.com>
intel-lab-lkp
pushed a commit
to intel-lab-lkp/linux
that referenced
this issue
Jul 26, 2022
Introduce new helpers to implement queue reset and get queue reset status. oasis-tcs/virtio-spec#124 oasis-tcs/virtio-spec#139 Signed-off-by: Xuan Zhuo <xuanzhuo@linux.alibaba.com> Acked-by: Jason Wang <jasowang@redhat.com>
intel-lab-lkp
pushed a commit
to intel-lab-lkp/linux
that referenced
this issue
Aug 1, 2022
Added VIRTIO_F_RING_RESET, it came from here oasis-tcs/virtio-spec#124 oasis-tcs/virtio-spec#139 This feature indicates that the driver can reset a queue individually. Signed-off-by: Xuan Zhuo <xuanzhuo@linux.alibaba.com> Acked-by: Jason Wang <jasowang@redhat.com>
intel-lab-lkp
pushed a commit
to intel-lab-lkp/linux
that referenced
this issue
Aug 1, 2022
Add queue_reset in virtio_pci_modern_common_cfg. oasis-tcs/virtio-spec#124 oasis-tcs/virtio-spec#139 Signed-off-by: Xuan Zhuo <xuanzhuo@linux.alibaba.com> Acked-by: Jason Wang <jasowang@redhat.com>
intel-lab-lkp
pushed a commit
to intel-lab-lkp/linux
that referenced
this issue
Aug 1, 2022
Introduce new helpers to implement queue reset and get queue reset status. oasis-tcs/virtio-spec#124 oasis-tcs/virtio-spec#139 Signed-off-by: Xuan Zhuo <xuanzhuo@linux.alibaba.com> Acked-by: Jason Wang <jasowang@redhat.com>
jessfraz
pushed a commit
to jessfraz/linux
that referenced
this issue
Aug 10, 2022
Added VIRTIO_F_RING_RESET, it came from here oasis-tcs/virtio-spec#124 oasis-tcs/virtio-spec#139 This feature indicates that the driver can reset a queue individually. Signed-off-by: Xuan Zhuo <xuanzhuo@linux.alibaba.com> Acked-by: Jason Wang <jasowang@redhat.com> Message-Id: <20220801063902.129329-28-xuanzhuo@linux.alibaba.com> Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
jessfraz
pushed a commit
to jessfraz/linux
that referenced
this issue
Aug 10, 2022
Add queue_reset in virtio_pci_modern_common_cfg. oasis-tcs/virtio-spec#124 oasis-tcs/virtio-spec#139 Signed-off-by: Xuan Zhuo <xuanzhuo@linux.alibaba.com> Acked-by: Jason Wang <jasowang@redhat.com> Message-Id: <20220801063902.129329-30-xuanzhuo@linux.alibaba.com> Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
jessfraz
pushed a commit
to jessfraz/linux
that referenced
this issue
Aug 10, 2022
Introduce new helpers to implement queue reset and get queue reset status. oasis-tcs/virtio-spec#124 oasis-tcs/virtio-spec#139 Signed-off-by: Xuan Zhuo <xuanzhuo@linux.alibaba.com> Acked-by: Jason Wang <jasowang@redhat.com> Message-Id: <20220801063902.129329-31-xuanzhuo@linux.alibaba.com> Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
jessfraz
pushed a commit
to jessfraz/linux
that referenced
this issue
Aug 12, 2022
Added VIRTIO_F_RING_RESET, it came from here oasis-tcs/virtio-spec#124 oasis-tcs/virtio-spec#139 This feature indicates that the driver can reset a queue individually. Signed-off-by: Xuan Zhuo <xuanzhuo@linux.alibaba.com> Acked-by: Jason Wang <jasowang@redhat.com> Message-Id: <20220801063902.129329-28-xuanzhuo@linux.alibaba.com> Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
jessfraz
pushed a commit
to jessfraz/linux
that referenced
this issue
Aug 12, 2022
Add queue_reset in virtio_pci_modern_common_cfg. oasis-tcs/virtio-spec#124 oasis-tcs/virtio-spec#139 Signed-off-by: Xuan Zhuo <xuanzhuo@linux.alibaba.com> Acked-by: Jason Wang <jasowang@redhat.com> Message-Id: <20220801063902.129329-30-xuanzhuo@linux.alibaba.com> Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
jessfraz
pushed a commit
to jessfraz/linux
that referenced
this issue
Aug 12, 2022
Introduce new helpers to implement queue reset and get queue reset status. oasis-tcs/virtio-spec#124 oasis-tcs/virtio-spec#139 Signed-off-by: Xuan Zhuo <xuanzhuo@linux.alibaba.com> Acked-by: Jason Wang <jasowang@redhat.com> Message-Id: <20220801063902.129329-31-xuanzhuo@linux.alibaba.com> Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
middaywords
pushed a commit
to middaywords/linux
that referenced
this issue
Aug 12, 2022
Add VIRTIO_F_RING_RESET, which indicates that the driver can reset a queue individually. VIRTIO_F_RING_RESET feature is added to virtio-spec 1.2. The relevant information is in oasis-tcs/virtio-spec#124 oasis-tcs/virtio-spec#139 The implementation only adds the feature bit in supported features. It does not require any other changes because we reuse the existing vhost protocol. The virtqueue reset process can be concluded as two parts: 1. The driver can reset a virtqueue. When it is triggered, we use the set_backend to disable the virtqueue. 2. After the virtqueue is disabled, the driver may optionally re-enable it. The process is basically similar to when the device is started, except that the restart process does not need to set features and set mem table since they does not change. QEMU will send messages containing size, base, addr, kickfd and callfd of the virtqueue in order. Signed-off-by: Kangjie Xu <kangjie.xu@linux.alibaba.com> Signed-off-by: Xuan Zhuo <xuanzhuo@linux.alibaba.com>
middaywords
pushed a commit
to middaywords/linux
that referenced
this issue
Aug 12, 2022
Add VIRTIO_F_RING_RESET, which indicates that the driver can reset a queue individually. VIRTIO_F_RING_RESET feature is added to virtio-spec 1.2. The relevant information is in oasis-tcs/virtio-spec#124 oasis-tcs/virtio-spec#139 The implementation only adds the feature bit in supported features. It does not require any other changes because we reuse the existing vhost protocol. The virtqueue reset process can be concluded as two parts: 1. The driver can reset a virtqueue. When it is triggered, we use the set_backend to disable the virtqueue. 2. After the virtqueue is disabled, the driver may optionally re-enable it. The process is basically similar to when the device is started, except that the restart process does not need to set features and set mem table since they do not change. QEMU will send messages containing size, base, addr, kickfd and callfd of the virtqueue in order. Specifically, the host kernel will receive these messages in order: a. VHOST_SET_VRING_NUM b. VHOST_SET_VRING_BASE c. VHOST_SET_VRING_ADDR d. VHOST_SET_VRING_KICK e. VHOST_SET_VRING_CALL f. VHOST_NET_SET_BACKEND Finally, after we use set_backend to attach the virtqueue, the virtqueue will be enabled and start to work. Signed-off-by: Kangjie Xu <kangjie.xu@linux.alibaba.com> Signed-off-by: Xuan Zhuo <xuanzhuo@linux.alibaba.com>
middaywords
pushed a commit
to middaywords/linux
that referenced
this issue
Aug 25, 2022
Add VIRTIO_F_RING_RESET, which indicates that the driver can reset a queue individually. VIRTIO_F_RING_RESET feature is added to virtio-spec 1.2. The relevant information is in oasis-tcs/virtio-spec#124 oasis-tcs/virtio-spec#139 The implementation only adds the feature bit in supported features. It does not require any other changes because we reuse the existing vhost protocol. The virtqueue reset process can be concluded as two parts: 1. The driver can reset a virtqueue. When it is triggered, we use the set_backend to disable the virtqueue. 2. After the virtqueue is disabled, the driver may optionally re-enable it. The process is basically similar to when the device is started, except that the restart process does not need to set features and set mem table since they do not change. QEMU will send messages containing size, base, addr, kickfd and callfd of the virtqueue in order. Specifically, the host kernel will receive these messages in order: a. VHOST_SET_VRING_NUM b. VHOST_SET_VRING_BASE c. VHOST_SET_VRING_ADDR d. VHOST_SET_VRING_KICK e. VHOST_SET_VRING_CALL f. VHOST_NET_SET_BACKEND Finally, after we use set_backend to attach the virtqueue, the virtqueue will be enabled and start to work. Signed-off-by: Kangjie Xu <kangjie.xu@linux.alibaba.com> Signed-off-by: Xuan Zhuo <xuanzhuo@linux.alibaba.com>
middaywords
pushed a commit
to middaywords/qemu
that referenced
this issue
Aug 25, 2022
This is updated using scripts/update-linux-headers.sh. Added VIRTIO_F_RING_RESET, VIRTIO_PCI_COMMON_Q_RESET. It came from here: oasis-tcs/virtio-spec#124 oasis-tcs/virtio-spec#139 Add VIRTIO_PCI_COMMON_Q_NDATA, which comes from here: oasis-tcs/virtio-spec#89 Signed-off-by: Xuan Zhuo <xuanzhuo@linux.alibaba.com> Signed-off-by: Kangjie Xu <kangjie.xu@linux.alibaba.com>
ovsrobot
pushed a commit
to ovsrobot/dpdk
that referenced
this issue
Sep 5, 2022
Add VIRTIO_F_RING_RESET, which indicates that the driver can reset a queue individually. The feature is added to virtio-spec 1.2. The relevant information is in oasis-tcs/virtio-spec#124 Signed-off-by: Kangjie Xu <kangjie.xu@linux.alibaba.com> Signed-off-by: Xuan Zhuo <xuanzhuo@linux.alibaba.com> Signed-off-by: 0-day Robot <robot@bytheb.org>
middaywords
pushed a commit
to middaywords/dpdk
that referenced
this issue
Sep 12, 2022
Add VIRTIO_F_RING_RESET, which indicates that the driver can reset a queue individually. The feature is added to virtio-spec 1.2. The relevant information is in oasis-tcs/virtio-spec#124 Signed-off-by: Kangjie Xu <kangjie.xu@linux.alibaba.com> Signed-off-by: Xuan Zhuo <xuanzhuo@linux.alibaba.com>
ovsrobot
pushed a commit
to ovsrobot/dpdk
that referenced
this issue
Sep 12, 2022
Add VIRTIO_F_RING_RESET, which indicates that the driver can reset a queue individually. The feature is added to virtio-spec 1.2. The relevant information is in oasis-tcs/virtio-spec#124 Signed-off-by: Kangjie Xu <kangjie.xu@linux.alibaba.com> Signed-off-by: Xuan Zhuo <xuanzhuo@linux.alibaba.com> Signed-off-by: 0-day Robot <robot@bytheb.org>
it-is-a-robot
pushed a commit
to openeuler-mirror/kernel
that referenced
this issue
Dec 14, 2022
mainline inclusion from mainline-v6.0-rc1 commit 0b50cec category: feature bugzilla: https://gitee.com/openeuler/kernel/issues/I5WXCZ CVE: NA Reference: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=0b50cece0b7857732d2055f2c77f8730c10f9196 ---------------------------------------------------------------------- Introduce new helpers to implement queue reset and get queue reset status. oasis-tcs/virtio-spec#124 oasis-tcs/virtio-spec#139 Signed-off-by: Xuan Zhuo <xuanzhuo@linux.alibaba.com> Acked-by: Jason Wang <jasowang@redhat.com> Message-Id: <20220801063902.129329-31-xuanzhuo@linux.alibaba.com> Signed-off-by: Michael S. Tsirkin <mst@redhat.com> Signed-off-by: Pengyuan Zhao <zhaopengyuan@hisilicon.com> (cherry picked from commit 21ea447)
it-is-a-robot
pushed a commit
to openeuler-mirror/kernel
that referenced
this issue
Dec 14, 2022
mainline inclusion from mainline-v6.0-rc1 commit 0cdd450 category: feature bugzilla: https://gitee.com/openeuler/kernel/issues/I5WXCZ CVE: NA Reference: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=0cdd450e70510c9e13af8099e9f6c1467e6a0b91 ---------------------------------------------------------------------- Add queue_reset in virtio_pci_modern_common_cfg. oasis-tcs/virtio-spec#124 oasis-tcs/virtio-spec#139 Signed-off-by: Xuan Zhuo <xuanzhuo@linux.alibaba.com> Acked-by: Jason Wang <jasowang@redhat.com> Message-Id: <20220801063902.129329-30-xuanzhuo@linux.alibaba.com> Signed-off-by: Michael S. Tsirkin <mst@redhat.com> Signed-off-by: Pengyuan Zhao <zhaopengyuan@hisilicon.com> (cherry picked from commit 0a3d24b)
it-is-a-robot
pushed a commit
to openeuler-mirror/kernel
that referenced
this issue
Dec 14, 2022
mainline inclusion from mainline-v6.0-rc1 commit 0b50cec category: feature bugzilla: https://gitee.com/openeuler/kernel/issues/I5WXCZ CVE: NA Reference: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=0b50cece0b7857732d2055f2c77f8730c10f9196 ---------------------------------------------------------------------- Introduce new helpers to implement queue reset and get queue reset status. oasis-tcs/virtio-spec#124 oasis-tcs/virtio-spec#139 Signed-off-by: Xuan Zhuo <xuanzhuo@linux.alibaba.com> Acked-by: Jason Wang <jasowang@redhat.com> Message-Id: <20220801063902.129329-31-xuanzhuo@linux.alibaba.com> Signed-off-by: Michael S. Tsirkin <mst@redhat.com> Signed-off-by: Pengyuan Zhao <zhaopengyuan@hisilicon.com>
it-is-a-robot
pushed a commit
to openeuler-mirror/kernel
that referenced
this issue
Dec 14, 2022
mainline inclusion from mainline-v6.0-rc1 commit 0cdd450 category: feature bugzilla: https://gitee.com/openeuler/kernel/issues/I5WXCZ CVE: NA Reference: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=0cdd450e70510c9e13af8099e9f6c1467e6a0b91 ---------------------------------------------------------------------- Add queue_reset in virtio_pci_modern_common_cfg. oasis-tcs/virtio-spec#124 oasis-tcs/virtio-spec#139 Signed-off-by: Xuan Zhuo <xuanzhuo@linux.alibaba.com> Acked-by: Jason Wang <jasowang@redhat.com> Message-Id: <20220801063902.129329-30-xuanzhuo@linux.alibaba.com> Signed-off-by: Michael S. Tsirkin <mst@redhat.com> Signed-off-by: Pengyuan Zhao <zhaopengyuan@hisilicon.com>
intel-lab-lkp
pushed a commit
to intel-lab-lkp/linux
that referenced
this issue
Feb 2, 2023
Add VIRTIO_F_RING_RESET, which indicates that the driver can reset a queue individually. VIRTIO_F_RING_RESET feature is added to virtio-spec 1.2. The relevant information is in oasis-tcs/virtio-spec#124 oasis-tcs/virtio-spec#139 The implementation only adds the feature bit in supported features. It does not require any other changes because we reuse the existing vhost protocol. The virtqueue reset process can be concluded as two parts: 1. The driver can reset a virtqueue. When it is triggered, we use the set_backend to disable the virtqueue. 2. After the virtqueue is disabled, the driver may optionally re-enable it. The process is basically similar to when the device is started, except that the restart process does not need to set features and set mem table since they do not change. QEMU will send messages containing size, base, addr, kickfd and callfd of the virtqueue in order. Specifically, the host kernel will receive these messages in order: a. VHOST_SET_VRING_NUM b. VHOST_SET_VRING_BASE c. VHOST_SET_VRING_ADDR d. VHOST_SET_VRING_KICK e. VHOST_SET_VRING_CALL f. VHOST_NET_SET_BACKEND Finally, after we use set_backend to attach the virtqueue, the virtqueue will be enabled and start to work. Signed-off-by: Kangjie Xu <kangjie.xu@linux.alibaba.com> Signed-off-by: Xuan Zhuo <xuanzhuo@linux.alibaba.com> Message-Id: <20220825085610.80315-1-kangjie.xu@linux.alibaba.com> Signed-off-by: Michael S. Tsirkin <mst@redhat.com> Acked-by: Jason Wang <jasowang@redhat.com>
staging-kernelci-org
pushed a commit
to kernelci/linux
that referenced
this issue
Feb 6, 2023
Add VIRTIO_F_RING_RESET, which indicates that the driver can reset a queue individually. VIRTIO_F_RING_RESET feature is added to virtio-spec 1.2. The relevant information is in oasis-tcs/virtio-spec#124 oasis-tcs/virtio-spec#139 The implementation only adds the feature bit in supported features. It does not require any other changes because we reuse the existing vhost protocol. The virtqueue reset process can be concluded as two parts: 1. The driver can reset a virtqueue. When it is triggered, we use the set_backend to disable the virtqueue. 2. After the virtqueue is disabled, the driver may optionally re-enable it. The process is basically similar to when the device is started, except that the restart process does not need to set features and set mem table since they do not change. QEMU will send messages containing size, base, addr, kickfd and callfd of the virtqueue in order. Specifically, the host kernel will receive these messages in order: a. VHOST_SET_VRING_NUM b. VHOST_SET_VRING_BASE c. VHOST_SET_VRING_ADDR d. VHOST_SET_VRING_KICK e. VHOST_SET_VRING_CALL f. VHOST_NET_SET_BACKEND Finally, after we use set_backend to attach the virtqueue, the virtqueue will be enabled and start to work. Signed-off-by: Kangjie Xu <kangjie.xu@linux.alibaba.com> Signed-off-by: Xuan Zhuo <xuanzhuo@linux.alibaba.com> Message-Id: <20220825085610.80315-1-kangjie.xu@linux.alibaba.com> Signed-off-by: Michael S. Tsirkin <mst@redhat.com> Acked-by: Jason Wang <jasowang@redhat.com>
intel-lab-lkp
pushed a commit
to intel-lab-lkp/linux
that referenced
this issue
Feb 14, 2023
Add VIRTIO_F_RING_RESET, which indicates that the driver can reset a queue individually. VIRTIO_F_RING_RESET feature is added to virtio-spec 1.2. The relevant information is in oasis-tcs/virtio-spec#124 oasis-tcs/virtio-spec#139 The implementation only adds the feature bit in supported features. It does not require any other changes because we reuse the existing vhost protocol. The virtqueue reset process can be concluded as two parts: 1. The driver can reset a virtqueue. When it is triggered, we use the set_backend to disable the virtqueue. 2. After the virtqueue is disabled, the driver may optionally re-enable it. The process is basically similar to when the device is started, except that the restart process does not need to set features and set mem table since they do not change. QEMU will send messages containing size, base, addr, kickfd and callfd of the virtqueue in order. Specifically, the host kernel will receive these messages in order: a. VHOST_SET_VRING_NUM b. VHOST_SET_VRING_BASE c. VHOST_SET_VRING_ADDR d. VHOST_SET_VRING_KICK e. VHOST_SET_VRING_CALL f. VHOST_NET_SET_BACKEND Finally, after we use set_backend to attach the virtqueue, the virtqueue will be enabled and start to work. Signed-off-by: Kangjie Xu <kangjie.xu@linux.alibaba.com> Signed-off-by: Xuan Zhuo <xuanzhuo@linux.alibaba.com> Message-Id: <20220825085610.80315-1-kangjie.xu@linux.alibaba.com> Signed-off-by: Michael S. Tsirkin <mst@redhat.com> Acked-by: Jason Wang <jasowang@redhat.com>
intel-lab-lkp
pushed a commit
to intel-lab-lkp/linux
that referenced
this issue
Feb 15, 2023
Add VIRTIO_F_RING_RESET, which indicates that the driver can reset a queue individually. VIRTIO_F_RING_RESET feature is added to virtio-spec 1.2. The relevant information is in oasis-tcs/virtio-spec#124 oasis-tcs/virtio-spec#139 The implementation only adds the feature bit in supported features. It does not require any other changes because we reuse the existing vhost protocol. The virtqueue reset process can be concluded as two parts: 1. The driver can reset a virtqueue. When it is triggered, we use the set_backend to disable the virtqueue. 2. After the virtqueue is disabled, the driver may optionally re-enable it. The process is basically similar to when the device is started, except that the restart process does not need to set features and set mem table since they do not change. QEMU will send messages containing size, base, addr, kickfd and callfd of the virtqueue in order. Specifically, the host kernel will receive these messages in order: a. VHOST_SET_VRING_NUM b. VHOST_SET_VRING_BASE c. VHOST_SET_VRING_ADDR d. VHOST_SET_VRING_KICK e. VHOST_SET_VRING_CALL f. VHOST_NET_SET_BACKEND Finally, after we use set_backend to attach the virtqueue, the virtqueue will be enabled and start to work. Signed-off-by: Kangjie Xu <kangjie.xu@linux.alibaba.com> Signed-off-by: Xuan Zhuo <xuanzhuo@linux.alibaba.com> Message-Id: <20220825085610.80315-1-kangjie.xu@linux.alibaba.com> Signed-off-by: Michael S. Tsirkin <mst@redhat.com> Acked-by: Jason Wang <jasowang@redhat.com>
roxell
pushed a commit
to roxell/linux
that referenced
this issue
Feb 21, 2023
Add VIRTIO_F_RING_RESET, which indicates that the driver can reset a queue individually. VIRTIO_F_RING_RESET feature is added to virtio-spec 1.2. The relevant information is in oasis-tcs/virtio-spec#124 oasis-tcs/virtio-spec#139 The implementation only adds the feature bit in supported features. It does not require any other changes because we reuse the existing vhost protocol. The virtqueue reset process can be concluded as two parts: 1. The driver can reset a virtqueue. When it is triggered, we use the set_backend to disable the virtqueue. 2. After the virtqueue is disabled, the driver may optionally re-enable it. The process is basically similar to when the device is started, except that the restart process does not need to set features and set mem table since they do not change. QEMU will send messages containing size, base, addr, kickfd and callfd of the virtqueue in order. Specifically, the host kernel will receive these messages in order: a. VHOST_SET_VRING_NUM b. VHOST_SET_VRING_BASE c. VHOST_SET_VRING_ADDR d. VHOST_SET_VRING_KICK e. VHOST_SET_VRING_CALL f. VHOST_NET_SET_BACKEND Finally, after we use set_backend to attach the virtqueue, the virtqueue will be enabled and start to work. Signed-off-by: Kangjie Xu <kangjie.xu@linux.alibaba.com> Signed-off-by: Xuan Zhuo <xuanzhuo@linux.alibaba.com> Message-Id: <20220825085610.80315-1-kangjie.xu@linux.alibaba.com> Signed-off-by: Michael S. Tsirkin <mst@redhat.com> Acked-by: Jason Wang <jasowang@redhat.com>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Update the virtio spec by adding optional new feature that extends the basic facility to allow the driver to reset a virtqueue. This main motivation is to support the reset function of the queue of the network device.
Proposed patch set: https://lists.oasis-open.org/archives/virtio-dev/202111/msg00011.html
The text was updated successfully, but these errors were encountered: