All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Alex Bennée" <alex.bennee@linaro.org>
To: qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] [PATCH v4 28/29] sysemu: Move the VMChangeStateEntry typedef to qemu/typedefs.h
Date: Mon, 12 Aug 2019 11:08:12 +0100	[thread overview]
Message-ID: <87h86mofw3.fsf@linaro.org> (raw)
In-Reply-To: <20190812052359.30071-29-armbru@redhat.com>


Markus Armbruster <armbru@redhat.com> writes:

> In my "build everything" tree, changing sysemu/sysemu.h triggers a
> recompile of some 1800 out of 6600 objects (not counting tests and
> objects that don't depend on qemu/osdep.h, down from 5400 due to the
> previous commit).
>
> Several headers include sysemu/sysemu.h just to get typedef
> VMChangeStateEntry.  Move it from sysemu/sysemu.h to qemu/typedefs.h.
> Spell its structure tag the same while there.  Drop the now
> superfluous includes of sysemu/sysemu.h from headers.

You should probably mention you also fix the struct definition to meet
our coding style. Otherwise:

Reviewed-by: Alex Bennée <alex.bennee@linaro.org>

>
> Touching sysemu/sysemu.h now recompiles some 1100 objects.
> qemu/uuid.h also drops from 1800 to 1100, and
> qapi/qapi-types-run-state.h from 5000 to 4400.
>
> Signed-off-by: Markus Armbruster <armbru@redhat.com>
> ---
>  hw/usb/hcd-ehci.h           | 1 -
>  include/hw/ide/internal.h   | 3 ++-
>  include/hw/ppc/spapr_xive.h | 1 -
>  include/hw/scsi/scsi.h      | 1 -
>  include/hw/virtio/virtio.h  | 1 -
>  include/qemu/typedefs.h     | 1 +
>  include/sysemu/sysemu.h     | 1 -
>  hw/block/vhost-user-blk.c   | 1 +
>  hw/block/virtio-blk.c       | 1 +
>  hw/display/virtio-gpu.c     | 1 +
>  hw/misc/macio/macio.c       | 1 +
>  hw/net/virtio-net.c         | 1 +
>  hw/s390x/s390-ccw.c         | 1 +
>  hw/s390x/s390-virtio-ccw.c  | 1 +
>  hw/scsi/scsi-bus.c          | 1 +
>  hw/scsi/vhost-scsi.c        | 1 +
>  hw/scsi/vhost-user-scsi.c   | 1 +
>  hw/usb/hcd-ehci.c           | 1 +
>  hw/virtio/virtio-rng.c      | 1 +
>  hw/virtio/virtio.c          | 1 +
>  vl.c                        | 6 +++---
>  21 files changed, 19 insertions(+), 9 deletions(-)
>
> diff --git a/hw/usb/hcd-ehci.h b/hw/usb/hcd-ehci.h
> index fdbcfdcbeb..0298238f0b 100644
> --- a/hw/usb/hcd-ehci.h
> +++ b/hw/usb/hcd-ehci.h
> @@ -21,7 +21,6 @@
>  #include "qemu/timer.h"
>  #include "hw/usb.h"
>  #include "sysemu/dma.h"
> -#include "sysemu/sysemu.h"
>  #include "hw/pci/pci.h"
>  #include "hw/sysbus.h"
>
> diff --git a/include/hw/ide/internal.h b/include/hw/ide/internal.h
> index c6954c1d56..52ec197da0 100644
> --- a/include/hw/ide/internal.h
> +++ b/include/hw/ide/internal.h
> @@ -6,11 +6,12 @@
>   * only files in hw/ide/ are supposed to include this file.
>   * non-internal declarations are in hw/ide.h
>   */
> +
> +#include "qapi/qapi-types-run-state.h"
>  #include "hw/ide.h"
>  #include "hw/irq.h"
>  #include "hw/isa/isa.h"
>  #include "sysemu/dma.h"
> -#include "sysemu/sysemu.h"
>  #include "hw/block/block.h"
>  #include "scsi/constants.h"
>
> diff --git a/include/hw/ppc/spapr_xive.h b/include/hw/ppc/spapr_xive.h
> index a39e672f27..bfd40f01d8 100644
> --- a/include/hw/ppc/spapr_xive.h
> +++ b/include/hw/ppc/spapr_xive.h
> @@ -12,7 +12,6 @@
>
>  #include "hw/ppc/spapr_irq.h"
>  #include "hw/ppc/xive.h"
> -#include "sysemu/sysemu.h"
>
>  #define TYPE_SPAPR_XIVE "spapr-xive"
>  #define SPAPR_XIVE(obj) OBJECT_CHECK(SpaprXive, (obj), TYPE_SPAPR_XIVE)
> diff --git a/include/hw/scsi/scsi.h b/include/hw/scsi/scsi.h
> index 2bfaad0fe9..d77a92361b 100644
> --- a/include/hw/scsi/scsi.h
> +++ b/include/hw/scsi/scsi.h
> @@ -4,7 +4,6 @@
>  #include "block/aio.h"
>  #include "hw/block/block.h"
>  #include "hw/qdev-core.h"
> -#include "sysemu/sysemu.h"
>  #include "scsi/utils.h"
>  #include "qemu/notify.h"
>
> diff --git a/include/hw/virtio/virtio.h b/include/hw/virtio/virtio.h
> index df40a46d60..48e8d04ff6 100644
> --- a/include/hw/virtio/virtio.h
> +++ b/include/hw/virtio/virtio.h
> @@ -17,7 +17,6 @@
>  #include "exec/memory.h"
>  #include "hw/qdev-core.h"
>  #include "net/net.h"
> -#include "sysemu/sysemu.h"
>  #include "migration/vmstate.h"
>  #include "qemu/event_notifier.h"
>  #include "standard-headers/linux/virtio_config.h"
> diff --git a/include/qemu/typedefs.h b/include/qemu/typedefs.h
> index f569f5f270..3fcdde8bfc 100644
> --- a/include/qemu/typedefs.h
> +++ b/include/qemu/typedefs.h
> @@ -102,6 +102,7 @@ typedef struct SHPCDevice SHPCDevice;
>  typedef struct SSIBus SSIBus;
>  typedef struct VirtIODevice VirtIODevice;
>  typedef struct Visitor Visitor;
> +typedef struct VMChangeStateEntry VMChangeStateEntry;
>  typedef struct VMStateDescription VMStateDescription;
>
>  /*
> diff --git a/include/sysemu/sysemu.h b/include/sysemu/sysemu.h
> index 908f158677..7606eaaf2a 100644
> --- a/include/sysemu/sysemu.h
> +++ b/include/sysemu/sysemu.h
> @@ -22,7 +22,6 @@ void runstate_set(RunState new_state);
>  int runstate_is_running(void);
>  bool runstate_needs_reset(void);
>  bool runstate_store(char *str, size_t size);
> -typedef struct vm_change_state_entry VMChangeStateEntry;
>  typedef void VMChangeStateHandler(void *opaque, int running, RunState state);
>
>  VMChangeStateEntry *qemu_add_vm_change_state_handler(VMChangeStateHandler *cb,
> diff --git a/hw/block/vhost-user-blk.c b/hw/block/vhost-user-blk.c
> index 7b44cca6d9..6b6cd07362 100644
> --- a/hw/block/vhost-user-blk.c
> +++ b/hw/block/vhost-user-blk.c
> @@ -28,6 +28,7 @@
>  #include "hw/virtio/virtio.h"
>  #include "hw/virtio/virtio-bus.h"
>  #include "hw/virtio/virtio-access.h"
> +#include "sysemu/sysemu.h"
>
>  static const int user_feature_bits[] = {
>      VIRTIO_BLK_F_SIZE_MAX,
> diff --git a/hw/block/virtio-blk.c b/hw/block/virtio-blk.c
> index 8cc2a232e0..78ac371eba 100644
> --- a/hw/block/virtio-blk.c
> +++ b/hw/block/virtio-blk.c
> @@ -20,6 +20,7 @@
>  #include "hw/block/block.h"
>  #include "hw/qdev-properties.h"
>  #include "sysemu/blockdev.h"
> +#include "sysemu/sysemu.h"
>  #include "hw/virtio/virtio-blk.h"
>  #include "dataplane/virtio-blk.h"
>  #include "scsi/constants.h"
> diff --git a/hw/display/virtio-gpu.c b/hw/display/virtio-gpu.c
> index 6de9689a30..28e868c021 100644
> --- a/hw/display/virtio-gpu.c
> +++ b/hw/display/virtio-gpu.c
> @@ -17,6 +17,7 @@
>  #include "ui/console.h"
>  #include "trace.h"
>  #include "sysemu/dma.h"
> +#include "sysemu/sysemu.h"
>  #include "hw/virtio/virtio.h"
>  #include "migration/qemu-file-types.h"
>  #include "hw/virtio/virtio-gpu.h"
> diff --git a/hw/misc/macio/macio.c b/hw/misc/macio/macio.c
> index b59df4e3b8..50f20d8206 100644
> --- a/hw/misc/macio/macio.c
> +++ b/hw/misc/macio/macio.c
> @@ -35,6 +35,7 @@
>  #include "hw/char/escc.h"
>  #include "hw/misc/macio/macio.h"
>  #include "hw/intc/heathrow_pic.h"
> +#include "sysemu/sysemu.h"
>  #include "trace.h"
>
>  /* Note: this code is strongly inspirated from the corresponding code
> diff --git a/hw/net/virtio-net.c b/hw/net/virtio-net.c
> index 4113729fcf..9f11422337 100644
> --- a/hw/net/virtio-net.c
> +++ b/hw/net/virtio-net.c
> @@ -31,6 +31,7 @@
>  #include "hw/virtio/virtio-access.h"
>  #include "migration/misc.h"
>  #include "standard-headers/linux/ethtool.h"
> +#include "sysemu/sysemu.h"
>  #include "trace.h"
>
>  #define VIRTIO_NET_VM_VERSION    11
> diff --git a/hw/s390x/s390-ccw.c b/hw/s390x/s390-ccw.c
> index 22c6878b84..0c5a5b60bd 100644
> --- a/hw/s390x/s390-ccw.c
> +++ b/hw/s390x/s390-ccw.c
> @@ -19,6 +19,7 @@
>  #include "hw/s390x/css.h"
>  #include "hw/s390x/css-bridge.h"
>  #include "hw/s390x/s390-ccw.h"
> +#include "sysemu/sysemu.h"
>
>  IOInstEnding s390_ccw_cmd_request(SubchDev *sch)
>  {
> diff --git a/hw/s390x/s390-virtio-ccw.c b/hw/s390x/s390-virtio-ccw.c
> index a543b64e56..434d933ec9 100644
> --- a/hw/s390x/s390-virtio-ccw.c
> +++ b/hw/s390x/s390-virtio-ccw.c
> @@ -40,6 +40,7 @@
>  #include "hw/nmi.h"
>  #include "hw/qdev-properties.h"
>  #include "hw/s390x/tod.h"
> +#include "sysemu/sysemu.h"
>
>  S390CPU *s390_cpu_addr2state(uint16_t cpu_addr)
>  {
> diff --git a/hw/scsi/scsi-bus.c b/hw/scsi/scsi-bus.c
> index db785e6001..cb8e8d1f36 100644
> --- a/hw/scsi/scsi-bus.c
> +++ b/hw/scsi/scsi-bus.c
> @@ -10,6 +10,7 @@
>  #include "scsi/constants.h"
>  #include "sysemu/block-backend.h"
>  #include "sysemu/blockdev.h"
> +#include "sysemu/sysemu.h"
>  #include "trace.h"
>  #include "sysemu/dma.h"
>  #include "qemu/cutils.h"
> diff --git a/hw/scsi/vhost-scsi.c b/hw/scsi/vhost-scsi.c
> index cd5cf1679d..c693fc748a 100644
> --- a/hw/scsi/vhost-scsi.c
> +++ b/hw/scsi/vhost-scsi.c
> @@ -30,6 +30,7 @@
>  #include "hw/fw-path-provider.h"
>  #include "hw/qdev-properties.h"
>  #include "qemu/cutils.h"
> +#include "sysemu/sysemu.h"
>
>  /* Features supported by host kernel. */
>  static const int kernel_feature_bits[] = {
> diff --git a/hw/scsi/vhost-user-scsi.c b/hw/scsi/vhost-user-scsi.c
> index a5be128b54..31c9d34637 100644
> --- a/hw/scsi/vhost-user-scsi.c
> +++ b/hw/scsi/vhost-user-scsi.c
> @@ -28,6 +28,7 @@
>  #include "hw/virtio/virtio.h"
>  #include "hw/virtio/virtio-access.h"
>  #include "chardev/char-fe.h"
> +#include "sysemu/sysemu.h"
>
>  /* Features supported by the host application */
>  static const int user_feature_bits[] = {
> diff --git a/hw/usb/hcd-ehci.c b/hw/usb/hcd-ehci.c
> index d7d1ecd45d..e76c939751 100644
> --- a/hw/usb/hcd-ehci.c
> +++ b/hw/usb/hcd-ehci.c
> @@ -35,6 +35,7 @@
>  #include "trace.h"
>  #include "qemu/error-report.h"
>  #include "qemu/main-loop.h"
> +#include "sysemu/sysemu.h"
>
>  #define FRAME_TIMER_FREQ 1000
>  #define FRAME_TIMER_NS   (NANOSECONDS_PER_SECOND / FRAME_TIMER_FREQ)
> diff --git a/hw/virtio/virtio-rng.c b/hw/virtio/virtio-rng.c
> index 34b4619fd3..c9c2414b7b 100644
> --- a/hw/virtio/virtio-rng.c
> +++ b/hw/virtio/virtio-rng.c
> @@ -17,6 +17,7 @@
>  #include "hw/qdev-properties.h"
>  #include "hw/virtio/virtio-rng.h"
>  #include "sysemu/rng.h"
> +#include "sysemu/sysemu.h"
>  #include "qom/object_interfaces.h"
>  #include "trace.h"
>
> diff --git a/hw/virtio/virtio.c b/hw/virtio/virtio.c
> index 721dcccc96..0ce142bc04 100644
> --- a/hw/virtio/virtio.c
> +++ b/hw/virtio/virtio.c
> @@ -26,6 +26,7 @@
>  #include "hw/qdev-properties.h"
>  #include "hw/virtio/virtio-access.h"
>  #include "sysemu/dma.h"
> +#include "sysemu/sysemu.h"
>
>  /*
>   * The alignment to use between consumer and producer parts of vring.
> diff --git a/vl.c b/vl.c
> index 08ef28f100..9dbbce4ce3 100644
> --- a/vl.c
> +++ b/vl.c
> @@ -1362,14 +1362,14 @@ static int machine_help_func(QemuOpts *opts, MachineState *machine)
>      return 1;
>  }
>
> -struct vm_change_state_entry {
> +struct VMChangeStateEntry {
>      VMChangeStateHandler *cb;
>      void *opaque;
> -    QTAILQ_ENTRY(vm_change_state_entry) entries;
> +    QTAILQ_ENTRY(VMChangeStateEntry) entries;
>      int priority;
>  };
>
> -static QTAILQ_HEAD(, vm_change_state_entry) vm_change_state_head;
> +static QTAILQ_HEAD(, VMChangeStateEntry) vm_change_state_head;
>
>  /**
>   * qemu_add_vm_change_state_handler_prio:


--
Alex Bennée


  reply	other threads:[~2019-08-12 10:08 UTC|newest]

Thread overview: 50+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-08-12  5:23 [Qemu-devel] [PATCH v4 00/29] Tame a few "touch this, recompile the world" headers Markus Armbruster
2019-08-12  5:23 ` [Qemu-devel] [PATCH v4 01/29] include: Make headers more self-contained Markus Armbruster
2019-08-12 15:58   ` Philippe Mathieu-Daudé
2019-08-12  5:23 ` [Qemu-devel] [PATCH v4 02/29] Include generated QAPI headers less Markus Armbruster
2019-08-12  5:23 ` [Qemu-devel] [PATCH v4 03/29] qapi: Split error.json off common.json Markus Armbruster
2019-08-12  5:23 ` [Qemu-devel] [PATCH v4 04/29] memory: Fix type of IOMMUMemoryRegionClass member @parent_class Markus Armbruster
2019-08-12  5:23 ` [Qemu-devel] [PATCH v4 05/29] queue: Drop superfluous #include qemu/atomic.h Markus Armbruster
2019-08-12  5:23 ` [Qemu-devel] [PATCH v4 06/29] trace: Eliminate use of TARGET_FMT_plx Markus Armbruster
2019-08-12  5:23 ` [Qemu-devel] [PATCH v4 07/29] trace: Do not include qom/cpu.h into generated trace.h Markus Armbruster
2019-08-12  5:23 ` [Qemu-devel] [PATCH v4 08/29] Include sysemu/reset.h a lot less Markus Armbruster
2019-08-12  5:23 ` [Qemu-devel] [PATCH v4 09/29] Include migration/qemu-file-types.h " Markus Armbruster
2019-08-12 10:48   ` Philippe Mathieu-Daudé
2019-08-12  5:23 ` [Qemu-devel] [PATCH v4 10/29] ide: Include hw/ide/internal a bit less outside hw/ide/ Markus Armbruster
2019-08-12  5:23 ` [Qemu-devel] [PATCH v4 11/29] typedefs: Separate incomplete types and function types Markus Armbruster
2019-08-12 10:55   ` Alex Bennée
2019-08-12 13:37     ` Markus Armbruster
2019-08-13  5:43       ` Markus Armbruster
2019-08-13 10:44         ` Alex Bennée
2019-08-13 11:16           ` Markus Armbruster
2019-08-12  5:23 ` [Qemu-devel] [PATCH v4 12/29] Include hw/irq.h a lot less Markus Armbruster
2019-08-12  5:23 ` [Qemu-devel] [PATCH v4 13/29] Clean up inclusion of exec/cpu-common.h Markus Armbruster
2019-08-12  5:23 ` [Qemu-devel] [PATCH v4 14/29] migration: Move the VMStateDescription typedef to typedefs.h Markus Armbruster
2019-08-12  5:23 ` [Qemu-devel] [PATCH v4 15/29] Include migration/vmstate.h less Markus Armbruster
2019-08-12 15:59   ` Philippe Mathieu-Daudé
2019-08-12  5:23 ` [Qemu-devel] [PATCH v4 16/29] Include exec/memory.h slightly less Markus Armbruster
2019-08-12  5:23 ` [Qemu-devel] [PATCH v4 17/29] Include qom/object.h " Markus Armbruster
2019-08-12  5:23 ` [Qemu-devel] [PATCH v4 18/29] Include hw/hw.h exactly where needed Markus Armbruster
2019-08-12 16:01   ` Philippe Mathieu-Daudé
2019-08-12  5:23 ` [Qemu-devel] [PATCH v4 19/29] Include qemu/queue.h slightly less Markus Armbruster
2019-08-12  5:23 ` [Qemu-devel] [PATCH v4 20/29] Include qemu/main-loop.h less Markus Armbruster
2019-08-12 10:53   ` Alex Bennée
2019-08-12 10:55   ` Philippe Mathieu-Daudé
2019-08-12  5:23 ` [Qemu-devel] [PATCH v4 21/29] Include hw/qdev-properties.h less Markus Armbruster
2019-08-12  5:23 ` [Qemu-devel] [PATCH v4 22/29] Include hw/boards.h a bit less Markus Armbruster
2019-08-12 16:02   ` Philippe Mathieu-Daudé
2019-08-12 23:35   ` Eduardo Habkost
2019-08-12  5:23 ` [Qemu-devel] [PATCH v4 23/29] numa: Don't include hw/boards.h into sysemu/numa.h Markus Armbruster
2019-08-12  5:23 ` [Qemu-devel] [PATCH v4 24/29] Include sysemu/hostmem.h less Markus Armbruster
2019-08-12  5:23 ` [Qemu-devel] [PATCH v4 25/29] numa: Move remaining NUMA declarations from sysemu.h to numa.h Markus Armbruster
2019-08-12  5:23 ` [Qemu-devel] [PATCH v4 26/29] Clean up inclusion of sysemu/sysemu.h Markus Armbruster
2019-08-12 10:10   ` Alex Bennée
2019-08-12  5:23 ` [Qemu-devel] [PATCH v4 27/29] Include sysemu/sysemu.h a lot less Markus Armbruster
2019-08-12 10:09   ` Alex Bennée
2019-08-12  5:23 ` [Qemu-devel] [PATCH v4 28/29] sysemu: Move the VMChangeStateEntry typedef to qemu/typedefs.h Markus Armbruster
2019-08-12 10:08   ` Alex Bennée [this message]
2019-08-12 13:54     ` Markus Armbruster
2019-08-12 15:00       ` Alex Bennée
2019-08-12 16:06   ` Philippe Mathieu-Daudé
2019-08-12  5:23 ` [Qemu-devel] [PATCH v4 29/29] sysemu: Split sysemu/runstate.h off sysemu/sysemu.h Markus Armbruster
2019-08-12 10:04   ` Alex Bennée

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=87h86mofw3.fsf@linaro.org \
    --to=alex.bennee@linaro.org \
    --cc=qemu-devel@nongnu.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.