Re: [PATCH 09/16] vdpa/mlx5: Allow creation/deletion of any given mr struct

2023-10-09 Thread Dragos Tatulea via Virtualization
On Mon, 2023-10-09 at 14:39 +0800, Jason Wang wrote: > On Sun, Oct 8, 2023 at 8:05 PM Dragos Tatulea wrote: > > > > On Sun, 2023-10-08 at 12:25 +0800, Jason Wang wrote: > > > On Tue, Sep 26, 2023 at 3:21 PM Dragos Tatulea > > > wrote: > > > > > > > > On Tue, 2023-09-26 at 12:44 +0800, Jason Wan

Re: [RFC PATCH 5/7] tun: Introduce virtio-net hashing feature

2023-10-09 Thread Willem de Bruijn
On Sun, Oct 8, 2023 at 3:46 PM Akihiko Odaki wrote: > > On 2023/10/09 5:08, Willem de Bruijn wrote: > > On Sun, Oct 8, 2023 at 10:04 PM Akihiko Odaki > > wrote: > >> > >> On 2023/10/09 4:07, Willem de Bruijn wrote: > >>> On Sun, Oct 8, 2023 at 7:22 AM Akihiko Odaki > >>> wrote: > > v

Re: [RFC PATCH 5/7] tun: Introduce virtio-net hashing feature

2023-10-09 Thread Willem de Bruijn
On Sun, Oct 8, 2023 at 12:22 AM Akihiko Odaki wrote: > > virtio-net have two usage of hashes: one is RSS and another is hash > reporting. Conventionally the hash calculation was done by the VMM. > However, computing the hash after the queue was chosen defeats the > purpose of RSS. > > Another appr

Re: [RFC PATCH 5/7] tun: Introduce virtio-net hashing feature

2023-10-09 Thread Willem de Bruijn
On Mon, Oct 9, 2023 at 3:44 AM Akihiko Odaki wrote: > > On 2023/10/09 17:13, Willem de Bruijn wrote: > > On Sun, Oct 8, 2023 at 12:22 AM Akihiko Odaki > > wrote: > >> > >> virtio-net have two usage of hashes: one is RSS and another is hash > >> reporting. Conventionally the hash calculation was

Re: [RFC PATCH 5/7] tun: Introduce virtio-net hashing feature

2023-10-09 Thread Willem de Bruijn
On Mon, Oct 9, 2023 at 3:57 AM Akihiko Odaki wrote: > > On 2023/10/09 17:04, Willem de Bruijn wrote: > > On Sun, Oct 8, 2023 at 3:46 PM Akihiko Odaki > > wrote: > >> > >> On 2023/10/09 5:08, Willem de Bruijn wrote: > >>> On Sun, Oct 8, 2023 at 10:04 PM Akihiko Odaki > >>> wrote: > >

Re: [RFC PATCH 5/7] tun: Introduce virtio-net hashing feature

2023-10-09 Thread Willem de Bruijn
On Mon, Oct 9, 2023 at 3:02 AM Akihiko Odaki wrote: > > On 2023/10/09 18:57, Willem de Bruijn wrote: > > On Mon, Oct 9, 2023 at 3:57 AM Akihiko Odaki > > wrote: > >> > >> On 2023/10/09 17:04, Willem de Bruijn wrote: > >>> On Sun, Oct 8, 2023 at 3:46 PM Akihiko Odaki > >>> wrote: > >

Re: [RFC PATCH 5/7] tun: Introduce virtio-net hashing feature

2023-10-09 Thread Willem de Bruijn
On Mon, Oct 9, 2023 at 3:05 AM Akihiko Odaki wrote: > > > > On 2023/10/09 18:54, Willem de Bruijn wrote: > > On Mon, Oct 9, 2023 at 3:44 AM Akihiko Odaki > > wrote: > >> > >> On 2023/10/09 17:13, Willem de Bruijn wrote: > >>> On Sun, Oct 8, 2023 at 12:22 AM Akihiko Odaki > >>> wrote: > >

Re: [RFC PATCH 5/7] tun: Introduce virtio-net hashing feature

2023-10-09 Thread Willem de Bruijn
On Mon, Oct 9, 2023 at 3:11 AM Akihiko Odaki wrote: > > On 2023/10/09 19:07, Willem de Bruijn wrote: > > On Mon, Oct 9, 2023 at 3:05 AM Akihiko Odaki > > wrote: > >> > >> > >> > >> On 2023/10/09 18:54, Willem de Bruijn wrote: > >>> On Mon, Oct 9, 2023 at 3:44 AM Akihiko Odaki > >>> wrote: > >>

Re: [PATCH vhost v2 1/2] virtio_pci: fix the common map size and add check for common size

2023-10-09 Thread Michael S. Tsirkin
On Mon, Oct 09, 2023 at 09:15:31AM +0800, Xuan Zhuo wrote: > On Sun, 8 Oct 2023 06:42:37 -0400, "Michael S. Tsirkin" > wrote: > > On Sun, Oct 08, 2023 at 05:38:41PM +0800, Xuan Zhuo wrote: > > > Now, the function vp_modern_map_capability() takes the size parameter, > > > which corresponds to the

Re: [RFC PATCH 5/7] tun: Introduce virtio-net hashing feature

2023-10-09 Thread Willem de Bruijn
On Mon, Oct 9, 2023 at 3:12 AM Akihiko Odaki wrote: > > On 2023/10/09 19:06, Willem de Bruijn wrote: > > On Mon, Oct 9, 2023 at 3:02 AM Akihiko Odaki > > wrote: > >> > >> On 2023/10/09 18:57, Willem de Bruijn wrote: > >>> On Mon, Oct 9, 2023 at 3:57 AM Akihiko Odaki > >>> wrote: > >

Re: [PATCH 2/2] tools/virtio: Add hints when module is not installed

2023-10-09 Thread Michael S. Tsirkin
On Mon, Oct 09, 2023 at 02:44:55AM +, Liming Wu wrote: > > > > -Original Message- > > From: Jason Wang > > Sent: Sunday, October 8, 2023 12:36 PM > > To: Liming Wu > > Cc: Michael S . Tsirkin ; k...@vger.kernel.org; > > virtualization@lists.linux-foundation.org; net...@vger.kernel.o

[PATCH vhost v3 00/16] vdpa: Add support for vq descriptor mappings

2023-10-09 Thread Dragos Tatulea via Virtualization
This patch series adds support for vq descriptor table mappings which are used to improve vdpa live migration downtime. The improvement comes from using smaller mappings which take less time to create and destroy in hw. The first part adds the vdpa core changes from Si-Wei [0]. The second part ad

[PATCH mlx5-vhost v3 01/16] vdpa/mlx5: Expose descriptor group mkey hw capability

2023-10-09 Thread Dragos Tatulea via Virtualization
Necessary for improved live migration flow. Actual support will be added in a downstream patch. Reviewed-by: Gal Pressman Signed-off-by: Dragos Tatulea --- include/linux/mlx5/mlx5_ifc.h | 8 +++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/include/linux/mlx5/mlx5_ifc.h b/in

[PATCH vhost v3 03/16] vhost-vdpa: introduce descriptor group backend feature

2023-10-09 Thread Dragos Tatulea via Virtualization
From: Si-Wei Liu Userspace knows if the device has dedicated descriptor group or not by checking this feature bit. It's only exposed if the vdpa driver backend implements the .get_vq_desc_group() operation callback. Userspace trying to negotiate this feature when it or the dependent _F_IOTLB_ASI

[PATCH vhost v3 02/16] vdpa: introduce dedicated descriptor group for virtqueue

2023-10-09 Thread Dragos Tatulea via Virtualization
From: Si-Wei Liu In some cases, the access to the virtqueue's descriptor area, device and driver areas (precluding indirect descriptor table in guest memory) may have to be confined to a different address space than where its buffers reside. Without loss of simplicity and generality with already

[PATCH vhost v3 04/16] vhost-vdpa: uAPI to get dedicated descriptor group id

2023-10-09 Thread Dragos Tatulea via Virtualization
From: Si-Wei Liu With _F_DESC_ASID backend feature, the device can now support the VHOST_VDPA_GET_VRING_DESC_GROUP ioctl, and it may expose the descriptor table (including avail and used ring) in a different group than the buffers it contains. This new uAPI will fetch the group ID of the descript

[PATCH vhost v3 06/16] vdpa/mlx5: Decouple cvq iotlb handling from hw mapping code

2023-10-09 Thread Dragos Tatulea via Virtualization
The handling of the cvq iotlb is currently coupled with the creation and destruction of the hardware mkeys (mr). This patch moves cvq iotlb handling into its own function and shifts it to a scope that is not related to mr handling. As cvq handling is just a prune_iotlb + dup_iotlb cycle, put it al

[PATCH vhost v3 07/16] vdpa/mlx5: Take cvq iotlb lock during refresh

2023-10-09 Thread Dragos Tatulea via Virtualization
The reslock is taken while refresh is called but iommu_lock is more specific to this resource. So take the iommu_lock during cvq iotlb refresh. Based on Eugenio's patch [0]. [0] https://lore.kernel.org/lkml/20230112142218.725622-4-epere...@redhat.com/ Acked-by: Jason Wang Suggested-by: Eugenio

[PATCH vhost v3 05/16] vdpa/mlx5: Create helper function for dma mappings

2023-10-09 Thread Dragos Tatulea via Virtualization
Necessary for upcoming cvq separation from mr allocation. Acked-by: Jason Wang Signed-off-by: Dragos Tatulea --- drivers/vdpa/mlx5/core/mlx5_vdpa.h | 1 + drivers/vdpa/mlx5/core/mr.c| 5 + drivers/vdpa/mlx5/net/mlx5_vnet.c | 4 ++-- 3 files changed, 8 insertions(+), 2 deletions(-)

[PATCH vhost v3 09/16] vdpa/mlx5: Rename mr destroy functions

2023-10-09 Thread Dragos Tatulea via Virtualization
Make mlx5_destroy_mr symmetric to mlx5_create_mr. Acked-by: Jason Wang Acked-by: Eugenio Pérez Signed-off-by: Dragos Tatulea --- drivers/vdpa/mlx5/core/mlx5_vdpa.h | 4 ++-- drivers/vdpa/mlx5/core/mr.c| 6 +++--- drivers/vdpa/mlx5/net/mlx5_vnet.c | 12 ++-- 3 files changed,

[PATCH vhost v3 08/16] vdpa/mlx5: Collapse "dvq" mr add/delete functions

2023-10-09 Thread Dragos Tatulea via Virtualization
Now that the cvq code is out of mlx5_vdpa_create/destroy_mr, the "dvq" functions can be folded into their callers. Having "dvq" in the naming will no longer be accurate in the downstream patches. Acked-by: Jason Wang Acked-by: Eugenio Pérez Signed-off-by: Dragos Tatulea --- drivers/vdpa/mlx5/

[PATCH vhost v3 11/16] vdpa/mlx5: Move mr mutex out of mr struct

2023-10-09 Thread Dragos Tatulea via Virtualization
The mutex is named like it is supposed to protect only the mkey but in reality it is a global lock for all mr resources. Shift the mutex to it's rightful location (struct mlx5_vdpa_dev) and give it a more appropriate name. Signed-off-by: Dragos Tatulea Acked-by: Eugenio Pérez --- drivers/vdpa/

[PATCH vhost v3 10/16] vdpa/mlx5: Allow creation/deletion of any given mr struct

2023-10-09 Thread Dragos Tatulea via Virtualization
This patch adapts the mr creation/deletion code to be able to work with any given mr struct pointer. All the APIs are adapted to take an extra parameter for the mr. mlx5_vdpa_create/delete_mr doesn't need a ASID parameter anymore. The check is done in the caller instead (mlx5_set_map). This chang

[PATCH vhost v3 13/16] vdpa/mlx5: Introduce mr for vq descriptor

2023-10-09 Thread Dragos Tatulea via Virtualization
Introduce the vq descriptor group and mr per ASID. Until now .set_map on ASID 1 was only updating the cvq iotlb. From now on it also creates a mkey for it. The current patch doesn't use it but follow-up patches will add hardware support for mapping the vq descriptors. Acked-by: Eugenio Pérez Sign

[PATCH vhost v3 12/16] vdpa/mlx5: Improve mr update flow

2023-10-09 Thread Dragos Tatulea via Virtualization
The current flow for updating an mr works directly on mvdev->mr which makes it cumbersome to handle multiple new mr structs. This patch makes the flow more straightforward by having mlx5_vdpa_create_mr return a new mr which will update the old mr (if any). The old mr will be deleted and unlinked f

[PATCH vhost v3 14/16] vdpa/mlx5: Enable hw support for vq descriptor mapping

2023-10-09 Thread Dragos Tatulea via Virtualization
Vq descriptor mappings are supported in hardware by filling in an additional mkey which contains the descriptor mappings to the hw vq. A previous patch in this series added support for hw mkey (mr) creation for ASID 1. This patch fills in both the vq data and vq descriptor mkeys based on group AS

[PATCH vhost v3 15/16] vdpa/mlx5: Make iotlb helper functions more generic

2023-10-09 Thread Dragos Tatulea via Virtualization
They will be used in a follow-up patch. For dup_iotlb, avoid the src == dst case. This is an error. Acked-by: Eugenio Pérez Signed-off-by: Dragos Tatulea --- drivers/vdpa/mlx5/core/mr.c | 19 +++ 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/drivers/vdpa/mlx5/c

[PATCH vhost v3 16/16] vdpa/mlx5: Update cvq iotlb mapping on ASID change

2023-10-09 Thread Dragos Tatulea via Virtualization
For the following sequence: - cvq group is in ASID 0 - .set_map(1, cvq_iotlb) - .set_group_asid(cvq_group, 1) ... the cvq mapping from ASID 0 will be used. This is not always correct behaviour. This patch adds support for the above mentioned flow by saving the iotlb on each .set_map and updating

Re: [RFC PATCH 5/7] tun: Introduce virtio-net hashing feature

2023-10-09 Thread Michael S. Tsirkin
Akihiko Odaki sorry about reposts. Having an email with two "@" in the CC list: xuanzhuo@linux.alibaba.comsh...@kernel.org tripped up mutt's reply-all for me and made it send to you only. I am guessing you meant two addresses: xuanz...@linux.alibaba.com and sh...@kernel.org. On Sun, Oct

Re: [RFC PATCH 5/7] tun: Introduce virtio-net hashing feature

2023-10-09 Thread Michael S. Tsirkin
On Mon, Oct 09, 2023 at 05:44:20PM +0900, Akihiko Odaki wrote: > On 2023/10/09 17:13, Willem de Bruijn wrote: > > On Sun, Oct 8, 2023 at 12:22 AM Akihiko Odaki > > wrote: > > > > > > virtio-net have two usage of hashes: one is RSS and another is hash > > > reporting. Conventionally the hash calc

Re: [PATCH net-next v3 12/12] test/vsock: io_uring rx/tx tests

2023-10-09 Thread Stefano Garzarella
On Sat, Oct 07, 2023 at 08:21:39PM +0300, Arseniy Krasnov wrote: This adds set of tests which use io_uring for rx/tx. This test suite is implemented as separated util like 'vsock_test' and has the same set of input arguments as 'vsock_test'. These tests only cover cases of data transmission (no c

Re: [PATCH net-next v3 02/12] vsock: read from socket's error queue

2023-10-09 Thread Stefano Garzarella
On Sat, Oct 07, 2023 at 08:21:29PM +0300, Arseniy Krasnov wrote: This adds handling of MSG_ERRQUEUE input flag in receive call. This flag is used to read socket's error queue instead of data queue. Possible scenario of error queue usage is receiving completions for transmission with MSG_ZEROCOPY

Re: [PATCH net-next v3 10/12] test/vsock: MSG_ZEROCOPY flag tests

2023-10-09 Thread Stefano Garzarella
On Sat, Oct 07, 2023 at 08:21:37PM +0300, Arseniy Krasnov wrote: This adds three tests for MSG_ZEROCOPY feature: 1) SOCK_STREAM tx with different buffers. 2) SOCK_SEQPACKET tx with different buffers. 3) SOCK_STREAM test to read empty error queue of the socket. Patch also works as preparation for

Re: [PATCH net-next v3 11/12] test/vsock: MSG_ZEROCOPY support for vsock_perf

2023-10-09 Thread Stefano Garzarella
On Sat, Oct 07, 2023 at 08:21:38PM +0300, Arseniy Krasnov wrote: To use this option pass '--zerocopy' parameter: ./vsock_perf --zerocopy --sender ... With this option MSG_ZEROCOPY flag will be passed to the 'send()' call. Signed-off-by: Arseniy Krasnov --- Changelog: v1 -> v2: * Move 'SOL_V

[PATCH vhost v3 2/4] virtio_pci: fix the common cfg map size

2023-10-09 Thread Xuan Zhuo
The function vp_modern_map_capability() takes the size parameter, which corresponds to the size of virtio_pci_common_cfg. As a result, this indicates the size of memory area to map. Now the size is the size of virtio_pci_common_cfg, but some feature(such as the _F_RING_RESET) needs the virtio_pci_

[PATCH vhost v3 1/4] virtio: add definition of VIRTIO_F_NOTIF_CONFIG_DATA feature bit

2023-10-09 Thread Xuan Zhuo
This patch adds the definition of VIRTIO_F_NOTIF_CONFIG_DATA feature bit in the relevant header file. This feature indicates that the driver uses the data provided by the device as a virtqueue identifier in available buffer notifications. It comes from here: https://github.com/oasis-tcs/virti

[PATCH vhost v3 4/4] virtio_pci: add build offset check for the new common cfg items

2023-10-09 Thread Xuan Zhuo
Add checks to the check_offsets(void) for queue_notify_data and queue_reset. Signed-off-by: Xuan Zhuo Acked-by: Jason Wang --- drivers/virtio/virtio_pci_modern_dev.c | 4 1 file changed, 4 insertions(+) diff --git a/drivers/virtio/virtio_pci_modern_dev.c b/drivers/virtio/virtio_pci_moder

[PATCH vhost v3 0/4] strictly check the acccess to the common cfg

2023-10-09 Thread Xuan Zhuo
1. fix the length of the pci_iomap_range() to the modern common cfg 2. add common cfg size check for the VIRTIO_F_NOTIF_CONFIG_DATA, VIRTIO_F_RING_RESET 3. add build size check to the new common cfg items Xuan Zhuo (4): virtio: add definition of VIRTIO_F_NOTIF_CONFIG_DATA feature bit virtio_p

[PATCH vhost v3 3/4] virtio_pci: add check for common cfg size

2023-10-09 Thread Xuan Zhuo
Some buggy devices, the common cfg size may not match the features. This patch checks the common cfg size for the features(VIRTIO_F_NOTIF_CONFIG_DATA, VIRTIO_F_RING_RESET). When the common cfg size does not match the corresponding feature, we fail the probe and print error message. Signed-off-by:

Re: [RFC PATCH 5/7] tun: Introduce virtio-net hashing feature

2023-10-09 Thread Jason Wang
On Tue, Oct 10, 2023 at 9:52 AM Akihiko Odaki wrote: > > On 2023/10/09 19:44, Willem de Bruijn wrote: > > On Mon, Oct 9, 2023 at 3:12 AM Akihiko Odaki > > wrote: > >> > >> On 2023/10/09 19:06, Willem de Bruijn wrote: > >>> On Mon, Oct 9, 2023 at 3:02 AM Akihiko Odaki > >>> wrote: > >

Re: [RFC PATCH 5/7] tun: Introduce virtio-net hashing feature

2023-10-09 Thread Jason Wang
On Tue, Oct 10, 2023 at 1:51 PM Akihiko Odaki wrote: > > On 2023/10/10 14:45, Jason Wang wrote: > > On Tue, Oct 10, 2023 at 9:52 AM Akihiko Odaki > > wrote: > >> > >> On 2023/10/09 19:44, Willem de Bruijn wrote: > >>> On Mon, Oct 9, 2023 at 3:12 AM Akihiko Odaki > >>> wrote: > > On 2

Re: [PATCH vhost v3 10/16] vdpa/mlx5: Allow creation/deletion of any given mr struct

2023-10-09 Thread Jason Wang
On Mon, Oct 9, 2023 at 7:25 PM Dragos Tatulea wrote: > > This patch adapts the mr creation/deletion code to be able to work with > any given mr struct pointer. All the APIs are adapted to take an extra > parameter for the mr. > > mlx5_vdpa_create/delete_mr doesn't need a ASID parameter anymore. Th

Re: [PATCH vhost v3 11/16] vdpa/mlx5: Move mr mutex out of mr struct

2023-10-09 Thread Jason Wang
On Mon, Oct 9, 2023 at 7:25 PM Dragos Tatulea wrote: > > The mutex is named like it is supposed to protect only the mkey but in > reality it is a global lock for all mr resources. > > Shift the mutex to it's rightful location (struct mlx5_vdpa_dev) and > give it a more appropriate name. > > Signed

Re: [PATCH vhost v3 12/16] vdpa/mlx5: Improve mr update flow

2023-10-09 Thread Jason Wang
On Mon, Oct 9, 2023 at 7:25 PM Dragos Tatulea wrote: > > The current flow for updating an mr works directly on mvdev->mr which > makes it cumbersome to handle multiple new mr structs. > > This patch makes the flow more straightforward by having > mlx5_vdpa_create_mr return a new mr which will upda

Re: [PATCH vhost v3 13/16] vdpa/mlx5: Introduce mr for vq descriptor

2023-10-09 Thread Jason Wang
On Mon, Oct 9, 2023 at 7:25 PM Dragos Tatulea wrote: > > Introduce the vq descriptor group and mr per ASID. Until now > .set_map on ASID 1 was only updating the cvq iotlb. From now on it also > creates a mkey for it. The current patch doesn't use it but follow-up > patches will add hardware suppor

Re: [PATCH vhost v3 14/16] vdpa/mlx5: Enable hw support for vq descriptor mapping

2023-10-09 Thread Jason Wang
On Mon, Oct 9, 2023 at 7:25 PM Dragos Tatulea wrote: > > Vq descriptor mappings are supported in hardware by filling in an > additional mkey which contains the descriptor mappings to the hw vq. > > A previous patch in this series added support for hw mkey (mr) creation > for ASID 1. > > This patch

Re: [PATCH vhost v3 15/16] vdpa/mlx5: Make iotlb helper functions more generic

2023-10-09 Thread Jason Wang
On Mon, Oct 9, 2023 at 7:25 PM Dragos Tatulea wrote: > > They will be used in a follow-up patch. > > For dup_iotlb, avoid the src == dst case. This is an error. > > Acked-by: Eugenio Pérez > Signed-off-by: Dragos Tatulea Acked-by: Jason Wang Thanks ___

Re: [PATCH vhost v3 16/16] vdpa/mlx5: Update cvq iotlb mapping on ASID change

2023-10-09 Thread Jason Wang
On Mon, Oct 9, 2023 at 7:25 PM Dragos Tatulea wrote: > > For the following sequence: > - cvq group is in ASID 0 > - .set_map(1, cvq_iotlb) > - .set_group_asid(cvq_group, 1) > > ... the cvq mapping from ASID 0 will be used. This is not always correct > behaviour. > > This patch adds support for the

Re: [PATCH vhost v3 3/4] virtio_pci: add check for common cfg size

2023-10-09 Thread Jason Wang
On Tue, Oct 10, 2023 at 11:11 AM Xuan Zhuo wrote: > > Some buggy devices, the common cfg size may not match the features. > > This patch checks the common cfg size for the > features(VIRTIO_F_NOTIF_CONFIG_DATA, VIRTIO_F_RING_RESET). When the > common cfg size does not match the corresponding featu

Re: [PATCH vhost v3 2/4] virtio_pci: fix the common cfg map size

2023-10-09 Thread Jason Wang
On Tue, Oct 10, 2023 at 11:11 AM Xuan Zhuo wrote: > > The function vp_modern_map_capability() takes the size parameter, > which corresponds to the size of virtio_pci_common_cfg. As a result, > this indicates the size of memory area to map. > > Now the size is the size of virtio_pci_common_cfg, but

Re: [PATCH vhost v3 1/4] virtio: add definition of VIRTIO_F_NOTIF_CONFIG_DATA feature bit

2023-10-09 Thread Jason Wang
On Tue, Oct 10, 2023 at 11:11 AM Xuan Zhuo wrote: > > This patch adds the definition of VIRTIO_F_NOTIF_CONFIG_DATA feature bit > in the relevant header file. > > This feature indicates that the driver uses the data provided by the > device as a virtqueue identifier in available buffer notification

Re: [PATCH 2/2] virtio-mmio: Support multiple interrupts per device

2023-10-09 Thread Jason Wang
On Sat, Sep 30, 2023 at 4:46 AM Jakub Sitnicki wrote: > > Some virtual devices, such as the virtio network device, can use multiple > virtqueues (or multiple pairs of virtqueues in the case of a vNIC). In such > case, when there are multiple vCPUs present, it is possible to process > virtqueue eve