From 46517dd4971fc1fdd5b379e72cc377626ad98160 Mon Sep 17 00:00:00 2001 From: Markus Armbruster Date: Mon, 12 Aug 2019 07:23:57 +0200 Subject: Include sysemu/sysemu.h a lot less MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit In my "build everything" tree, changing sysemu/sysemu.h triggers a recompile of some 5400 out of 6600 objects (not counting tests and objects that don't depend on qemu/osdep.h). hw/qdev-core.h includes sysemu/sysemu.h since recent commit e965ffa70a "qdev: add qdev_add_vm_change_state_handler()". This is a bad idea: hw/qdev-core.h is widely included. Move the declaration of qdev_add_vm_change_state_handler() to sysemu/sysemu.h, and drop the problematic include from hw/qdev-core.h. Touching sysemu/sysemu.h now recompiles some 1800 objects. qemu/uuid.h also drops from 5400 to 1800. A few more headers show smaller improvement: qemu/notify.h drops from 5600 to 5200, qemu/timer.h from 5600 to 4500, and qapi/qapi-types-run-state.h from 5500 to 5000. Cc: Stefan Hajnoczi Signed-off-by: Markus Armbruster Reviewed-by: Alistair Francis Reviewed-by: Stefan Hajnoczi Message-Id: <20190812052359.30071-28-armbru@redhat.com> Reviewed-by: Alex Bennée --- migration/global_state.c | 1 + migration/migration.c | 1 + migration/savevm.c | 1 + 3 files changed, 3 insertions(+) (limited to 'migration') diff --git a/migration/global_state.c b/migration/global_state.c index 2c8c447239..7cba868979 100644 --- a/migration/global_state.c +++ b/migration/global_state.c @@ -13,6 +13,7 @@ #include "qemu/osdep.h" #include "qemu/cutils.h" #include "qemu/error-report.h" +#include "sysemu/sysemu.h" #include "qapi/error.h" #include "migration.h" #include "migration/global_state.h" diff --git a/migration/migration.c b/migration/migration.c index 3a6340f602..2986b8b164 100644 --- a/migration/migration.c +++ b/migration/migration.c @@ -21,6 +21,7 @@ #include "exec.h" #include "fd.h" #include "socket.h" +#include "sysemu/sysemu.h" #include "rdma.h" #include "ram.h" #include "migration/global_state.h" diff --git a/migration/savevm.c b/migration/savevm.c index b8f734537a..33da39f0ea 100644 --- a/migration/savevm.c +++ b/migration/savevm.c @@ -57,6 +57,7 @@ #include "io/channel-buffer.h" #include "io/channel-file.h" #include "sysemu/replay.h" +#include "sysemu/sysemu.h" #include "qjson.h" #include "migration/colo.h" #include "qemu/bitmap.h" -- cgit v1.2.3