[Qemu-devel] [PATCH 24/28] Include sysemu/hostmem.h less

Markus Armbruster posted 28 patches 6 years, 6 months ago
There is a newer version of this series
[Qemu-devel] [PATCH 24/28] Include sysemu/hostmem.h less
Posted by Markus Armbruster 6 years, 6 months ago
Move the HostMemoryBackend typedef from sysemu/hostmem.h to
qemu/typedefs.h.  This renders a few inclusions of sysemu/hostmem.h
superflouous; drop them.

Cc: Eduardo Habkost <ehabkost@redhat.com>
Cc: Igor Mammedov <imammedo@redhat.com>
Signed-off-by: Markus Armbruster <armbru@redhat.com>
---
 hw/mem/nvdimm.c                 | 1 +
 hw/virtio/virtio-pmem.c         | 1 +
 include/hw/mem/pc-dimm.h        | 1 -
 include/hw/virtio/virtio-pmem.h | 1 -
 include/qemu/typedefs.h         | 1 +
 include/sysemu/hostmem.h        | 1 -
 6 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/hw/mem/nvdimm.c b/hw/mem/nvdimm.c
index 6fefd65092..375f9a588a 100644
--- a/hw/mem/nvdimm.c
+++ b/hw/mem/nvdimm.c
@@ -30,6 +30,7 @@
 #include "hw/mem/nvdimm.h"
 #include "hw/qdev-properties.h"
 #include "hw/mem/memory-device.h"
+#include "sysemu/hostmem.h"
 
 static void nvdimm_get_label_size(Object *obj, Visitor *v, const char *name,
                                   void *opaque, Error **errp)
diff --git a/hw/virtio/virtio-pmem.c b/hw/virtio/virtio-pmem.c
index ff1a2ddb36..c0c9395e55 100644
--- a/hw/virtio/virtio-pmem.c
+++ b/hw/virtio/virtio-pmem.c
@@ -21,6 +21,7 @@
 #include "hw/virtio/virtio-access.h"
 #include "standard-headers/linux/virtio_ids.h"
 #include "standard-headers/linux/virtio_pmem.h"
+#include "sysemu/hostmem.h"
 #include "block/aio.h"
 #include "block/thread-pool.h"
 
diff --git a/include/hw/mem/pc-dimm.h b/include/hw/mem/pc-dimm.h
index 47b246f95c..289edc0f3d 100644
--- a/include/hw/mem/pc-dimm.h
+++ b/include/hw/mem/pc-dimm.h
@@ -17,7 +17,6 @@
 #define QEMU_PC_DIMM_H
 
 #include "exec/memory.h"
-#include "sysemu/hostmem.h"
 #include "hw/qdev-core.h"
 
 #define TYPE_PC_DIMM "pc-dimm"
diff --git a/include/hw/virtio/virtio-pmem.h b/include/hw/virtio/virtio-pmem.h
index 8bf2ae780f..33f1999320 100644
--- a/include/hw/virtio/virtio-pmem.h
+++ b/include/hw/virtio/virtio-pmem.h
@@ -16,7 +16,6 @@
 
 #include "hw/virtio/virtio.h"
 #include "qapi/qapi-types-misc.h"
-#include "sysemu/hostmem.h"
 
 #define TYPE_VIRTIO_PMEM "virtio-pmem"
 
diff --git a/include/qemu/typedefs.h b/include/qemu/typedefs.h
index 9e1283aacf..f569f5f270 100644
--- a/include/qemu/typedefs.h
+++ b/include/qemu/typedefs.h
@@ -33,6 +33,7 @@ typedef struct FWCfgEntry FWCfgEntry;
 typedef struct FWCfgIoState FWCfgIoState;
 typedef struct FWCfgMemState FWCfgMemState;
 typedef struct FWCfgState FWCfgState;
+typedef struct HostMemoryBackend HostMemoryBackend;
 typedef struct HVFX86EmulatorState HVFX86EmulatorState;
 typedef struct I2CBus I2CBus;
 typedef struct I2SCodec I2SCodec;
diff --git a/include/sysemu/hostmem.h b/include/sysemu/hostmem.h
index 92fa0e458c..afeb5db1b1 100644
--- a/include/sysemu/hostmem.h
+++ b/include/sysemu/hostmem.h
@@ -27,7 +27,6 @@
 #define MEMORY_BACKEND_CLASS(klass) \
     OBJECT_CLASS_CHECK(HostMemoryBackendClass, (klass), TYPE_MEMORY_BACKEND)
 
-typedef struct HostMemoryBackend HostMemoryBackend;
 typedef struct HostMemoryBackendClass HostMemoryBackendClass;
 
 /**
-- 
2.21.0


Re: [Qemu-devel] [PATCH 24/28] Include sysemu/hostmem.h less
Posted by Philippe Mathieu-Daudé 6 years, 6 months ago
On 7/26/19 2:05 PM, Markus Armbruster wrote:
> Move the HostMemoryBackend typedef from sysemu/hostmem.h to
> qemu/typedefs.h.  This renders a few inclusions of sysemu/hostmem.h
> superflouous; drop them.
> 
> Cc: Eduardo Habkost <ehabkost@redhat.com>
> Cc: Igor Mammedov <imammedo@redhat.com>
> Signed-off-by: Markus Armbruster <armbru@redhat.com>

Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>

> ---
>  hw/mem/nvdimm.c                 | 1 +
>  hw/virtio/virtio-pmem.c         | 1 +
>  include/hw/mem/pc-dimm.h        | 1 -
>  include/hw/virtio/virtio-pmem.h | 1 -
>  include/qemu/typedefs.h         | 1 +
>  include/sysemu/hostmem.h        | 1 -
>  6 files changed, 3 insertions(+), 3 deletions(-)
> 
> diff --git a/hw/mem/nvdimm.c b/hw/mem/nvdimm.c
> index 6fefd65092..375f9a588a 100644
> --- a/hw/mem/nvdimm.c
> +++ b/hw/mem/nvdimm.c
> @@ -30,6 +30,7 @@
>  #include "hw/mem/nvdimm.h"
>  #include "hw/qdev-properties.h"
>  #include "hw/mem/memory-device.h"
> +#include "sysemu/hostmem.h"
>  
>  static void nvdimm_get_label_size(Object *obj, Visitor *v, const char *name,
>                                    void *opaque, Error **errp)
> diff --git a/hw/virtio/virtio-pmem.c b/hw/virtio/virtio-pmem.c
> index ff1a2ddb36..c0c9395e55 100644
> --- a/hw/virtio/virtio-pmem.c
> +++ b/hw/virtio/virtio-pmem.c
> @@ -21,6 +21,7 @@
>  #include "hw/virtio/virtio-access.h"
>  #include "standard-headers/linux/virtio_ids.h"
>  #include "standard-headers/linux/virtio_pmem.h"
> +#include "sysemu/hostmem.h"
>  #include "block/aio.h"
>  #include "block/thread-pool.h"
>  
> diff --git a/include/hw/mem/pc-dimm.h b/include/hw/mem/pc-dimm.h
> index 47b246f95c..289edc0f3d 100644
> --- a/include/hw/mem/pc-dimm.h
> +++ b/include/hw/mem/pc-dimm.h
> @@ -17,7 +17,6 @@
>  #define QEMU_PC_DIMM_H
>  
>  #include "exec/memory.h"
> -#include "sysemu/hostmem.h"
>  #include "hw/qdev-core.h"
>  
>  #define TYPE_PC_DIMM "pc-dimm"
> diff --git a/include/hw/virtio/virtio-pmem.h b/include/hw/virtio/virtio-pmem.h
> index 8bf2ae780f..33f1999320 100644
> --- a/include/hw/virtio/virtio-pmem.h
> +++ b/include/hw/virtio/virtio-pmem.h
> @@ -16,7 +16,6 @@
>  
>  #include "hw/virtio/virtio.h"
>  #include "qapi/qapi-types-misc.h"
> -#include "sysemu/hostmem.h"
>  
>  #define TYPE_VIRTIO_PMEM "virtio-pmem"
>  
> diff --git a/include/qemu/typedefs.h b/include/qemu/typedefs.h
> index 9e1283aacf..f569f5f270 100644
> --- a/include/qemu/typedefs.h
> +++ b/include/qemu/typedefs.h
> @@ -33,6 +33,7 @@ typedef struct FWCfgEntry FWCfgEntry;
>  typedef struct FWCfgIoState FWCfgIoState;
>  typedef struct FWCfgMemState FWCfgMemState;
>  typedef struct FWCfgState FWCfgState;
> +typedef struct HostMemoryBackend HostMemoryBackend;
>  typedef struct HVFX86EmulatorState HVFX86EmulatorState;
>  typedef struct I2CBus I2CBus;
>  typedef struct I2SCodec I2SCodec;
> diff --git a/include/sysemu/hostmem.h b/include/sysemu/hostmem.h
> index 92fa0e458c..afeb5db1b1 100644
> --- a/include/sysemu/hostmem.h
> +++ b/include/sysemu/hostmem.h
> @@ -27,7 +27,6 @@
>  #define MEMORY_BACKEND_CLASS(klass) \
>      OBJECT_CLASS_CHECK(HostMemoryBackendClass, (klass), TYPE_MEMORY_BACKEND)
>  
> -typedef struct HostMemoryBackend HostMemoryBackend;
>  typedef struct HostMemoryBackendClass HostMemoryBackendClass;
>  
>  /**
> 

Re: [Qemu-devel] [PATCH 24/28] Include sysemu/hostmem.h less
Posted by Eduardo Habkost 6 years, 6 months ago
On Fri, Jul 26, 2019 at 02:05:38PM +0200, Markus Armbruster wrote:
> Move the HostMemoryBackend typedef from sysemu/hostmem.h to
> qemu/typedefs.h.  This renders a few inclusions of sysemu/hostmem.h
> superflouous; drop them.
> 
> Cc: Eduardo Habkost <ehabkost@redhat.com>
> Cc: Igor Mammedov <imammedo@redhat.com>
> Signed-off-by: Markus Armbruster <armbru@redhat.com>

Reviewed-by: Eduardo Habkost <ehabkost@redhat.com>

-- 
Eduardo

Re: [Qemu-devel] [PATCH 24/28] Include sysemu/hostmem.h less
Posted by Igor Mammedov 6 years, 6 months ago
On Fri, 26 Jul 2019 14:05:38 +0200
Markus Armbruster <armbru@redhat.com> wrote:

> Move the HostMemoryBackend typedef from sysemu/hostmem.h to
> qemu/typedefs.h.  This renders a few inclusions of sysemu/hostmem.h
> superflouous; drop them.
> 
> Cc: Eduardo Habkost <ehabkost@redhat.com>
> Cc: Igor Mammedov <imammedo@redhat.com>
> Signed-off-by: Markus Armbruster <armbru@redhat.com>

Reviewed-by: Igor Mammedov <imammedo@redhat.com>

> ---
>  hw/mem/nvdimm.c                 | 1 +
>  hw/virtio/virtio-pmem.c         | 1 +
>  include/hw/mem/pc-dimm.h        | 1 -
>  include/hw/virtio/virtio-pmem.h | 1 -
>  include/qemu/typedefs.h         | 1 +
>  include/sysemu/hostmem.h        | 1 -
>  6 files changed, 3 insertions(+), 3 deletions(-)
> 
> diff --git a/hw/mem/nvdimm.c b/hw/mem/nvdimm.c
> index 6fefd65092..375f9a588a 100644
> --- a/hw/mem/nvdimm.c
> +++ b/hw/mem/nvdimm.c
> @@ -30,6 +30,7 @@
>  #include "hw/mem/nvdimm.h"
>  #include "hw/qdev-properties.h"
>  #include "hw/mem/memory-device.h"
> +#include "sysemu/hostmem.h"
>  
>  static void nvdimm_get_label_size(Object *obj, Visitor *v, const char *name,
>                                    void *opaque, Error **errp)
> diff --git a/hw/virtio/virtio-pmem.c b/hw/virtio/virtio-pmem.c
> index ff1a2ddb36..c0c9395e55 100644
> --- a/hw/virtio/virtio-pmem.c
> +++ b/hw/virtio/virtio-pmem.c
> @@ -21,6 +21,7 @@
>  #include "hw/virtio/virtio-access.h"
>  #include "standard-headers/linux/virtio_ids.h"
>  #include "standard-headers/linux/virtio_pmem.h"
> +#include "sysemu/hostmem.h"
>  #include "block/aio.h"
>  #include "block/thread-pool.h"
>  
> diff --git a/include/hw/mem/pc-dimm.h b/include/hw/mem/pc-dimm.h
> index 47b246f95c..289edc0f3d 100644
> --- a/include/hw/mem/pc-dimm.h
> +++ b/include/hw/mem/pc-dimm.h
> @@ -17,7 +17,6 @@
>  #define QEMU_PC_DIMM_H
>  
>  #include "exec/memory.h"
> -#include "sysemu/hostmem.h"
>  #include "hw/qdev-core.h"
>  
>  #define TYPE_PC_DIMM "pc-dimm"
> diff --git a/include/hw/virtio/virtio-pmem.h b/include/hw/virtio/virtio-pmem.h
> index 8bf2ae780f..33f1999320 100644
> --- a/include/hw/virtio/virtio-pmem.h
> +++ b/include/hw/virtio/virtio-pmem.h
> @@ -16,7 +16,6 @@
>  
>  #include "hw/virtio/virtio.h"
>  #include "qapi/qapi-types-misc.h"
> -#include "sysemu/hostmem.h"
>  
>  #define TYPE_VIRTIO_PMEM "virtio-pmem"
>  
> diff --git a/include/qemu/typedefs.h b/include/qemu/typedefs.h
> index 9e1283aacf..f569f5f270 100644
> --- a/include/qemu/typedefs.h
> +++ b/include/qemu/typedefs.h
> @@ -33,6 +33,7 @@ typedef struct FWCfgEntry FWCfgEntry;
>  typedef struct FWCfgIoState FWCfgIoState;
>  typedef struct FWCfgMemState FWCfgMemState;
>  typedef struct FWCfgState FWCfgState;
> +typedef struct HostMemoryBackend HostMemoryBackend;
>  typedef struct HVFX86EmulatorState HVFX86EmulatorState;
>  typedef struct I2CBus I2CBus;
>  typedef struct I2SCodec I2SCodec;
> diff --git a/include/sysemu/hostmem.h b/include/sysemu/hostmem.h
> index 92fa0e458c..afeb5db1b1 100644
> --- a/include/sysemu/hostmem.h
> +++ b/include/sysemu/hostmem.h
> @@ -27,7 +27,6 @@
>  #define MEMORY_BACKEND_CLASS(klass) \
>      OBJECT_CLASS_CHECK(HostMemoryBackendClass, (klass), TYPE_MEMORY_BACKEND)
>  
> -typedef struct HostMemoryBackend HostMemoryBackend;
>  typedef struct HostMemoryBackendClass HostMemoryBackendClass;
>  
>  /**


Re: [Qemu-devel] [PATCH 24/28] Include sysemu/hostmem.h less
Posted by Paolo Bonzini 6 years, 6 months ago
On 26/07/19 14:05, Markus Armbruster wrote:
> Move the HostMemoryBackend typedef from sysemu/hostmem.h to
> qemu/typedefs.h.  This renders a few inclusions of sysemu/hostmem.h
> superflouous; drop them.

I think this can also qualify for qemu/typedefs.h, even though this
patch is also into diminishing returns (sysemu/hostmem.h is only
included in a dozen files).

Paolo

Re: [Qemu-devel] [PATCH 24/28] Include sysemu/hostmem.h less
Posted by Markus Armbruster 6 years, 6 months ago
Paolo Bonzini <pbonzini@redhat.com> writes:

> On 26/07/19 14:05, Markus Armbruster wrote:
>> Move the HostMemoryBackend typedef from sysemu/hostmem.h to
>> qemu/typedefs.h.  This renders a few inclusions of sysemu/hostmem.h
>> superflouous; drop them.
>
> I think this can also qualify for qemu/typedefs.h, even though this
> patch is also into diminishing returns (sysemu/hostmem.h is only
> included in a dozen files).

Yes, hostmem.h is fairly harmless: ~250 out of 6600 objects in my "build
everything" tree before this patch, 130 after, 110 after the next one.

If I remember correctly, this patch helps making the remaining ones
strict improvements, i.e. counts go only down.

Since you don't seem to mind, I'll keep it.