All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Michael S. Tsirkin" <mst@redhat.com>
To: "Alex Bennée" <alex.bennee@linaro.org>
Cc: qemu-devel@nongnu.org, slp@redhat.com,
	marcandre.lureau@redhat.com, stefanha@redhat.com,
	mathieu.poirier@linaro.org, viresh.kumar@linaro.org,
	mark.cave-ayland@ilande.co.uk, jasowang@redhat.com
Subject: Re: [PATCH v3 for 7.2 00/21] virtio-gpio and various virtio cleanups
Date: Tue, 26 Jul 2022 15:46:16 -0400	[thread overview]
Message-ID: <20220726154324-mutt-send-email-mst@kernel.org> (raw)
In-Reply-To: <20220726192150.2435175-1-alex.bennee@linaro.org>

On Tue, Jul 26, 2022 at 08:21:29PM +0100, Alex Bennée wrote:
> Hi,
> 
> After much slogging through the vhost-user code I've gotten the
> virtio-gpio device working again. The core change in pushing the
> responsibility for VHOST_USER_F_PROTOCOL_FEATURES down to the
> vhost-user layer (which knows it needs it). We still need to account
> for that in virtio-gpio because the result of the negotiating protocol
> features is the vrings start disabled so the stub needs to explicitly
> enable them. I did consider pushing this behaviour explicitly into
> vhost_dev_start but that would have required un-picking it from
> vhost-net (which is the only other device which uses protocol features
> AFAICT - but is a measure more complex in it's setup).
> 
> As last time there are a whole series of clean-ups and doc tweaks. I
> don't know if any are trivial enough to sneak into later RCs but it
> shouldn't be a problem to wait until the tree re-opens.

Right. Still I think some are fixes we should merge now.
I am thinking patches 5, 7,8,9 ? 6 if it makes backporting
much easier. WDYT? If you agree pls separate bugfixes in
series I can apply. Thanks!

> There is a remaining issue that a --enable-sanitizers build fails for
> qos-test due to leaks. It shows up as a leak from:
> 
>   Direct leak of 240 byte(s) in 1 object(s) allocated from:                                                                                                                    
>       #0 0x7fc5a3f2a037 in __interceptor_calloc ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:154                                                                    
>       #1 0x7fc5a2e5cda0 in g_malloc0 ../../../glib/gmem.c:136                                                                                                                  
>       #2 0x55ce773cc728 in virtio_device_realize ../../hw/virtio/virtio.c:3691                                                                                                 
>       #3 0x55ce7784ed7e in device_set_realized ../../hw/core/qdev.c:553                                                                                                        
>       #4 0x55ce77862d0c in property_set_bool ../../qom/object.c:2273                 
> 
> I'm not entirely sure what the allocation is because it gets inlined
> in the virtio_device_realize call. Perhaps it's the QOM object itself
> which is never gracefully torn down at the end of the test?
> 
> However when I attempted to bisect I found master was broken as well.
> For example in my arm/aarch64-softmmu build we see 5 failures:
> 
> Summary of Failures:
> 
>    3/48 qemu:qtest+qtest-aarch64 / qtest-aarch64/migration-test            ERROR          96.15s   killed by signal 6 SIGABRT
>    9/48 qemu:qtest+qtest-aarch64 / qtest-aarch64/qos-test                  ERROR          32.50s   killed by signal 6 SIGABRT
>   11/48 qemu:qtest+qtest-arm / qtest-arm/qos-test                          ERROR          26.93s   killed by signal 6 SIGABRT
>   20/48 qemu:qtest+qtest-aarch64 / qtest-aarch64/device-introspect-test    ERROR           5.17s   killed by signal 6 SIGABRT
>   45/48 qemu:qtest+qtest-arm / qtest-arm/device-introspect-test            ERROR           4.97s   killed by signal 6 SIGABRT
> 
> Of which the qos-tests are the only new ones. I suspect something must
> be preventing the other stuff being exercised in our CI system.
> 
> Alex Bennée (19):
>   include/hw/virtio: more comment for VIRTIO_F_BAD_FEATURE
>   include/hw: document vhost_dev feature life-cycle
>   hw/virtio: fix some coding style issues
>   hw/virtio: log potentially buggy guest drivers
>   block/vhost-user-blk-server: don't expose
>     VHOST_USER_F_PROTOCOL_FEATURES
>   hw/virtio: incorporate backend features in features
>   hw/virtio: gracefully handle unset vhost_dev vdev
>   hw/virtio: handle un-configured shutdown in virtio-pci
>   hw/virtio: fix vhost_user_read tracepoint
>   hw/virtio: add some vhost-user trace events
>   tests/qtest: pass stdout/stderr down to subtests
>   tests/qtest: add a timeout for subprocess_run_one_test
>   tests/qtest: use qos_printf instead of g_test_message
>   tests/qtest: catch unhandled vhost-user messages
>   tests/qtest: plain g_assert for VHOST_USER_F_PROTOCOL_FEATURES
>   tests/qtest: add assert to catch bad features
>   tests/qtest: implement stub for VHOST_USER_GET_CONFIG
>   tests/qtest: add a get_features op to vhost-user-test
>   tests/qtest: enable tests for virtio-gpio
> 
> Viresh Kumar (2):
>   hw/virtio: add boilerplate for vhost-user-gpio device
>   hw/virtio: add vhost-user-gpio-pci boilerplate
> 
>  include/hw/virtio/vhost-user-gpio.h  |  35 +++
>  include/hw/virtio/vhost.h            |   3 +
>  include/hw/virtio/virtio.h           |   7 +-
>  tests/qtest/libqos/virtio-gpio.h     |  35 +++
>  block/export/vhost-user-blk-server.c |   3 +-
>  hw/virtio/vhost-user-gpio-pci.c      |  69 +++++
>  hw/virtio/vhost-user-gpio.c          | 414 +++++++++++++++++++++++++++
>  hw/virtio/vhost-user.c               |  20 +-
>  hw/virtio/vhost.c                    |  16 +-
>  hw/virtio/virtio-pci.c               |   9 +-
>  hw/virtio/virtio.c                   |   7 +
>  tests/qtest/libqos/virtio-gpio.c     | 171 +++++++++++
>  tests/qtest/libqos/virtio.c          |   4 +-
>  tests/qtest/qos-test.c               |   8 +-
>  tests/qtest/vhost-user-test.c        | 172 +++++++++--
>  hw/virtio/Kconfig                    |   5 +
>  hw/virtio/meson.build                |   2 +
>  hw/virtio/trace-events               |   9 +
>  tests/qtest/libqos/meson.build       |   1 +
>  19 files changed, 956 insertions(+), 34 deletions(-)
>  create mode 100644 include/hw/virtio/vhost-user-gpio.h
>  create mode 100644 tests/qtest/libqos/virtio-gpio.h
>  create mode 100644 hw/virtio/vhost-user-gpio-pci.c
>  create mode 100644 hw/virtio/vhost-user-gpio.c
>  create mode 100644 tests/qtest/libqos/virtio-gpio.c
> 
> -- 
> 2.30.2



      parent reply	other threads:[~2022-07-26 20:40 UTC|newest]

Thread overview: 33+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-07-26 19:21 [PATCH v3 for 7.2 00/21] virtio-gpio and various virtio cleanups Alex Bennée
2022-07-26 19:21 ` [PATCH v3 01/21] include/hw/virtio: more comment for VIRTIO_F_BAD_FEATURE Alex Bennée
2022-07-26 19:21 ` [PATCH v3 02/21] include/hw: document vhost_dev feature life-cycle Alex Bennée
2022-07-28  6:06   ` Jason Wang
2022-07-28 10:34     ` Alex Bennée
2022-07-26 19:21 ` [PATCH v3 03/21] hw/virtio: fix some coding style issues Alex Bennée
2022-07-28  6:07   ` Jason Wang
2022-07-26 19:21 ` [PATCH v3 04/21] hw/virtio: log potentially buggy guest drivers Alex Bennée
2022-07-28  6:09   ` Jason Wang
2022-07-26 19:21 ` [PATCH v3 05/21] block/vhost-user-blk-server: don't expose VHOST_USER_F_PROTOCOL_FEATURES Alex Bennée
2022-07-27 16:32   ` Kevin Wolf
2022-07-28  6:13   ` Jason Wang
2022-07-28 10:41     ` Alex Bennée
2022-07-26 19:21 ` [PATCH v3 06/21] hw/virtio: incorporate backend features in features Alex Bennée
2022-07-26 19:21 ` [PATCH v3 07/21] hw/virtio: gracefully handle unset vhost_dev vdev Alex Bennée
2022-07-26 19:21 ` [PATCH v3 08/21] hw/virtio: handle un-configured shutdown in virtio-pci Alex Bennée
2022-07-28  6:23   ` Jason Wang
2022-07-26 19:21 ` [PATCH v3 09/21] hw/virtio: fix vhost_user_read tracepoint Alex Bennée
2022-07-28  6:28   ` Jason Wang
2022-07-26 19:21 ` [PATCH v3 10/21] hw/virtio: add some vhost-user trace events Alex Bennée
2022-07-26 19:21 ` [PATCH v3 11/21] hw/virtio: add boilerplate for vhost-user-gpio device Alex Bennée
2022-07-26 19:21 ` [PATCH v3 12/21] hw/virtio: add vhost-user-gpio-pci boilerplate Alex Bennée
2022-07-26 19:21 ` [PATCH v3 13/21] tests/qtest: pass stdout/stderr down to subtests Alex Bennée
2022-07-26 19:21 ` [PATCH v3 14/21] tests/qtest: add a timeout for subprocess_run_one_test Alex Bennée
2022-07-27  6:24   ` Thomas Huth
2022-07-26 19:21 ` [PATCH v3 15/21] tests/qtest: use qos_printf instead of g_test_message Alex Bennée
2022-07-26 19:21 ` [PATCH v3 16/21] tests/qtest: catch unhandled vhost-user messages Alex Bennée
2022-07-26 19:21 ` [PATCH v3 17/21] tests/qtest: plain g_assert for VHOST_USER_F_PROTOCOL_FEATURES Alex Bennée
2022-07-26 19:21 ` [PATCH v3 18/21] tests/qtest: add assert to catch bad features Alex Bennée
2022-07-26 19:21 ` [PATCH v3 19/21] tests/qtest: implement stub for VHOST_USER_GET_CONFIG Alex Bennée
2022-07-26 19:21 ` [PATCH v3 20/21] tests/qtest: add a get_features op to vhost-user-test Alex Bennée
2022-07-26 19:21 ` [PATCH v3 21/21] tests/qtest: enable tests for virtio-gpio Alex Bennée
2022-07-26 19:46 ` 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=20220726154324-mutt-send-email-mst@kernel.org \
    --to=mst@redhat.com \
    --cc=alex.bennee@linaro.org \
    --cc=jasowang@redhat.com \
    --cc=marcandre.lureau@redhat.com \
    --cc=mark.cave-ayland@ilande.co.uk \
    --cc=mathieu.poirier@linaro.org \
    --cc=qemu-devel@nongnu.org \
    --cc=slp@redhat.com \
    --cc=stefanha@redhat.com \
    --cc=viresh.kumar@linaro.org \
    /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.