[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 00/41] Migration cleanup
From: |
Juan Quintela |
Subject: |
[Qemu-devel] [PATCH 00/41] Migration cleanup |
Date: |
Wed, 26 Apr 2017 00:04:10 +0200 |
Hi
In this second version:
- Move inclnude files to migration/ instead of include/migration/
- Split misc patches to other series
- Split MigrationParams to other series
- Split HMP commands to other series
- Make migration.h private
- Create include/migration/misc.h for functions that don't belong anywhere else
- Create include/migration/register.h for functions that register new
vmsdescriptions
- Create global_state.c for that VMState Description
- Make savevm.c target indepedent
- Exported functions reorganization to minimize the number of changes
- Remove migration stuff from sysemu/sysemu.h (Why was it there in the 1st
place.)
- Split vmstate-types.c from vmstate.c (now there is only the interpreter
there).
ToDo:
- RAMBlocks are defined in ram_addr_t, which includes ramlists.h
Clearly we should be able to have a better organization here, but it is
eluding me.
- Lots of files include sysemu/sysemu.h because runstate_* functions
are there, I think they deserve their own file.
- Split qmp commands from migration.c
- Reorganize savevm.c and migration.c to have less dependencies between them.
Please, comment.
[v1]
This is a cleanup on top of my previous series. It does:
- create one .h file for each migration/* file
- export with meaningful include names the migration functions that we export
- untangle the includes mess (migration.h in8cluded vmstate.h who
included qemu-file.h). Fixed all callers.
- once there, old MigrationParams are gone. Now block migration can be
configured
with migration capabilities like everything else in migration (old command
line
parameters are maintained, but on top of this)
- start moving hmp* functions to monitor.c
ToDo:
- move the two remaining hmp commands to monitor.c
really I should move them to block/* something, because they all use
block functions, nothing from migration.c.
- savevm.c/vmstate.c/migration.c: they are still tangled, but I wanted
to send the easy parts for review.
- half of the savevm.c functions are still exported from
sysemu/sysemu.h moving that to a different file, have to think about
it to make patches easier to understand.
- split capabilities/qmp commands/... from migration.c they don't
belong there, and once they are out it would be easier to untangle
the remaining bits.
- goal is still untangle normal migration/xbzrle/compression and rdma,
they are still too untangled together.
- I can still remove some includes that are not needed, but with the
current code, it gets really complicated until there is more cleanup there.
Please, comment.
Juan Quintela (41):
migration: Create migration/blocker.h
migration: Split migration/channel.c for channel operations
migration: Remove MigrationState from migration_channel_incomming()
migration: Export qemu-file-channel.c functions in its own file
migration: Remove migration.h from colo.h
migration: Move colo.h to migration/
migration: Move failover.h to migration/colo-failover.h
migration: Move page_cache.c to migration/
migration: Move qjson.h to migration/
migration: Move postcopy-ram.h to migration/
migration: Split vmstate-types.c from vmstate.c
migration: Remove qemu-file.h from vmstate.h
migration: Remove vmstate.h from migration.h
migration: migration.h was not needed
migration: Create include for migration snapshots
migration: Rename {save,load}_vmstate to {save,load}_snapshot
migration: Create savevm.h for functions exported from savevm.c
migration: Split qemu-file.h
migration: Remove unneeded includes of migration/vmstate.h
migration: Export exec.c functions in its own file
migration: Export fd.c functions in its own file
migration: Export socket.c functions in its own file
migration: Export tls.c functions in its own file
migration: Export ram.c functions in its own file
migration: Export rdma.c functions in its own file
migration: Move include/migration/block.h into migration/
migration: Move self_announce_delay() to misc.h
migration: Split registration functions from vmstate.h
migration: loadvm_free_handlers is only used in migration/
migration: Move dump_vmsate_json_to_file() to misc.h
migration: Move postcopy stuff to postcopy-ram.c
migration: Move constants to savevm.h
migration: Commands are only used inside migration.c
migration: ram_control_* are implemented in qemu_file
migration: create global_state.c
migration: Move more exported functions to migration/misc.h
migration: Move last funtions to misc.h
migration: Move migration.h to migration/
exec: Create include for target_page_size()
migration: Make savevm.c target independent
migration: Remove unneeded includes
MAINTAINERS | 4 +-
Makefile.objs | 1 -
Makefile.target | 2 +-
block/qcow.c | 2 +-
block/qed.c | 1 -
block/vdi.c | 2 +-
block/vhdx.c | 2 +-
block/vmdk.c | 2 +-
block/vpc.c | 2 +-
block/vvfat.c | 2 +-
exec.c | 10 +
hmp.c | 5 +-
hw/9pfs/9p.c | 2 +-
hw/core/qdev.c | 1 -
hw/display/qxl.c | 2 +-
hw/display/virtio-gpu.c | 2 +-
hw/i2c/i2c-ddc.c | 1 +
hw/i386/pc_piix.c | 3 +-
hw/i386/pc_q35.c | 1 -
hw/intc/arm_gic_kvm.c | 2 +-
hw/intc/arm_gicv3_its_kvm.c | 2 +-
hw/intc/arm_gicv3_kvm.c | 2 +-
hw/intc/s390_flic.c | 1 -
hw/intc/s390_flic_kvm.c | 1 -
hw/misc/ivshmem.c | 2 +-
hw/net/virtio-net.c | 1 +
hw/net/vmxnet3.c | 1 +
hw/ppc/spapr.c | 4 +-
hw/s390x/s390-skeys.c | 2 +-
hw/s390x/s390-virtio-ccw.c | 1 +
hw/scsi/vhost-scsi.c | 2 +-
hw/virtio/vhost-user.c | 1 -
hw/virtio/vhost-vsock.c | 1 -
hw/virtio/vhost.c | 2 +-
hw/virtio/virtio.c | 1 -
include/block/block_int.h | 4 +-
include/exec/target_page.h | 22 +
include/hw/acpi/memory_hotplug.h | 1 -
include/hw/acpi/pcihp.h | 1 -
include/hw/hw.h | 1 +
include/hw/pci/shpc.h | 1 -
include/migration/blocker.h | 35 ++
include/migration/global_state.h | 26 +
include/migration/migration.h | 353 -----------
include/migration/misc.h | 53 ++
include/migration/qemu-file-types.h | 164 +++++
include/migration/register.h | 64 ++
include/migration/snapshot.h | 20 +
include/migration/vmstate.h | 62 --
include/net/net.h | 1 -
include/sysemu/sysemu.h | 51 --
migration/Makefile.objs | 6 +-
migration/block.c | 14 +-
{include/migration => migration}/block.h | 1 -
migration/channel.c | 72 +++
migration/channel.h | 24 +
migration/colo-comm.c | 4 +-
migration/colo-failover.c | 6 +-
.../failover.h => migration/colo-failover.h | 0
migration/colo.c | 8 +-
{include/migration => migration}/colo.h | 4 -
migration/exec.c | 6 +-
migration/exec.h | 20 +
migration/fd.c | 6 +-
migration/fd.h | 20 +
migration/global_state.c | 142 +++++
migration/migration.c | 261 ++------
migration/migration.h | 167 +++++
page_cache.c => migration/page_cache.c | 0
{include/migration => migration}/page_cache.h | 0
migration/postcopy-ram.c | 28 +-
{include/migration => migration}/postcopy-ram.h | 26 +
migration/qemu-file-channel.c | 4 +-
migration/qemu-file-channel.h | 21 +
migration/qemu-file.c | 6 +-
{include/migration => migration}/qemu-file.h | 178 +-----
migration/qjson.c | 2 +-
{include/migration => migration}/qjson.h | 0
migration/ram.c | 15 +-
migration/ram.h | 55 ++
migration/rdma.c | 8 +-
migration/rdma.h | 22 +
migration/savevm.c | 65 +-
migration/savevm.h | 58 ++
migration/socket.c | 9 +-
migration/socket.h | 25 +
migration/tls.c | 6 +-
migration/tls.h | 27 +
migration/vmstate-types.c | 677 +++++++++++++++++++++
migration/vmstate.c | 676 +-------------------
migration/xbzrle.c | 2 +-
{include/migration => migration}/xbzrle.h | 0
monitor.c | 1 -
qdev-monitor.c | 2 +-
replay/replay-snapshot.c | 5 +-
slirp/slirp.c | 1 +
stubs/migr-blocker.c | 2 +-
target/alpha/cpu.c | 1 -
target/hppa/cpu.c | 1 -
target/i386/kvm.c | 2 +-
target/s390x/cpu.c | 1 -
target/tilegx/cpu.c | 1 -
tests/Makefile.include | 4 +-
tests/test-vmstate.c | 6 +-
tests/test-xbzrle.c | 2 +-
ui/spice-core.c | 2 +-
vl.c | 7 +-
xen-common.c | 3 +-
108 files changed, 2027 insertions(+), 1617 deletions(-)
create mode 100644 include/exec/target_page.h
create mode 100644 include/migration/blocker.h
create mode 100644 include/migration/global_state.h
delete mode 100644 include/migration/migration.h
create mode 100644 include/migration/misc.h
create mode 100644 include/migration/qemu-file-types.h
create mode 100644 include/migration/register.h
create mode 100644 include/migration/snapshot.h
rename {include/migration => migration}/block.h (95%)
create mode 100644 migration/channel.c
create mode 100644 migration/channel.h
rename include/migration/failover.h => migration/colo-failover.h (100%)
rename {include/migration => migration}/colo.h (88%)
create mode 100644 migration/exec.h
create mode 100644 migration/fd.h
create mode 100644 migration/global_state.c
create mode 100644 migration/migration.h
rename page_cache.c => migration/page_cache.c (100%)
rename {include/migration => migration}/page_cache.h (100%)
rename {include/migration => migration}/postcopy-ram.h (72%)
create mode 100644 migration/qemu-file-channel.h
rename {include/migration => migration}/qemu-file.h (62%)
rename {include/migration => migration}/qjson.h (100%)
create mode 100644 migration/ram.h
create mode 100644 migration/rdma.h
create mode 100644 migration/savevm.h
create mode 100644 migration/socket.h
create mode 100644 migration/tls.h
create mode 100644 migration/vmstate-types.c
rename {include/migration => migration}/xbzrle.h (100%)
--
2.9.3
- [Qemu-devel] [PATCH 00/41] Migration cleanup,
Juan Quintela <=
- [Qemu-devel] [PATCH 03/41] migration: Remove MigrationState from migration_channel_incomming(), Juan Quintela, 2017/04/25
- [Qemu-devel] [PATCH 01/41] migration: Create migration/blocker.h, Juan Quintela, 2017/04/25
- [Qemu-devel] [PATCH 02/41] migration: Split migration/channel.c for channel operations, Juan Quintela, 2017/04/25
- [Qemu-devel] [PATCH 04/41] migration: Export qemu-file-channel.c functions in its own file, Juan Quintela, 2017/04/25
- [Qemu-devel] [PATCH 06/41] migration: Move colo.h to migration/, Juan Quintela, 2017/04/25
- [Qemu-devel] [PATCH 07/41] migration: Move failover.h to migration/colo-failover.h, Juan Quintela, 2017/04/25
- [Qemu-devel] [PATCH 05/41] migration: Remove migration.h from colo.h, Juan Quintela, 2017/04/25
- [Qemu-devel] [PATCH 08/41] migration: Move page_cache.c to migration/, Juan Quintela, 2017/04/25
- [Qemu-devel] [PATCH 09/41] migration: Move qjson.h to migration/, Juan Quintela, 2017/04/25