diff mbox series

[v4,3/4] tests/qtest/vhost-user-blk-test: Temporary hack to get tests passing on aarch64

Message ID 20220307211439.213133-4-eric.auger@redhat.com (mailing list archive)
State New, archived
Headers show
Series qtests/libqos: Allow PCI tests to be run with virt-machine | expand

Commit Message

Eric Auger March 7, 2022, 9:14 p.m. UTC
When run on ARM, basic and indirect tests currently fail with the
following error:

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)

I noticed it worked when I set up MSI and I further reduced the
code to a simple guest_alloc() that removes the error. At the moment
I am not able to identify where ths issue is and this blocks the
whole pci/aarch64 enablement.

Signed-off-by: Eric Auger <eric.auger@redhat.com>
---
 tests/qtest/vhost-user-blk-test.c | 6 ++++++
 1 file changed, 6 insertions(+)

Comments

Stefan Hajnoczi March 8, 2022, 10:02 a.m. UTC | #1
On Mon, Mar 07, 2022 at 10:14:38PM +0100, Eric Auger wrote:
> When run on ARM, basic and indirect tests currently fail with the
> following error:
> 
> 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)
> 
> I noticed it worked when I set up MSI and I further reduced the
> code to a simple guest_alloc() that removes the error. At the moment
> I am not able to identify where ths issue is and this blocks the
> whole pci/aarch64 enablement.
> 
> Signed-off-by: Eric Auger <eric.auger@redhat.com>
> ---
>  tests/qtest/vhost-user-blk-test.c | 6 ++++++
>  1 file changed, 6 insertions(+)

What is the plan to identify the root cause?

Acked-by: Stefan Hajnoczi <stefanha@redhat.com>
Eric Auger March 8, 2022, 10:09 a.m. UTC | #2
Hi Stefan,

On 3/8/22 11:02 AM, Stefan Hajnoczi wrote:
> On Mon, Mar 07, 2022 at 10:14:38PM +0100, Eric Auger wrote:
>> When run on ARM, basic and indirect tests currently fail with the
>> following error:
>>
>> 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)
>>
>> I noticed it worked when I set up MSI and I further reduced the
>> code to a simple guest_alloc() that removes the error. At the moment
>> I am not able to identify where ths issue is and this blocks the
>> whole pci/aarch64 enablement.
>>
>> Signed-off-by: Eric Auger <eric.auger@redhat.com>
>> ---
>>  tests/qtest/vhost-user-blk-test.c | 6 ++++++
>>  1 file changed, 6 insertions(+)
> What is the plan to identify the root cause?
To be honest, I have no precise plan yet. However I commit to work on it
within the next weeks.

If maintainers prefer to delay the introduction of qtest libqos
pci/aarch64 tests until this gets fixed, I would understand though.

Eric
>
> Acked-by: Stefan Hajnoczi <stefanha@redhat.com>
Michael S. Tsirkin March 8, 2022, 11:09 a.m. UTC | #3
On Tue, Mar 08, 2022 at 11:09:13AM +0100, Eric Auger wrote:
> Hi Stefan,
> 
> On 3/8/22 11:02 AM, Stefan Hajnoczi wrote:
> > On Mon, Mar 07, 2022 at 10:14:38PM +0100, Eric Auger wrote:
> >> When run on ARM, basic and indirect tests currently fail with the
> >> following error:
> >>
> >> 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)
> >>
> >> I noticed it worked when I set up MSI and I further reduced the
> >> code to a simple guest_alloc() that removes the error. At the moment
> >> I am not able to identify where ths issue is and this blocks the
> >> whole pci/aarch64 enablement.
> >>
> >> Signed-off-by: Eric Auger <eric.auger@redhat.com>
> >> ---
> >>  tests/qtest/vhost-user-blk-test.c | 6 ++++++
> >>  1 file changed, 6 insertions(+)
> > What is the plan to identify the root cause?
> To be honest, I have no precise plan yet. However I commit to work on it
> within the next weeks.
> 
> If maintainers prefer to delay the introduction of qtest libqos
> pci/aarch64 tests until this gets fixed, I would understand though.
> 
> Eric

Given soft freeze sounds like a good plan.

> >
> > Acked-by: Stefan Hajnoczi <stefanha@redhat.com>
diff mbox series

Patch

diff --git a/tests/qtest/vhost-user-blk-test.c b/tests/qtest/vhost-user-blk-test.c
index 1316aae0fa..cf8057fb57 100644
--- a/tests/qtest/vhost-user-blk-test.c
+++ b/tests/qtest/vhost-user-blk-test.c
@@ -225,6 +225,9 @@  static QVirtQueue *test_basic(QVirtioDevice *dev, QGuestAllocator *alloc)
     QTestState *qts = global_qtest;
     QVirtQueue *vq;
 
+    /* temporary hack to let the test pass on aarch64 */
+    guest_alloc(alloc, 4);
+
     features = qvirtio_get_features(dev);
     features = features & ~(QVIRTIO_F_BAD_FEATURE |
                     (1u << VIRTIO_RING_F_INDIRECT_DESC) |
@@ -469,6 +472,9 @@  static void indirect(void *obj, void *u_data, QGuestAllocator *t_alloc)
     char *data;
     QTestState *qts = global_qtest;
 
+    /* temporary hack to let the test pass on aarch64 */
+    guest_alloc(t_alloc, 4);
+
     features = qvirtio_get_features(dev);
     g_assert_cmphex(features & (1u << VIRTIO_RING_F_INDIRECT_DESC), !=, 0);
     features = features & ~(QVIRTIO_F_BAD_FEATURE |