All of lore.kernel.org
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH 00/41] Migration cleanup
@ 2017-04-25 22:04 Juan Quintela
  2017-04-25 22:04 ` [Qemu-devel] [PATCH 01/41] migration: Create migration/blocker.h Juan Quintela
                   ` (41 more replies)
  0 siblings, 42 replies; 53+ messages in thread
From: Juan Quintela @ 2017-04-25 22:04 UTC (permalink / raw)
  To: qemu-devel; +Cc: dgilbert, lvivier, peterx

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

^ permalink raw reply	[flat|nested] 53+ messages in thread

end of thread, other threads:[~2017-05-13 20:47 UTC | newest]

Thread overview: 53+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-04-25 22:04 [Qemu-devel] [PATCH 00/41] Migration cleanup Juan Quintela
2017-04-25 22:04 ` [Qemu-devel] [PATCH 01/41] migration: Create migration/blocker.h Juan Quintela
2017-04-27 11:58   ` Dr. David Alan Gilbert
2017-05-10  9:55   ` Peter Xu
2017-04-25 22:04 ` [Qemu-devel] [PATCH 02/41] migration: Split migration/channel.c for channel operations Juan Quintela
2017-04-25 22:04 ` [Qemu-devel] [PATCH 03/41] migration: Remove MigrationState from migration_channel_incomming() Juan Quintela
2017-04-25 22:04 ` [Qemu-devel] [PATCH 04/41] migration: Export qemu-file-channel.c functions in its own file Juan Quintela
2017-04-25 22:04 ` [Qemu-devel] [PATCH 05/41] migration: Remove migration.h from colo.h Juan Quintela
2017-04-25 22:04 ` [Qemu-devel] [PATCH 06/41] migration: Move colo.h to migration/ Juan Quintela
2017-05-04 19:02   ` Dr. David Alan Gilbert
2017-04-25 22:04 ` [Qemu-devel] [PATCH 07/41] migration: Move failover.h to migration/colo-failover.h Juan Quintela
2017-04-25 22:04 ` [Qemu-devel] [PATCH 08/41] migration: Move page_cache.c to migration/ Juan Quintela
2017-05-04 19:03   ` Dr. David Alan Gilbert
2017-04-25 22:04 ` [Qemu-devel] [PATCH 09/41] migration: Move qjson.h " Juan Quintela
2017-04-25 22:04 ` [Qemu-devel] [PATCH 10/41] migration: Move postcopy-ram.h " Juan Quintela
2017-04-27 12:09   ` Dr. David Alan Gilbert
2017-04-25 22:04 ` [Qemu-devel] [PATCH 11/41] migration: Split vmstate-types.c from vmstate.c Juan Quintela
2017-04-25 22:04 ` [Qemu-devel] [PATCH 12/41] migration: Remove qemu-file.h from vmstate.h Juan Quintela
2017-04-25 22:04 ` [Qemu-devel] [PATCH 13/41] migration: Remove vmstate.h from migration.h Juan Quintela
2017-05-13 20:47   ` Philippe Mathieu-Daudé
2017-04-25 22:04 ` [Qemu-devel] [PATCH 14/41] migration: migration.h was not needed Juan Quintela
2017-04-25 22:04 ` [Qemu-devel] [PATCH 15/41] migration: Create include for migration snapshots Juan Quintela
2017-04-25 22:04 ` [Qemu-devel] [PATCH 16/41] migration: Rename {save, load}_vmstate to {save, load}_snapshot Juan Quintela
2017-04-25 22:04 ` [Qemu-devel] [PATCH 17/41] migration: Create savevm.h for functions exported from savevm.c Juan Quintela
2017-04-25 22:04 ` [Qemu-devel] [PATCH 18/41] migration: Split qemu-file.h Juan Quintela
2017-04-25 22:04 ` [Qemu-devel] [PATCH 19/41] migration: Remove unneeded includes of migration/vmstate.h Juan Quintela
2017-05-13 20:46   ` Philippe Mathieu-Daudé
2017-04-25 22:04 ` [Qemu-devel] [PATCH 20/41] migration: Export exec.c functions in its own file Juan Quintela
2017-04-25 22:04 ` [Qemu-devel] [PATCH 21/41] migration: Export fd.c " Juan Quintela
2017-04-25 22:04 ` [Qemu-devel] [PATCH 22/41] migration: Export socket.c " Juan Quintela
2017-04-25 22:04 ` [Qemu-devel] [PATCH 23/41] migration: Export tls.c " Juan Quintela
2017-04-25 22:04 ` [Qemu-devel] [PATCH 24/41] migration: Export ram.c " Juan Quintela
2017-04-25 22:04 ` [Qemu-devel] [PATCH 25/41] migration: Export rdma.c " Juan Quintela
2017-04-27 11:52   ` Dr. David Alan Gilbert
2017-04-25 22:04 ` [Qemu-devel] [PATCH 26/41] migration: Move include/migration/block.h into migration/ Juan Quintela
2017-04-25 22:04 ` [Qemu-devel] [PATCH 27/41] migration: Move self_announce_delay() to misc.h Juan Quintela
2017-04-25 22:04 ` [Qemu-devel] [PATCH 28/41] migration: Split registration functions from vmstate.h Juan Quintela
2017-04-25 22:04 ` [Qemu-devel] [PATCH 29/41] migration: loadvm_free_handlers is only used in migration/ Juan Quintela
2017-04-25 22:04 ` [Qemu-devel] [PATCH 30/41] migration: Move dump_vmsate_json_to_file() to misc.h Juan Quintela
2017-04-25 22:04 ` [Qemu-devel] [PATCH 31/41] migration: Move postcopy stuff to postcopy-ram.c Juan Quintela
2017-04-28 17:15   ` Dr. David Alan Gilbert
2017-04-25 22:04 ` [Qemu-devel] [PATCH 32/41] migration: Move constants to savevm.h Juan Quintela
2017-04-25 22:04 ` [Qemu-devel] [PATCH 33/41] migration: Commands are only used inside migration.c Juan Quintela
2017-04-25 22:04 ` [Qemu-devel] [PATCH 34/41] migration: ram_control_* are implemented in qemu_file Juan Quintela
2017-04-25 22:04 ` [Qemu-devel] [PATCH 35/41] migration: create global_state.c Juan Quintela
2017-04-25 22:04 ` [Qemu-devel] [PATCH 36/41] migration: Move more exported functions to migration/misc.h Juan Quintela
2017-04-25 22:04 ` [Qemu-devel] [PATCH 37/41] migration: Move last funtions to misc.h Juan Quintela
2017-04-25 22:04 ` [Qemu-devel] [PATCH 38/41] migration: Move migration.h to migration/ Juan Quintela
2017-04-25 22:04 ` [Qemu-devel] [PATCH 39/41] exec: Create include for target_page_size() Juan Quintela
2017-04-25 22:04 ` [Qemu-devel] [PATCH 40/41] migration: Make savevm.c target independent Juan Quintela
2017-04-25 22:04 ` [Qemu-devel] [PATCH 41/41] migration: Remove unneeded includes Juan Quintela
2017-04-27 12:02 ` [Qemu-devel] [PATCH 00/41] Migration cleanup Dr. David Alan Gilbert
2017-04-27 15:02   ` Juan Quintela

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.