Hi,
What is the status of vhost-user multiqueue support in Qemu? I am looking at 830d70db692e374b55555f4407f96a1ceefdcc97 patch in master and observe the following: -8<----------------------------------------------------------------------------- case VHOST_SET_VRING_KICK: case VHOST_SET_VRING_CALL: case VHOST_SET_VRING_ERR: file = arg; - msg.u64 = file->index & VHOST_USER_VRING_IDX_MASK; + msg.u64 = (file->index + dev->vq_index) & VHOST_USER_VRING_IDX_MASK; msg.size = sizeof(m.u64); if (ioeventfd_enabled() && file->fd > 0) { fds[fd_num++] = file->fd; } else { msg.u64 |= VHOST_USER_VRING_NOFD_MASK; } break; ->8----------------------------------------------------------------------------- What is the meaning of "file->index + dev->vq_index" expression? Assuming "queues=4" parameter is passed at Qemu command line and "file->index" is either 0 or 1, Vhost receives the following sequence of VHOST_SET_VRING_CALL requests: - msg.u64 = 0 (file->index = 0, dev->vq_index = 0) - msg.u64 = 1 (file->index = 1, dev->vq_index = 0) - msg.u64 = 1 (file->index = 0, dev->vq_index = 1) - msg.u64 = 2 (file->index = 1, dev->vq_index = 1) - msg.u64 = 2 (file->index = 0, dev->vq_index = 2) - msg.u64 = 3 (file->index = 1, dev->vq_index = 2) - msg.u64 = 3 (file->index = 0, dev->vq_index = 3) - msg.u64 = 4 (file->index = 1, dev->vq_index = 3) This means, CALLs for virtqueues 0-4 only would be configured (whereas virtqueues 5-7 remain unconfigured). Has it been done intentionally? -- Best regards, Nikita Kalyazin, n.kalya...@samsung.com Software Engineer CE OS Group Samsung R&D Institute Russia Tel: +7 (495) 797-25-00 #3816 Tel: +7 (495) 797-25-03 Office #1501, 12-1, Dvintsev str., Moscow, 127018, Russia