From: "Michael S. Tsirkin" <mst@redhat.com>
To: Eric Auger <eric.auger@redhat.com>
Cc: eesposit@redhat.com, jean-philippe@linaro.org,
qemu-devel@nongnu.org, Coiby.Xu@gmail.com, qemu-arm@nongnu.org,
clg@kaod.org, stefanha@redhat.com, pbonzini@redhat.com,
eric.auger.pro@gmail.com, david@gibson.dropbear.id.au
Subject: Re: [PATCH v3 0/5] qtests/libqos: Allow PCI tests to be run with virt-machine
Date: Sun, 6 Mar 2022 05:50:20 -0500 [thread overview]
Message-ID: <20220306054927-mutt-send-email-mst@kernel.org> (raw)
In-Reply-To: <20220210145254.157790-1-eric.auger@redhat.com>
On Thu, Feb 10, 2022 at 03:52:49PM +0100, Eric Auger wrote:
> Up to now the virt-machine node only contains a virtio-mmio
> driver node but no driver that eventually produces any pci-bus
> interface.
>
> Hence, PCI libqos tests cannot be run with aarch64 binary.
>
> This series brings the pieces needed to be able to run PCI tests
> with the aarch64 binary: a generic-pcihost driver node gets
> instantiated by the machine. This later contains a pci-bus-generic
> driver which produces a pci-bus interface. Then all tests
> consuming the pci-bus interface can be run with the libqos arm
> virt machine.
>
> One of the first goal was to be able to run the virtio-iommu-pci
> tests as the virtio-iommu was initially targetting ARM and it
> was awkard to be run the test with the pc machine. This is now
> possible.
>
> Only the tests doing hotplug cannot be run yet as hotplug is
> not possible on the root bus. This will be dealt with separately
> by adding a root port to the object tree.
>
> Also I have some trouble with 2 of the vhost-user-blk-tests. I am
> obliged to hack them in "tests/qtest/vhost-user-blk-test: Temporary
> hack to get tests passing on aarch64". Looks like a memory
> allocation issue, which at first sight seems unrelated to the
> aarch64 pci libqos enablement but we are never sure. Calling for
> help on this issue, if some vhost-user specialists can dedicate
> some cycles on this. Otherwise I will try my best to further debug.
>
> To reproduce the issue, revert the above hack and run
>
> QTEST_QEMU_STORAGE_DAEMON_BINARY=build/storage-daemon/qemu-storage-daemon QTEST_QEMU_BINARY=build/aarch64-softmmu/qemu-system-aarch64 build/tests/qtest/qos-test
>
> you should get:
>
> ERROR:../tests/qtest/libqos/virtio.c:224:qvirtio_wait_used_elem:
> assertion failed (got_desc_idx == desc_idx): (50331648 == 0)
> Bail out! ERROR:../tests/qtest/libqos/virtio.c:224: qvirtio_wait_used_elem:
> assertion failed (got_desc_idx == desc_idx): (50331648 == 0)
>
> Best Regards
>
> Eric
>
> This series can be found at:
> https://github.com/eauger/qemu/tree/libqos-pci-arm-v3
Seems to cause issues when run on a powerpc host (see Peter's
response to the pull request).
Dropped from pull for now.
> History
>
> v2 -> v3:
> - force -cpu=max along with aarch64/virt
> - reduced the vhost-user-block-pci issue workaround to a
> single guest_alloc() instead of enabling MSIs. Call for
> help on this specific issue. The 2 tests which fail otherwise
> are: test_basic and indirect.
>
> v1 -> v2:
> - copyright updated to 2022
> - QPCIBusARM renamed into QGenericPCIBus
> - QGenericPCIHost declarations and definitions moved in the same
> place as the generic pci implementation
> - rename pci-arm.c/h in generic-pcihost.c/h and remove any ref to
> ARM there
> - remove qos_node_produces_opts, qpci_new_arm, qpci_free_arm
> - ecam_alloc_ptr now is a field of QGenericPCIBus and not QPCIBus
> - new libqos_init to create generic-pcihost driver that contains
> pci-bus-generic
> - QGenericPCIHost moved in the same place as the generic pci
> bindings
> - collected Thomas A-b/R-b
>
> Eric Auger (5):
> tests/qtest/vhost-user-test.c: Use vhostforce=on
> tests/qtest/libqos/pci: Introduce pio_limit
> tests/qtest/libqos: Skip hotplug tests if pci root bus is not
> hotpluggable
> tests/qtest/vhost-user-blk-test: Temporary hack to get tests passing
> on aarch64
> tests/qtest/libqos: Add generic pci host bridge in arm-virt machine
>
> tests/qtest/e1000e-test.c | 6 +
> tests/qtest/libqos/arm-virt-machine.c | 19 ++-
> tests/qtest/libqos/generic-pcihost.c | 231 ++++++++++++++++++++++++++
> tests/qtest/libqos/generic-pcihost.h | 54 ++++++
> tests/qtest/libqos/meson.build | 1 +
> tests/qtest/libqos/pci-pc.c | 1 +
> tests/qtest/libqos/pci-spapr.c | 1 +
> tests/qtest/libqos/pci.c | 78 +++++----
> tests/qtest/libqos/pci.h | 6 +-
> tests/qtest/vhost-user-blk-test.c | 16 ++
> tests/qtest/vhost-user-test.c | 2 +-
> tests/qtest/virtio-blk-test.c | 5 +
> tests/qtest/virtio-net-test.c | 5 +
> tests/qtest/virtio-rng-test.c | 5 +
> 14 files changed, 394 insertions(+), 36 deletions(-)
> create mode 100644 tests/qtest/libqos/generic-pcihost.c
> create mode 100644 tests/qtest/libqos/generic-pcihost.h
>
> --
> 2.26.3
prev parent reply other threads:[~2022-03-06 10:50 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-02-10 14:52 [PATCH v3 0/5] qtests/libqos: Allow PCI tests to be run with virt-machine Eric Auger
2022-02-10 14:52 ` [PATCH v3 1/5] tests/qtest/vhost-user-test.c: Use vhostforce=on Eric Auger
2022-02-10 14:52 ` [PATCH v3 2/5] tests/qtest/libqos/pci: Introduce pio_limit Eric Auger
2022-04-05 13:54 ` Alex Bennée
2022-04-05 13:54 ` Alex Bennée
2022-02-10 14:52 ` [PATCH v3 3/5] tests/qtest/libqos: Skip hotplug tests if pci root bus is not hotpluggable Eric Auger
2022-04-05 14:36 ` Alex Bennée
2022-04-05 14:36 ` Alex Bennée
2022-02-10 14:52 ` [PATCH v3 4/5] tests/qtest/vhost-user-blk-test: Temporary hack to get tests passing on aarch64 Eric Auger
2022-04-06 17:34 ` Alex Bennée
2022-04-06 17:34 ` Alex Bennée
2022-04-07 8:36 ` Eric Auger
2022-04-07 8:36 ` Eric Auger
2022-02-10 14:52 ` [PATCH v3 5/5] tests/qtest/libqos: Add generic pci host bridge in arm-virt machine Eric Auger
2022-03-06 10:53 ` Michael S. Tsirkin
2022-03-06 10:50 ` Michael S. Tsirkin [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20220306054927-mutt-send-email-mst@kernel.org \
--to=mst@redhat.com \
--cc=Coiby.Xu@gmail.com \
--cc=clg@kaod.org \
--cc=david@gibson.dropbear.id.au \
--cc=eesposit@redhat.com \
--cc=eric.auger.pro@gmail.com \
--cc=eric.auger@redhat.com \
--cc=jean-philippe@linaro.org \
--cc=pbonzini@redhat.com \
--cc=qemu-arm@nongnu.org \
--cc=qemu-devel@nongnu.org \
--cc=stefanha@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.