<feed xmlns='http://www.w3.org/2005/Atom'>
<title>bwlp/qemu.git/hw/virtio/trace-events, branch master</title>
<subtitle>Experimental fork of QEMU with video encoding patches</subtitle>
<id>https://git.openslx.org/bwlp/qemu.git/atom/hw/virtio/trace-events?h=master</id>
<link rel='self' href='https://git.openslx.org/bwlp/qemu.git/atom/hw/virtio/trace-events?h=master'/>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/'/>
<updated>2022-12-01T07:30:04+00:00</updated>
<entry>
<title>vhost: enable vrings in vhost_dev_start() for vhost-user devices</title>
<updated>2022-12-01T07:30:04+00:00</updated>
<author>
<name>Stefano Garzarella</name>
</author>
<published>2022-11-30T11:24:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=4daa5054c599c8aec70f1264a01341a15921c145'/>
<id>urn:sha1:4daa5054c599c8aec70f1264a01341a15921c145</id>
<content type='text'>
Commit 02b61f38d3 ("hw/virtio: incorporate backend features in features")
properly negotiates VHOST_USER_F_PROTOCOL_FEATURES with the vhost-user
backend, but we forgot to enable vrings as specified in
docs/interop/vhost-user.rst:

    If ``VHOST_USER_F_PROTOCOL_FEATURES`` has not been negotiated, the
    ring starts directly in the enabled state.

    If ``VHOST_USER_F_PROTOCOL_FEATURES`` has been negotiated, the ring is
    initialized in a disabled state and is enabled by
    ``VHOST_USER_SET_VRING_ENABLE`` with parameter 1.

Some vhost-user front-ends already did this by calling
vhost_ops.vhost_set_vring_enable() directly:
- backends/cryptodev-vhost.c
- hw/net/virtio-net.c
- hw/virtio/vhost-user-gpio.c

But most didn't do that, so we would leave the vrings disabled and some
backends would not work. We observed this issue with the rust version of
virtiofsd [1], which uses the event loop [2] provided by the
vhost-user-backend crate where requests are not processed if vring is
not enabled.

Let's fix this issue by enabling the vrings in vhost_dev_start() for
vhost-user front-ends that don't already do this directly. Same thing
also in vhost_dev_stop() where we disable vrings.

[1] https://gitlab.com/virtio-fs/virtiofsd
[2] https://github.com/rust-vmm/vhost/blob/240fc2966/crates/vhost-user-backend/src/event_loop.rs#L217

Fixes: 02b61f38d3 ("hw/virtio: incorporate backend features in features")
Reported-by: German Maglione &lt;gmaglione@redhat.com&gt;
Tested-by: German Maglione &lt;gmaglione@redhat.com&gt;
Signed-off-by: Stefano Garzarella &lt;sgarzare@redhat.com&gt;
Acked-by: Raphael Norwitz &lt;raphael.norwitz@nutanix.com&gt;
Message-Id: &lt;20221123131630.52020-1-sgarzare@redhat.com&gt;
Signed-off-by: Alex Bennée &lt;alex.bennee@linaro.org&gt;
Reviewed-by: Michael S. Tsirkin &lt;mst@redhat.com&gt;
Message-Id: &lt;20221130112439.2527228-3-alex.bennee@linaro.org&gt;
Signed-off-by: Michael S. Tsirkin &lt;mst@redhat.com&gt;
</content>
</entry>
<entry>
<title>hw/virtio: add boilerplate for vhost-user-gpio device</title>
<updated>2022-10-07T13:41:51+00:00</updated>
<author>
<name>Viresh Kumar</name>
</author>
<published>2022-08-02T09:50:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=27ba7b027f0f06479091bcfbcd308a6b272563a4'/>
<id>urn:sha1:27ba7b027f0f06479091bcfbcd308a6b272563a4</id>
<content type='text'>
This creates the QEMU side of the vhost-user-gpio device which connects
to the remote daemon. It is based of vhost-user-i2c code.

Signed-off-by: Viresh Kumar &lt;viresh.kumar@linaro.org&gt;
Reviewed-by: Alex Bennée &lt;alex.bennee@linaro.org&gt;
Message-Id: &lt;5390324a748194a21bc99b1538e19761a8c64092.1641987128.git.viresh.kumar@linaro.org&gt;
[AJB: fixes for qtest, tweaks to feature bits]
Signed-off-by: Alex Bennée &lt;alex.bennee@linaro.org&gt;
Cc: Vincent Whitchurch &lt;vincent.whitchurch@axis.com&gt;

Message-Id: &lt;20220802095010.3330793-13-alex.bennee@linaro.org&gt;
Reviewed-by: Michael S. Tsirkin &lt;mst@redhat.com&gt;
Signed-off-by: Michael S. Tsirkin &lt;mst@redhat.com&gt;
</content>
</entry>
<entry>
<title>hw/virtio: add some vhost-user trace events</title>
<updated>2022-10-07T13:41:51+00:00</updated>
<author>
<name>Alex Bennée</name>
</author>
<published>2022-08-02T09:49:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=a27612311988aff8f29a68ed5eaecde3bf6cdf99'/>
<id>urn:sha1:a27612311988aff8f29a68ed5eaecde3bf6cdf99</id>
<content type='text'>
These are useful for tracing the lifetime of vhost-user connections.

Signed-off-by: Alex Bennée &lt;alex.bennee@linaro.org&gt;
Message-Id: &lt;20220802095010.3330793-10-alex.bennee@linaro.org&gt;
Reviewed-by: Michael S. Tsirkin &lt;mst@redhat.com&gt;
Signed-off-by: Michael S. Tsirkin &lt;mst@redhat.com&gt;
Reviewed-by: Philippe Mathieu-Daudé &lt;f4bug@amsat.org&gt;
</content>
</entry>
<entry>
<title>virtio-iommu: Add bypass mode support to assigned device</title>
<updated>2022-06-16T16:54:58+00:00</updated>
<author>
<name>Zhenzhong Duan</name>
</author>
<published>2022-06-13T06:10:08+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=90519b90539b16258d1d52b908b199f44877dc18'/>
<id>urn:sha1:90519b90539b16258d1d52b908b199f44877dc18</id>
<content type='text'>
Currently assigned devices can not work in virtio-iommu bypass mode.
Guest driver fails to probe the device due to DMA failure. And the
reason is because of lacking GPA -&gt; HPA mappings when VM is created.

Add a root container memory region to hold both bypass memory region
and iommu memory region, so the switch between them is supported
just like the implementation in virtual VT-d.

Signed-off-by: Zhenzhong Duan &lt;zhenzhong.duan@intel.com&gt;
Message-Id: &lt;20220613061010.2674054-2-zhenzhong.duan@intel.com&gt;
Reviewed-by: Michael S. Tsirkin &lt;mst@redhat.com&gt;
Signed-off-by: Michael S. Tsirkin &lt;mst@redhat.com&gt;
</content>
</entry>
<entry>
<title>virtio/vhost-user: dynamically assign VhostUserHostNotifiers</title>
<updated>2022-05-16T08:38:40+00:00</updated>
<author>
<name>Alex Bennée</name>
</author>
<published>2022-03-21T15:30:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=503e355465ba0eafad49c2e174995d2e234ed288'/>
<id>urn:sha1:503e355465ba0eafad49c2e174995d2e234ed288</id>
<content type='text'>
At a couple of hundred bytes per notifier allocating one for every
potential queue is very wasteful as most devices only have a few
queues. Instead of having this handled statically dynamically assign
them and track in a GPtrArray.

[AJB: it's hard to trigger the vhost notifiers code, I assume as it
requires a KVM guest with appropriate backend]

Signed-off-by: Alex Bennée &lt;alex.bennee@linaro.org&gt;
Message-Id: &lt;20220321153037.3622127-14-alex.bennee@linaro.org&gt;
Reviewed-by: Michael S. Tsirkin &lt;mst@redhat.com&gt;
Signed-off-by: Michael S. Tsirkin &lt;mst@redhat.com&gt;
</content>
</entry>
<entry>
<title>hw/virtio: add vhost_user_[read|write] trace points</title>
<updated>2022-05-16T08:38:40+00:00</updated>
<author>
<name>Alex Bennée</name>
</author>
<published>2022-03-21T15:30:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=6ca6d8ee9dd053eaa625aad48d95d12f4418ef4c'/>
<id>urn:sha1:6ca6d8ee9dd053eaa625aad48d95d12f4418ef4c</id>
<content type='text'>
These are useful when trying to debug the initial vhost-user
negotiation, especially when it hard to get logging from the low level
library on the other side.

Signed-off-by: Alex Bennée &lt;alex.bennee@linaro.org&gt;

Message-Id: &lt;20220321153037.3622127-4-alex.bennee@linaro.org&gt;
Reviewed-by: Michael S. Tsirkin &lt;mst@redhat.com&gt;
Signed-off-by: Michael S. Tsirkin &lt;mst@redhat.com&gt;
Reviewed-by: Philippe Mathieu-Daudé &lt;f4bug@amsat.org&gt;
</content>
</entry>
<entry>
<title>virtio-pci: add notification trace points</title>
<updated>2022-05-16T08:38:40+00:00</updated>
<author>
<name>Alex Bennée</name>
</author>
<published>2022-03-21T15:30:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=31cc62bb5bd43b6c36b1f42d5bde6baca4dffaee'/>
<id>urn:sha1:31cc62bb5bd43b6c36b1f42d5bde6baca4dffaee</id>
<content type='text'>
Signed-off-by: Alex Bennée &lt;alex.bennee@linaro.org&gt;
Reviewed-by: Philippe Mathieu-Daudé &lt;philmd@redhat.com&gt;
Message-Id: &lt;20200925125147.26943-6-alex.bennee@linaro.org&gt;
Signed-off-by: Alex Bennée &lt;alex.bennee@linaro.org&gt;
Message-Id: &lt;20220321153037.3622127-3-alex.bennee@linaro.org&gt;
Reviewed-by: Michael S. Tsirkin &lt;mst@redhat.com&gt;
Signed-off-by: Michael S. Tsirkin &lt;mst@redhat.com&gt;
</content>
</entry>
<entry>
<title>vdpa: Add missing tracing to batch mapping functions</title>
<updated>2022-04-26T10:32:47+00:00</updated>
<author>
<name>Eugenio Pérez</name>
</author>
<published>2022-04-05T06:36:28+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=5580b9f00e7210add5d9415664469932c96f9a40'/>
<id>urn:sha1:5580b9f00e7210add5d9415664469932c96f9a40</id>
<content type='text'>
These functions were not traced properly.

Signed-off-by: Eugenio Pérez &lt;eperezma@redhat.com&gt;
Reviewed-by: Laurent Vivier &lt;lvivier@redhat.com&gt;
Reviewed-by: Stefano Garzarella &lt;sgarzare@redhat.com&gt;
Acked-by: Jason Wang &lt;jasowang@redhat.com&gt;
Message-Id: &lt;20220405063628.853745-1-eperezma@redhat.com&gt;
Signed-off-by: Laurent Vivier &lt;laurent@vivier.eu&gt;
</content>
</entry>
<entry>
<title>virtio-iommu: Default to bypass during boot</title>
<updated>2022-03-06T10:08:23+00:00</updated>
<author>
<name>Jean-Philippe Brucker</name>
</author>
<published>2022-02-14T12:43:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=448179e33ea850acaf4bd3c2410acc911080e40b'/>
<id>urn:sha1:448179e33ea850acaf4bd3c2410acc911080e40b</id>
<content type='text'>
Currently the virtio-iommu device must be programmed before it allows
DMA from any PCI device. This can make the VM entirely unusable when a
virtio-iommu driver isn't present, for example in a bootloader that
loads the OS from storage.

Similarly to the other vIOMMU implementations, default to DMA bypassing
the IOMMU during boot. Add a "boot-bypass" property, defaulting to true,
that lets users change this behavior.

Replace the VIRTIO_IOMMU_F_BYPASS feature, which didn't support bypass
before feature negotiation, with VIRTIO_IOMMU_F_BYPASS_CONFIG.

We add the bypass field to the migration stream without introducing
subsections, based on the assumption that this virtio-iommu device isn't
being used in production enough to require cross-version migration at
the moment (all previous version required workarounds since they didn't
support ACPI and boot-bypass).

Reviewed-by: Eric Auger &lt;eric.auger@redhat.com&gt;
Signed-off-by: Jean-Philippe Brucker &lt;jean-philippe@linaro.org&gt;
Message-Id: &lt;20220214124356.872985-3-jean-philippe@linaro.org&gt;
Acked-by: Cornelia Huck &lt;cohuck@redhat.com&gt;
Reviewed-by: Eric Auger &lt;eric.auger@redhat.com&gt;
Tested-by: Eric Auger &lt;eric.auger@redhat.com&gt;
Reviewed-by: Michael S. Tsirkin &lt;mst@redhat.com&gt;
Signed-off-by: Michael S. Tsirkin &lt;mst@redhat.com&gt;
</content>
</entry>
<entry>
<title>Revert "vhost-vdpa: add support for config interrupt"</title>
<updated>2022-01-10T21:01:44+00:00</updated>
<author>
<name>Michael S. Tsirkin</name>
</author>
<published>2022-01-10T05:47:51+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=73bd56abe1709352ab123952c96cc3255d0cbeff'/>
<id>urn:sha1:73bd56abe1709352ab123952c96cc3255d0cbeff</id>
<content type='text'>
This reverts commit 634f7c89fbd78f57d00d5d6b39c0ade9df1fe27f.

Fixes: 634f7c89fb ("vhost-vdpa: add support for config interrupt")
Cc: "Cindy Lu" &lt;lulu@redhat.com&gt;
Signed-off-by: Michael S. Tsirkin &lt;mst@redhat.com&gt;
</content>
</entry>
</feed>
