qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH v4 28/29] sysemu: Move the VMChangeStateEntry ty


From: Alex Bennée
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
User-agent: mu4e 1.3.4; emacs 27.0.50

Markus Armbruster <address@hidden> 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 <address@hidden>

>
> 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 <address@hidden>
> ---
>  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 via email to

[Prev in Thread] Current Thread [Next in Thread]