All of lore.kernel.org
 help / color / mirror / Atom feed
From: Claudio Fontana <cfontana@suse.de>
To: Gerd Hoffmann <kraxel@redhat.com>, qemu-devel@nongnu.org
Cc: "Kevin Wolf" <kwolf@redhat.com>, "Thomas Huth" <thuth@redhat.com>,
	berrange@redhat.com, qemu-block@nongnu.org,
	"Michael S. Tsirkin" <mst@redhat.com>,
	"Michael Roth" <michael.roth@amd.com>,
	"José Ricardo Ziviani" <jose.ziviani@suse.com>,
	"Cornelia Huck" <cohuck@redhat.com>, "Peter Lieven" <pl@kamp.de>,
	"Markus Armbruster" <armbru@redhat.com>,
	"Max Reitz" <mreitz@redhat.com>,
	"Halil Pasic" <pasic@linux.ibm.com>,
	"Christian Borntraeger" <borntraeger@de.ibm.com>,
	qemu-s390x@nongnu.org, "Paolo Bonzini" <pbonzini@redhat.com>,
	"Ronnie Sahlberg" <ronniesahlberg@gmail.com>,
	"Samuel Thibault" <samuel.thibault@ens-lyon.org>,
	"Marc-André Lureau" <marcandre.lureau@redhat.com>,
	"David Hildenbrand" <david@redhat.com>,
	"Richard Henderson" <richard.henderson@linaro.org>,
	"Eric Blake" <eblake@redhat.com>
Subject: Re: [PATCH v2 00/18] modules: add metadata database
Date: Thu, 10 Jun 2021 10:32:39 +0200	[thread overview]
Message-ID: <dd1c5487-b1bf-9e33-fd42-fc0863e0ddd7@suse.de> (raw)
In-Reply-To: <20210610055755.538119-1-kraxel@redhat.com>

On 6/10/21 7:57 AM, Gerd Hoffmann wrote:
> This patch series adds support for module metadata.  Here are the pieces
> of the puzzle:
> 
>   (1) Macros are added to store metadata in a .modinfo elf section
>       (idea stolen from the linux kernel).
>   (2) A utility to scan modules, collect metadata from the .modinfo
>       sections, store it in a file (modinfo.json) for later consumption
>       by qemu.  Can also be easily inspected using 'jq'.
>   (3) Adding annotations to the modules we have.
>   (4) Drop hard-coded lists from utils/module.c
> 
> take care,
>   Gerd

The background has disappeared compared with V1.

V1 says:

"Background is that the hard-coded lists in util/module.c are somewhat
ugly and also wouldn't work very well with a large number of modules,
so I'm looking for something else."

Can you write more about what the actual high level goals of this series are?

We are in general making QEMU more and more difficult to get into,
requiring more and more investment for new contributors to get productive.

Is the additional complexity justified? What is the benefit, and is simplification a goal of the series as well?


> 
> Gerd Hoffmann (18):
>   modules: add metadata macros, add qxl module annotations
>   qapi: add ModuleInfo schema
>   modules: add qemu-modinfo utility
>   modules: add virtio-gpu module annotations
>   modules: add chardev module annotations
>   modules: add audio module annotations
>   modules: add usb-redir module annotations
>   modules: add ccid module annotations
>   modules: add ui module annotations
>   modules: add s390x module annotations
>   modules: add block module annotations
>   modules: add module_load_path_init helper
>   modules: load modinfo.json
>   modules: use modinfo for dependencies
>   modules: use modinfo for qom load
>   modules: use modinfo for qemu opts load
>   modules: check arch and block load on mismatch
>   [fixup] module_load_modinfo
> 
>  include/qemu/module.h           |  23 +++
>  audio/spiceaudio.c              |   2 +
>  block/iscsi-opts.c              |   1 +
>  chardev/baum.c                  |   1 +
>  chardev/spice.c                 |   4 +
>  hw/display/qxl.c                |   4 +
>  hw/display/vhost-user-gpu-pci.c |   1 +
>  hw/display/vhost-user-gpu.c     |   1 +
>  hw/display/vhost-user-vga.c     |   1 +
>  hw/display/virtio-gpu-base.c    |   1 +
>  hw/display/virtio-gpu-gl.c      |   3 +
>  hw/display/virtio-gpu-pci-gl.c  |   3 +
>  hw/display/virtio-gpu-pci.c     |   2 +
>  hw/display/virtio-gpu.c         |   1 +
>  hw/display/virtio-vga-gl.c      |   3 +
>  hw/display/virtio-vga.c         |   2 +
>  hw/s390x/virtio-ccw-gpu.c       |   3 +
>  hw/usb/ccid-card-emulated.c     |   1 +
>  hw/usb/ccid-card-passthru.c     |   1 +
>  hw/usb/redirect.c               |   1 +
>  qemu-modinfo.c                  | 270 ++++++++++++++++++++++++++++++
>  softmmu/vl.c                    |  20 +--
>  stubs/module-opts.c             |   4 -
>  ui/egl-headless.c               |   4 +
>  ui/gtk.c                        |   4 +
>  ui/sdl2.c                       |   4 +
>  ui/spice-app.c                  |   3 +
>  ui/spice-core.c                 |   5 +
>  util/module.c                   | 282 +++++++++++++++++++-------------
>  meson.build                     |  11 ++
>  qapi/meson.build                |   1 +
>  qapi/modules.json               |  36 ++++
>  qapi/qapi-schema.json           |   1 +
>  util/trace-events               |   3 +
>  34 files changed, 576 insertions(+), 131 deletions(-)
>  create mode 100644 qemu-modinfo.c
>  create mode 100644 qapi/modules.json
> 



  parent reply	other threads:[~2021-06-10  8:35 UTC|newest]

Thread overview: 50+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-06-10  5:57 [PATCH v2 00/18] modules: add metadata database Gerd Hoffmann
2021-06-10  5:57 ` [PATCH v2 01/18] modules: add metadata macros, add qxl module annotations Gerd Hoffmann
2021-06-10  5:57 ` [PATCH v2 02/18] qapi: add ModuleInfo schema Gerd Hoffmann
2021-06-14  7:48   ` Markus Armbruster
2021-06-14 15:21     ` Gerd Hoffmann
2021-06-14 16:53       ` Markus Armbruster
2021-06-10  5:57 ` [PATCH v2 03/18] modules: add qemu-modinfo utility Gerd Hoffmann
2021-06-10 13:04   ` Gerd Hoffmann
2021-06-10 13:13     ` Daniel P. Berrangé
2021-06-14  8:34       ` Paolo Bonzini
2021-06-14 14:36         ` Paolo Bonzini
2021-06-15  4:49           ` Gerd Hoffmann
2021-06-15  7:56             ` Gerd Hoffmann
2021-06-15 13:07               ` Gerd Hoffmann
2021-06-15 13:35                 ` Paolo Bonzini
2021-06-16  9:16                   ` Gerd Hoffmann
2021-06-16 10:53                     ` Paolo Bonzini
2021-06-14 15:01         ` Gerd Hoffmann
2021-06-14 15:08           ` Daniel P. Berrangé
2021-06-15  4:54             ` Gerd Hoffmann
2021-06-15  9:27               ` Daniel P. Berrangé
2021-06-10  5:57 ` [PATCH v2 04/18] modules: add virtio-gpu module annotations Gerd Hoffmann
2021-06-10  5:57 ` [PATCH v2 05/18] modules: add chardev " Gerd Hoffmann
2021-06-10  5:57 ` [PATCH v2 06/18] modules: add audio " Gerd Hoffmann
2021-06-10  5:57 ` [PATCH v2 07/18] modules: add usb-redir " Gerd Hoffmann
2021-06-10  5:57 ` [PATCH v2 08/18] modules: add ccid " Gerd Hoffmann
2021-06-10  5:57 ` [PATCH v2 09/18] modules: add ui " Gerd Hoffmann
2021-06-10  5:57 ` [PATCH v2 10/18] modules: add s390x " Gerd Hoffmann
2021-06-10  5:57 ` [PATCH v2 11/18] modules: add block " Gerd Hoffmann
2021-06-10  5:57 ` [PATCH v2 12/18] modules: add module_load_path_init helper Gerd Hoffmann
2021-06-10  5:57 ` [PATCH v2 13/18] modules: load modinfo.json Gerd Hoffmann
2021-06-10  5:57 ` [PATCH v2 14/18] modules: use modinfo for dependencies Gerd Hoffmann
2021-06-10  5:57 ` [PATCH v2 15/18] modules: use modinfo for qom load Gerd Hoffmann
2021-06-10  5:57 ` [PATCH v2 16/18] modules: use modinfo for qemu opts load Gerd Hoffmann
2021-06-10  5:57 ` [PATCH v2 17/18] modules: check arch and block load on mismatch Gerd Hoffmann
2021-06-10 12:35   ` Daniel P. Berrangé
2021-06-10 12:57     ` Gerd Hoffmann
2021-06-10 13:06       ` Daniel P. Berrangé
2021-06-10 14:03         ` Gerd Hoffmann
2021-06-14 11:23           ` Claudio Fontana
2021-06-14 13:44             ` Gerd Hoffmann
2021-06-14 13:52               ` Daniel P. Berrangé
2021-06-14 14:10                 ` Gerd Hoffmann
2021-06-14 11:19     ` Claudio Fontana
2021-06-10  5:57 ` [PATCH v2 18/18] [fixup] module_load_modinfo Gerd Hoffmann
2021-06-10  6:24   ` Gerd Hoffmann
2021-06-10  8:32 ` Claudio Fontana [this message]
2021-06-10  9:54   ` [PATCH v2 00/18] modules: add metadata database Gerd Hoffmann
2021-06-14 11:31     ` Claudio Fontana
2021-06-14 14:07       ` Gerd Hoffmann

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=dd1c5487-b1bf-9e33-fd42-fc0863e0ddd7@suse.de \
    --to=cfontana@suse.de \
    --cc=armbru@redhat.com \
    --cc=berrange@redhat.com \
    --cc=borntraeger@de.ibm.com \
    --cc=cohuck@redhat.com \
    --cc=david@redhat.com \
    --cc=eblake@redhat.com \
    --cc=jose.ziviani@suse.com \
    --cc=kraxel@redhat.com \
    --cc=kwolf@redhat.com \
    --cc=marcandre.lureau@redhat.com \
    --cc=michael.roth@amd.com \
    --cc=mreitz@redhat.com \
    --cc=mst@redhat.com \
    --cc=pasic@linux.ibm.com \
    --cc=pbonzini@redhat.com \
    --cc=pl@kamp.de \
    --cc=qemu-block@nongnu.org \
    --cc=qemu-devel@nongnu.org \
    --cc=qemu-s390x@nongnu.org \
    --cc=richard.henderson@linaro.org \
    --cc=ronniesahlberg@gmail.com \
    --cc=samuel.thibault@ens-lyon.org \
    --cc=thuth@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.