Re: MSI-X vector limits and reserving a virtio device ID
Stefan Hajnoczi <[email protected]> Thu, 28 May 2026 09:36:33 -0400
| Newsgroups | dev.linux.lists.virtio-comment |
|---|---|
| Message-ID | <20260528133633.GB40266@fedora> |
--GIkM2LLcpkUHVxTN Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Thu, May 28, 2026 at 08:47:25AM +0300, Manos Pitsidianakis wrote: > On Thu, May 28, 2026 at 8:22=E2=80=AFAM Parav Pandit <[email protected]> w= rote: > > > > > > > From: Demi Marie Obenour <[email protected]> > > > Sent: 28 May 2026 05:23 AM > > > To: [email protected] > > > Subject: MSI-X vector limits and reserving a virtio device ID > > > > > > I'd like to reserve a virtio device ID for virtio vhost-guest, > > > formally virtio vhost-user. Would this be possible? > > > > > Vhost user is an implementation of the device. > > I believe it stays as implementation and not a new device type. >=20 > This exactly. >=20 > Furthermore, we already have a mechanism for "providing" an arbitrary > virtio device; it's called a transport. >=20 > Demi, I suggest you look into virtio-msg transport, which would allow > you to do what you want. I think the "virtio vhost-guest" device is a continuation of the virtio-vhost-user device work: https://wiki.qemu.org/Features/VirtioVhostUser It is a VIRTIO device type, not a transport. The idea is that a driver VM runs a normal VIRTIO driver (e.g. virtio-net-pci) and a second device VM runs the virtio-net device implementation. It's similar to running a vhost-user-net device on the host, except now the device implementation runs inside a VM instead of a process on the host. The virtio-vhost-user device is what the device VM sees and uses to provide the virtio-net device to the driver VM. Stefan >=20 > > > > > Also, I'd like to know which systems have a small limit on the number > > > of MSI-X vectors. > > I didn=E2=80=99t follow the question. Typically, Intel cpu has a limit = of 256 vectors per core. > > > > > The vhost-guest device uses lots of MSI-X vectors. > > > Typical implementations will use 256 * 3 + 7 =3D 775 of them! That c= an, > > > of course, be reduced by sharing vectors, but this is undesirable > > > as it comes at a performance cost. > > Did you get a chance to measure the performance, for which device type? > > Interrupts are generally moderated. > > In other devices (scalable functions of mlx5) I have measured perf of 8= to 16 queues sharing a vectors has < 4% perf drop. > > > > > -- > > > Sincerely, > > > Demi Marie Obenour (she/her/hers) >=20 > --=20 > Manos Pitsidianakis > Emulation and Virtualization Engineer at Linaro Ltd >=20 --GIkM2LLcpkUHVxTN Content-Type: application/pgp-signature; name=signature.asc -----BEGIN PGP SIGNATURE----- iQEzBAEBCgAdFiEEhpWov9P5fNqsNXdanKSrs4Grc8gFAmoYROEACgkQnKSrs4Gr c8iY7gf+OFlvve9iwwDpHhFNW2SxEEC73JkyDY90aaFjDgEXlMBk7OvdERn93sQg 3bdPwe2+C0ncYmiaLhvU6C9TcsgjVF5uWfFl7h1NliDN4LA9cGEOj13SyUMKSYHI JeFZgZefhTOua4XILjmWeTJSXgNngY5XhnRyiyTd3a6vJn8s0zb8TY8CaEg/kfEL Er7rNGYHLTrxZFqpTk88HSo5BMNFZtFoeT//hz5S4ojvnGyaHGDccJaKFgGs+p2B ub4gGoCbuA99qtH+7giNKlttXWblCWVULMUclf6qwNuuXohCH3WYHnU5MfJf/y16 pYFou3RX2g2Vvr2Fo9SKoSr2UklVnQ== =wcFT -----END PGP SIGNATURE----- --GIkM2LLcpkUHVxTN--