[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-commits] [qemu/qemu] 4292d5: vfio: Fix vfio_listener_log_sync func
From: |
Peter Maydell |
Subject: |
[Qemu-commits] [qemu/qemu] 4292d5: vfio: Fix vfio_listener_log_sync function name typo |
Date: |
Wed, 17 Mar 2021 12:31:15 -0700 |
Branch: refs/heads/staging
Home: https://github.com/qemu/qemu
Commit: 4292d5019345a65f14c85e8207c7059e3791773e
https://github.com/qemu/qemu/commit/4292d5019345a65f14c85e8207c7059e3791773e
Author: Zenghui Yu <yuzenghui@huawei.com>
Date: 2021-03-16 (Tue, 16 Mar 2021)
Changed paths:
M hw/vfio/common.c
Log Message:
-----------
vfio: Fix vfio_listener_log_sync function name typo
There is an obvious typo in the function name of the .log_sync() callback.
Spell it correctly.
Signed-off-by: Zenghui Yu <yuzenghui@huawei.com>
Message-Id: <20201204014240.772-1-yuzenghui@huawei.com>
Signed-off-by: Alex Williamson <alex.williamson@redhat.com>
Commit: 4eda914cacc32c7c069bc57777dac0f338133e31
https://github.com/qemu/qemu/commit/4eda914cacc32c7c069bc57777dac0f338133e31
Author: Philippe Mathieu-Daudé <philmd@redhat.com>
Date: 2021-03-16 (Tue, 16 Mar 2021)
Changed paths:
M hw/vfio/pci-quirks.c
M hw/vfio/pci.c
M hw/vfio/pci.h
M hw/vfio/trace-events
Log Message:
-----------
hw/vfio/pci-quirks: Replace the word 'blacklist'
Follow the inclusive terminology from the "Conscious Language in your
Open Source Projects" guidelines [*] and replace the word "blacklist"
appropriately.
[*] https://github.com/conscious-lang/conscious-lang-docs/blob/main/faq.md
Reviewed-by: Alex Williamson <alex.williamson@redhat.com>
Acked-by: Alex Williamson <alex.williamson@redhat.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Message-Id: <20210205171817.2108907-9-philmd@redhat.com>
Signed-off-by: Alex Williamson <alex.williamson@redhat.com>
Commit: 4e779bf1a55e8b951f1640e3ea46fc459066f64f
https://github.com/qemu/qemu/commit/4e779bf1a55e8b951f1640e3ea46fc459066f64f
Author: Philippe Mathieu-Daudé <philmd@redhat.com>
Date: 2021-03-16 (Tue, 16 Mar 2021)
Changed paths:
M MAINTAINERS
Log Message:
-----------
MAINTAINERS: Cover docs/igd-assign.txt in VFIO section
Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Message-Id: <20210202155611.998424-1-philmd@redhat.com>
Signed-off-by: Alex Williamson <alex.williamson@redhat.com>
Commit: 8dca037b484fc8caeb6d6689745bc7475ce27174
https://github.com/qemu/qemu/commit/8dca037b484fc8caeb6d6689745bc7475ce27174
Author: Eric Auger <eric.auger@redhat.com>
Date: 2021-03-16 (Tue, 16 Mar 2021)
Changed paths:
M hw/vfio/common.c
Log Message:
-----------
vfio: Do not register any IOMMU_NOTIFIER_DEVIOTLB_UNMAP notifier
In an attempt to fix smmu/virtio-iommu - vhost regression, commit
958ec334bca3 ("vhost: Unbreak SMMU and virtio-iommu on dev-iotlb support")
broke virtio-iommu integration. This is due to the fact VFIO registers
IOMMU_NOTIFIER_ALL notifiers, which includes IOMMU_NOTIFIER_DEVIOTLB_UNMAP
and this latter now is rejected by the virtio-iommu. As a consequence,
the registration fails. VHOST behaves like a device with an ATC cache. The
VFIO device does not support this scheme yet.
Let's register only legacy MAP and UNMAP notifiers.
Fixes: 958ec334bca3 ("vhost: Unbreak SMMU and virtio-iommu on dev-iotlb
support")
Signed-off-by: Eric Auger <eric.auger@redhat.com>
Message-Id: <20210209213233.40985-2-eric.auger@redhat.com>
Acked-by: Jason Wang <jasowang@redhat.com>
Acked-by: Alex Williamson <alex.williamson@redhat.com>
Signed-off-by: Alex Williamson <alex.williamson@redhat.com>
Commit: 1a8e22bd20c2586df0bc0fdce8d5a3b42fffb1ac
https://github.com/qemu/qemu/commit/1a8e22bd20c2586df0bc0fdce8d5a3b42fffb1ac
Author: Eric Auger <eric.auger@redhat.com>
Date: 2021-03-16 (Tue, 16 Mar 2021)
Changed paths:
M hw/ppc/spapr_iommu.c
Log Message:
-----------
spapr_iommu: Fix vhost integration regression
Previous work on dev-iotlb message broke spapr_iommu/vhost integration
as it did for SMMU and virtio-iommu. The spapr_iommu currently
only sends IOMMU_NOTIFIER_UNMAP notifications. Since commit
958ec334bca3 ("vhost: Unbreak SMMU and virtio-iommu on dev-iotlb support"),
VHOST first tries to register IOMMU_NOTIFIER_DEVIOTLB_UNMAP notifier
and if it fails, falls back to legacy IOMMU_NOTIFIER_UNMAP. So
spapr_iommu must fail on the IOMMU_NOTIFIER_DEVIOTLB_UNMAP
registration.
Reported-by: Peter Xu <peterx@redhat.com>
Fixes: b68ba1ca5767 ("memory: Add IOMMU_NOTIFIER_DEVIOTLB_UNMAP
IOMMUTLBNotificationType")
Signed-off-by: Eric Auger <eric.auger@redhat.com>
Message-Id: <20210209213233.40985-3-eric.auger@redhat.com>
Acked-by: David Gibson <david@gibson.dropbear.id.au>
Acked-by: Jason Wang <jasowang@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Reviewed-by: Greg Kurz <groug@kaod.org>
Signed-off-by: Alex Williamson <alex.williamson@redhat.com>
Commit: d329f5032e17f3ecc7f8c2c3c5f130ec671000d2
https://github.com/qemu/qemu/commit/d329f5032e17f3ecc7f8c2c3c5f130ec671000d2
Author: Shenming Lu <lushenming@huawei.com>
Date: 2021-03-16 (Tue, 16 Mar 2021)
Changed paths:
M hw/vfio/migration.c
Log Message:
-----------
vfio: Move the saving of the config space to the right place in VFIO migration
On ARM64 the VFIO SET_IRQS ioctl is dependent on the VM interrupt
setup, if the restoring of the VFIO PCI device config space is
before the VGIC, an error might occur in the kernel.
So we move the saving of the config space to the non-iterable
process, thus it will be called after the VGIC according to
their priorities.
As for the possible dependence of the device specific migration
data on it's config space, we can let the vendor driver to
include any config info it needs in its own data stream.
Signed-off-by: Shenming Lu <lushenming@huawei.com>
Reviewed-by: Kirti Wankhede <kwankhede@nvidia.com>
Message-Id: <20210310030233.1133-2-lushenming@huawei.com>
Signed-off-by: Alex Williamson <alex.williamson@redhat.com>
Commit: 8ce1ff990eff6affbdd0492fe4fc95e113235e35
https://github.com/qemu/qemu/commit/8ce1ff990eff6affbdd0492fe4fc95e113235e35
Author: Shenming Lu <lushenming@huawei.com>
Date: 2021-03-16 (Tue, 16 Mar 2021)
Changed paths:
M hw/vfio/migration.c
Log Message:
-----------
vfio: Set the priority of the VFIO VM state change handler explicitly
In the VFIO VM state change handler when stopping the VM, the _RUNNING
bit in device_state is cleared which makes the VFIO device stop, including
no longer generating interrupts. Then we can save the pending states of
all interrupts in the GIC VM state change handler (on ARM).
So we have to set the priority of the VFIO VM state change handler
explicitly (like virtio devices) to ensure it is called before the
GIC's in saving.
Signed-off-by: Shenming Lu <lushenming@huawei.com>
Reviewed-by: Kirti Wankhede <kwankhede@nvidia.com>
Reviewed-by: Cornelia Huck <cohuck@redhat.com>
Message-Id: <20210310030233.1133-3-lushenming@huawei.com>
Signed-off-by: Alex Williamson <alex.williamson@redhat.com>
Commit: ecebe53fe99379243695e817450124d69e061e39
https://github.com/qemu/qemu/commit/ecebe53fe99379243695e817450124d69e061e39
Author: Shenming Lu <lushenming@huawei.com>
Date: 2021-03-16 (Tue, 16 Mar 2021)
Changed paths:
M hw/vfio/pci.c
Log Message:
-----------
vfio: Avoid disabling and enabling vectors repeatedly in VFIO migration
In VFIO migration resume phase and some guest startups, there are
already unmasked vectors in the vector table when calling
vfio_msix_enable(). So in order to avoid inefficiently disabling
and enabling vectors repeatedly, let's allocate all needed vectors
first and then enable these unmasked vectors one by one without
disabling.
Signed-off-by: Shenming Lu <lushenming@huawei.com>
Message-Id: <20210310030233.1133-4-lushenming@huawei.com>
Signed-off-by: Alex Williamson <alex.williamson@redhat.com>
Commit: 1eb7f642750c1a1499423e00f408820c6d37b129
https://github.com/qemu/qemu/commit/1eb7f642750c1a1499423e00f408820c6d37b129
Author: Kunkun Jiang <jiangkunkun@huawei.com>
Date: 2021-03-16 (Tue, 16 Mar 2021)
Changed paths:
M hw/vfio/common.c
Log Message:
-----------
vfio: Support host translation granule size
The cpu_physical_memory_set_dirty_lebitmap() can quickly deal with
the dirty pages of memory by bitmap-traveling, regardless of whether
the bitmap is aligned correctly or not.
cpu_physical_memory_set_dirty_lebitmap() supports pages in bitmap of
host page size. So it'd better to set bitmap_pgsize to host page size
to support more translation granule sizes.
[aw: The Fixes commit below introduced code to restrict migration
support to configurations where the target page size intersects the
host dirty page support. For example, a 4K guest on a 4K host.
Due to the above flexibility in bitmap handling, this restriction
unnecessarily prevents mixed target/host pages size that could
otherwise be supported. Use host page size for dirty bitmap.]
Fixes: 87ea529c502 ("vfio: Get migration capability flags for container")
Signed-off-by: Kunkun Jiang <jiangkunkun@huawei.com>
Message-Id: <20210304133446.1521-1-jiangkunkun@huawei.com>
Signed-off-by: Alex Williamson <alex.williamson@redhat.com>
Commit: 758b96b61d5cbc19204f340012d5a325f0a2105b
https://github.com/qemu/qemu/commit/758b96b61d5cbc19204f340012d5a325f0a2105b
Author: Keqian Zhu <zhukeqian1@huawei.com>
Date: 2021-03-16 (Tue, 16 Mar 2021)
Changed paths:
M hw/vfio/common.c
M hw/vfio/migration.c
Log Message:
-----------
vfio/migrate: Move switch of dirty tracking into vfio_memory_listener
For now the switch of vfio dirty page tracking is integrated into
@vfio_save_handler. The reason is that some PCI vendor driver may
start to track dirty base on _SAVING state of device, so if dirty
tracking is started before setting device state, vfio will report
full-dirty to QEMU.
However, the dirty bmap of all ramblocks are fully set when setup
ram saving, so it's not matter whether the device is in _SAVING
state when start vfio dirty tracking.
Moreover, this logic causes some problems [1]. The object of dirty
tracking is guest memory, but the object of @vfio_save_handler is
device state, which produces unnecessary coupling and conflicts:
1. Coupling: Their saving granule is different (perVM vs perDevice).
vfio will enable dirty_page_tracking for each devices, actually
once is enough.
2. Conflicts: The ram_save_setup() traverses all memory_listeners
to execute their log_start() and log_sync() hooks to get the
first round dirty bitmap, which is used by the bulk stage of
ram saving. However, as vfio dirty tracking is not yet started,
it can't get dirty bitmap from vfio. Then we give up the chance
to handle vfio dirty page at bulk stage.
Move the switch of vfio dirty_page_tracking into vfio_memory_listener
can solve above problems. Besides, Do not require devices in SAVING
state for vfio_sync_dirty_bitmap().
[1] https://www.spinics.net/lists/kvm/msg229967.html
Reported-by: Zenghui Yu <yuzenghui@huawei.com>
Signed-off-by: Keqian Zhu <zhukeqian1@huawei.com>
Suggested-by: Paolo Bonzini <pbonzini@redhat.com>
Message-Id: <20210309031913.11508-1-zhukeqian1@huawei.com>
Signed-off-by: Alex Williamson <alex.williamson@redhat.com>
Commit: 2255564fd21059960966b47212def9069cb56077
https://github.com/qemu/qemu/commit/2255564fd21059960966b47212def9069cb56077
Author: Peter Maydell <peter.maydell@linaro.org>
Date: 2021-03-17 (Wed, 17 Mar 2021)
Changed paths:
M MAINTAINERS
M hw/ppc/spapr_iommu.c
M hw/vfio/common.c
M hw/vfio/migration.c
M hw/vfio/pci-quirks.c
M hw/vfio/pci.c
M hw/vfio/pci.h
M hw/vfio/trace-events
Log Message:
-----------
Merge remote-tracking branch 'remotes/awilliam/tags/vfio-update-20210316.0'
into staging
VFIO update 2021-03-16
* Fix "listerner" typo (Zenghui Yu)
* Inclusive language and MAINTAINERS update (Philippe Mathieu-Daudé)
* vIOMMU unmap notifier fixes (Eric Auger)
* Migration fixes and optimizations (Shenming Lu)
* Use host page size for dirty bitmap (Kunkun Jiang)
* Use log_global_start/stop to switch dirty tracking (Keqian Zhu)
# gpg: Signature made Tue 16 Mar 2021 16:59:10 GMT
# gpg: using RSA key 239B9B6E3BB08B22
# gpg: Good signature from "Alex Williamson <alex.williamson@redhat.com>" [full]
# gpg: aka "Alex Williamson <alex@shazbot.org>" [full]
# gpg: aka "Alex Williamson <alwillia@redhat.com>" [full]
# gpg: aka "Alex Williamson <alex.l.williamson@gmail.com>"
[full]
# Primary key fingerprint: 42F6 C04E 540B D1A9 9E7B 8A90 239B 9B6E 3BB0 8B22
* remotes/awilliam/tags/vfio-update-20210316.0:
vfio/migrate: Move switch of dirty tracking into vfio_memory_listener
vfio: Support host translation granule size
vfio: Avoid disabling and enabling vectors repeatedly in VFIO migration
vfio: Set the priority of the VFIO VM state change handler explicitly
vfio: Move the saving of the config space to the right place in VFIO migration
spapr_iommu: Fix vhost integration regression
vfio: Do not register any IOMMU_NOTIFIER_DEVIOTLB_UNMAP notifier
MAINTAINERS: Cover docs/igd-assign.txt in VFIO section
hw/vfio/pci-quirks: Replace the word 'blacklist'
vfio: Fix vfio_listener_log_sync function name typo
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Compare: https://github.com/qemu/qemu/compare/69259911f948...2255564fd210
- [Qemu-commits] [qemu/qemu] 4292d5: vfio: Fix vfio_listener_log_sync function name typo,
Peter Maydell <=