qemu-commits
[Top][All Lists]
Advanced

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

[Qemu-commits] [qemu/qemu] 3d661c: migration: Add error_desc for file ch


From: Peter Maydell
Subject: [Qemu-commits] [qemu/qemu] 3d661c: migration: Add error_desc for file channel errors
Date: Fri, 16 Aug 2019 05:57:04 -0700

  Branch: refs/heads/master
  Home:   https://github.com/qemu/qemu
  Commit: 3d661c8ab18ad2013992c622ab307422ace891a2
      
https://github.com/qemu/qemu/commit/3d661c8ab18ad2013992c622ab307422ace891a2
  Author: Yury Kotov <address@hidden>
  Date:   2019-08-14 (Wed, 14 Aug 2019)

  Changed paths:
    M migration/migration.c
    M migration/qemu-file-channel.c
    M migration/qemu-file.c
    M migration/qemu-file.h
    M migration/savevm.c

  Log Message:
  -----------
  migration: Add error_desc for file channel errors

Currently, there is no information about error if outgoing migration was failed
because of file channel errors.
Example (QMP session):
-> { "execute": "migrate", "arguments": { "uri": "exec:head -c 1" }}
<- { "return": {} }
...
-> { "execute": "query-migrate" }
<- { "return": { "status": "failed" }} // There is not error's description

And even in the QEMU's output there is nothing.

This patch
1) Adds errp for the most of QEMUFileOps
2) Adds qemu_file_get_error_obj/qemu_file_set_error_obj
3) And finally using of qemu_file_get_error_obj in migration.c

And now, the status for the mentioned fail will be:
-> { "execute": "query-migrate" }
<- { "return": { "status": "failed",
                 "error-desc": "Unable to write to command: Broken pipe" }}

Signed-off-by: Yury Kotov <address@hidden>
Message-Id: <address@hidden>
Reviewed-by: Dr. David Alan Gilbert <address@hidden>
Signed-off-by: Dr. David Alan Gilbert <address@hidden>


  Commit: 78dd48df397ad9d2b874f7aa28552b4f27f58a8d
      
https://github.com/qemu/qemu/commit/78dd48df397ad9d2b874f7aa28552b4f27f58a8d
  Author: Marcel Apfelbaum <address@hidden>
  Date:   2019-08-14 (Wed, 14 Aug 2019)

  Changed paths:
    M hw/net/vmxnet3.c

  Log Message:
  -----------
  hw/net: fix vmxnet3 live migration

At some point vmxnet3 live migration stopped working and git-bisect
didn't help finding a working version.
The issue is the PCI configuration space is not being migrated
successfully and MSIX remains masked at destination.

Remove the migration differentiation between PCI and PCIe since
the logic resides now inside VMSTATE_PCI_DEVICE.
Remove also the VMXNET3_COMPAT_FLAG_DISABLE_PCIE based differentiation
since at 'realize' time is decided if the device is PCI or PCIe,
then the above macro is enough.

Use the opportunity to move to the standard VMSTATE_MSIX
instead of the deprecated SaveVMHandlers.

Signed-off-by: Marcel Apfelbaum <address@hidden>
Message-Id: <address@hidden>
Tested-by: Sukrit Bhatnagar <address@hidden>
Reviewed-by: Dmitry Fleytman <address@hidden>
Signed-off-by: Dr. David Alan Gilbert <address@hidden>


  Commit: 640dfb14db919462dedc1b4fa0feaaf99a0bff42
      
https://github.com/qemu/qemu/commit/640dfb14db919462dedc1b4fa0feaaf99a0bff42
  Author: Wei Yang <address@hidden>
  Date:   2019-08-14 (Wed, 14 Aug 2019)

  Changed paths:
    M migration/migration.c

  Log Message:
  -----------
  migration: consolidate time info into populate_time_info

Consolidate time information fill up into its function for better
readability.

Signed-off-by: Wei Yang <address@hidden>
Message-Id: <address@hidden>
Reviewed-by: Dr. David Alan Gilbert <address@hidden>
Signed-off-by: Dr. David Alan Gilbert <address@hidden>


  Commit: 0abfff9ea7c56c2f6ad3cee10120915ec723cb32
      
https://github.com/qemu/qemu/commit/0abfff9ea7c56c2f6ad3cee10120915ec723cb32
  Author: Wei Yang <address@hidden>
  Date:   2019-08-14 (Wed, 14 Aug 2019)

  Changed paths:
    M migration/ram.c

  Log Message:
  -----------
  migration/postcopy: the valid condition is one less then end

If one equals end, it means we have gone through the whole bitmap.

Use a more restrict check to skip a unnecessary condition.

Signed-off-by: Wei Yang <address@hidden>
Message-Id: <address@hidden>
Reviewed-by: Dr. David Alan Gilbert <address@hidden>
Signed-off-by: Dr. David Alan Gilbert <address@hidden>


  Commit: 33a5cb6202f05bf32a870a17c2d9b6d6be6e52f0
      
https://github.com/qemu/qemu/commit/33a5cb6202f05bf32a870a17c2d9b6d6be6e52f0
  Author: Wei Yang <address@hidden>
  Date:   2019-08-14 (Wed, 14 Aug 2019)

  Changed paths:
    M migration/ram.c

  Log Message:
  -----------
  migration/postcopy: break the loop when there is no more page to discard

When one is equal or bigger then end, it means there is no page to
discard. Just break the loop in this case instead of processing it.

No functional change, just refactor it a little.

Signed-off-by: Wei Yang <address@hidden>
Message-Id: <address@hidden>
Reviewed-by: Dr. David Alan Gilbert <address@hidden>
Signed-off-by: Dr. David Alan Gilbert <address@hidden>


  Commit: a162b572e9e5a85c440656fe97d7a8b133257379
      
https://github.com/qemu/qemu/commit/a162b572e9e5a85c440656fe97d7a8b133257379
  Author: Wei Yang <address@hidden>
  Date:   2019-08-14 (Wed, 14 Aug 2019)

  Changed paths:
    M migration/ram.c

  Log Message:
  -----------
  migration/postcopy: discard_length must not be 0

Since we break the loop when there is no more page to discard, we are
sure the following process would find some page to discard.

It is not necessary to check it again.

Signed-off-by: Wei Yang <address@hidden>
Message-Id: <address@hidden>
Reviewed-by: Dr. David Alan Gilbert <address@hidden>
Signed-off-by: Dr. David Alan Gilbert <address@hidden>


  Commit: e927a0331757c358a1010c50628613d4da83038e
      
https://github.com/qemu/qemu/commit/e927a0331757c358a1010c50628613d4da83038e
  Author: Wei Yang <address@hidden>
  Date:   2019-08-14 (Wed, 14 Aug 2019)

  Changed paths:
    M migration/ram.c

  Log Message:
  -----------
  migration/postcopy: reduce one operation to calculate fixup_start_addr

Use the same way for run_end to calculate run_start, which saves one
operation.

Signed-off-by: Wei Yang <address@hidden>
Message-Id: <address@hidden>
Reviewed-by: Dr. David Alan Gilbert <address@hidden>
Signed-off-by: Dr. David Alan Gilbert <address@hidden>


  Commit: 8996604fe6b9e6646883f70e737b9440e7563c87
      
https://github.com/qemu/qemu/commit/8996604fe6b9e6646883f70e737b9440e7563c87
  Author: Wei Yang <address@hidden>
  Date:   2019-08-14 (Wed, 14 Aug 2019)

  Changed paths:
    M migration/ram.c

  Log Message:
  -----------
  migration/postcopy: do_fixup is true when host_offset is non-zero

This means it is not necessary to spare an extra variable to hold this
condition. Use host_offset directly is fine.

Signed-off-by: Wei Yang <address@hidden>
Message-Id: <address@hidden>
Reviewed-by: Dr. David Alan Gilbert <address@hidden>
Signed-off-by: Dr. David Alan Gilbert <address@hidden>


  Commit: 4e455d51efcccc058a359ab77fa7ef5e21a4957f
      
https://github.com/qemu/qemu/commit/4e455d51efcccc058a359ab77fa7ef5e21a4957f
  Author: Wei Yang <address@hidden>
  Date:   2019-08-14 (Wed, 14 Aug 2019)

  Changed paths:
    M migration/savevm.c

  Log Message:
  -----------
  migration/savevm: flush file for iterable_only case

It would be proper to flush file even for iterable_only case.

Signed-off-by: Wei Yang <address@hidden>
Message-Id: <address@hidden>
Reviewed-by: Dr. David Alan Gilbert <address@hidden>
Signed-off-by: Dr. David Alan Gilbert <address@hidden>


  Commit: 622a80c9552cc2e4866529ce41088d2f90e25454
      
https://github.com/qemu/qemu/commit/622a80c9552cc2e4866529ce41088d2f90e25454
  Author: Wei Yang <address@hidden>
  Date:   2019-08-14 (Wed, 14 Aug 2019)

  Changed paths:
    M migration/savevm.c

  Log Message:
  -----------
  migration/savevm: split qemu_savevm_state_complete_precopy() into two parts

This is a preparation patch for further cleanup.

No functional change, just wrap two major part of
qemu_savevm_state_complete_precopy() into function.

Signed-off-by: Wei Yang <address@hidden>
Message-Id: <address@hidden>
Reviewed-by: Dr. David Alan Gilbert <address@hidden>
Signed-off-by: Dr. David Alan Gilbert <address@hidden>


  Commit: e326767b455e031a9bd187adfcbaca4362cb9f40
      
https://github.com/qemu/qemu/commit/e326767b455e031a9bd187adfcbaca4362cb9f40
  Author: Wei Yang <address@hidden>
  Date:   2019-08-14 (Wed, 14 Aug 2019)

  Changed paths:
    M migration/savevm.c

  Log Message:
  -----------
  migration/savevm: move non SaveStateEntry condition check out of iteration

in_postcopy and iterable_only are not SaveStateEntry specific, it would
be more proper to check them out of iteration.

Signed-off-by: Wei Yang <address@hidden>
Message-Id: <address@hidden>
Reviewed-by: Dr. David Alan Gilbert <address@hidden>
Signed-off-by: Dr. David Alan Gilbert <address@hidden>


  Commit: 305b6f8431f0b612649bffe1fbfde760a5cd9300
      
https://github.com/qemu/qemu/commit/305b6f8431f0b612649bffe1fbfde760a5cd9300
  Author: Wei Yang <address@hidden>
  Date:   2019-08-14 (Wed, 14 Aug 2019)

  Changed paths:
    M migration/savevm.c

  Log Message:
  -----------
  migration/postcopy: PostcopyState is already set in 
loadvm_postcopy_handle_advise()

PostcopyState is already set to ADVISE at the beginning of
loadvm_postcopy_handle_advise().

Remove the redundant set.

Signed-off-by: Wei Yang <address@hidden>
Message-Id: <address@hidden>
Reviewed-by: Dr. David Alan Gilbert <address@hidden>
Signed-off-by: Dr. David Alan Gilbert <address@hidden>


  Commit: 52aec70923a19e73f7ecf5da484a9fd1b07634f5
      
https://github.com/qemu/qemu/commit/52aec70923a19e73f7ecf5da484a9fd1b07634f5
  Author: Wei Yang <address@hidden>
  Date:   2019-08-14 (Wed, 14 Aug 2019)

  Changed paths:
    M migration/migration.c

  Log Message:
  -----------
  migration/postcopy: start_postcopy could be true only when migrate_postcopy() 
return true

There is only one place to set start_postcopy to true,
qmp_migrate_start_postcopy(), which make sure start_postcopy could be
set to true when migrate_postcopy() return true.

So start_postcopy is true implies the other one.

Signed-off-by: Wei Yang <address@hidden>
Message-Id: <address@hidden>
Reviewed-by: Dr. David Alan Gilbert <address@hidden>
Signed-off-by: Dr. David Alan Gilbert <address@hidden>


  Commit: 6a88eb2b0881c1137b1647147a37de9e818142d8
      
https://github.com/qemu/qemu/commit/6a88eb2b0881c1137b1647147a37de9e818142d8
  Author: Wei Yang <address@hidden>
  Date:   2019-08-14 (Wed, 14 Aug 2019)

  Changed paths:
    M migration/rdma.c

  Log Message:
  -----------
  migration: use migration_in_postcopy() to check POSTCOPY_ACTIVE

Use common helper function to check the state.

Signed-off-by: Wei Yang <address@hidden>
Message-Id: <address@hidden>
Reviewed-by: Dr. David Alan Gilbert <address@hidden>
Signed-off-by: Dr. David Alan Gilbert <address@hidden>


  Commit: 5d0980a459774a52e3f3729cee0a2562d11026d2
      
https://github.com/qemu/qemu/commit/5d0980a459774a52e3f3729cee0a2562d11026d2
  Author: Wei Yang <address@hidden>
  Date:   2019-08-14 (Wed, 14 Aug 2019)

  Changed paths:
    M migration/ram.c

  Log Message:
  -----------
  migration: just pass RAMBlock is enough

RAMBlock->used_length is always passed to migration_bitmap_sync_range(),
which could be retrieved from RAMBlock.

Suggested-by: Paolo Bonzini <address@hidden>
Signed-off-by: Wei Yang <address@hidden>
Message-Id: <address@hidden>
Reviewed-by: Peter Xu <address@hidden>
Reviewed-by: Paolo Bonzini <address@hidden>
Signed-off-by: Dr. David Alan Gilbert <address@hidden>


  Commit: 4695ce3fdcb636384eac743cee9a1b6375ad0ccb
      
https://github.com/qemu/qemu/commit/4695ce3fdcb636384eac743cee9a1b6375ad0ccb
  Author: Wei Yang <address@hidden>
  Date:   2019-08-14 (Wed, 14 Aug 2019)

  Changed paths:
    M migration/savevm.c

  Log Message:
  -----------
  migration: equation is more proper than and to check LOADVM_QUIT

LOADVM_QUIT allows a command to quit all layers of nested loadvm loops,
while current return value check is not that proper even it works now.

Current return value check "ret & LOADVM_QUIT" would return true if
bit[0] is 1. This would be true when ret is -1 which is used to indicate
an error of handling a command.

Since there is only one place return LOADVM_QUIT and no other
combination of return value, use "ret == LOADVM_QUIT" would be more
proper.

Signed-off-by: Wei Yang <address@hidden>
Message-Id: <address@hidden>
Reviewed-by: Dr. David Alan Gilbert <address@hidden>
Signed-off-by: Dr. David Alan Gilbert <address@hidden>


  Commit: be4a1a1b6f4559c9b1f97aac31e0fb01a1fbe48e
      
https://github.com/qemu/qemu/commit/be4a1a1b6f4559c9b1f97aac31e0fb01a1fbe48e
  Author: Wei Yang <address@hidden>
  Date:   2019-08-14 (Wed, 14 Aug 2019)

  Changed paths:
    M migration/ram.c

  Log Message:
  -----------
  migration: return -EINVAL directly when version_id mismatch

It is not reasonable to continue when version_id mismatch.

Signed-off-by: Wei Yang <address@hidden>
Message-Id: <address@hidden>
Reviewed-by: Dr. David Alan Gilbert <address@hidden>
Signed-off-by: Dr. David Alan Gilbert <address@hidden>


  Commit: 10da4a368992a5950abd07673ba8311fbbe667f5
      
https://github.com/qemu/qemu/commit/10da4a368992a5950abd07673ba8311fbbe667f5
  Author: Wei Yang <address@hidden>
  Date:   2019-08-14 (Wed, 14 Aug 2019)

  Changed paths:
    M migration/ram.c

  Log Message:
  -----------
  migration: extract ram_load_precopy

After cleanup, it would be clear to audience there are two cases
ram_load:

  * precopy
  * postcopy

And it is not necessary to check postcopy_running on each iteration for
precopy.

Signed-off-by: Wei Yang <address@hidden>
Reviewed-by: Dr. David Alan Gilbert <address@hidden>

Message-Id: <address@hidden>
Signed-off-by: Dr. David Alan Gilbert <address@hidden>


  Commit: 810cf2bbd4c5c1417bda8bec49caf0ababc22860
      
https://github.com/qemu/qemu/commit/810cf2bbd4c5c1417bda8bec49caf0ababc22860
  Author: Wei Yang <address@hidden>
  Date:   2019-08-14 (Wed, 14 Aug 2019)

  Changed paths:
    M migration/postcopy-ram.c
    M migration/postcopy-ram.h
    M migration/ram.c

  Log Message:
  -----------
  migration/postcopy: make PostcopyDiscardState a static variable

In postcopy-ram.c, we provide three functions to discard certain
RAMBlock range:

  * postcopy_discard_send_init()
  * postcopy_discard_send_range()
  * postcopy_discard_send_finish()

Currently, we allocate/deallocate PostcopyDiscardState for each RAMBlock
on sending discard information to destination. This is not necessary and
the same data area could be reused for each RAMBlock.

This patch defines PostcopyDiscardState a static variable. By doing so:

  1) avoid memory allocation and deallocation to the system
  2) avoid potential failure of memory allocation
  3) hide some details for their users

Signed-off-by: Wei Yang <address@hidden>

Message-Id: <address@hidden>
Reviewed-by: Dr. David Alan Gilbert <address@hidden>
Signed-off-by: Dr. David Alan Gilbert <address@hidden>


  Commit: dad45ab2be9d5ce033ddba328204b06f2d10f0ed
      
https://github.com/qemu/qemu/commit/dad45ab2be9d5ce033ddba328204b06f2d10f0ed
  Author: Wei Yang <address@hidden>
  Date:   2019-08-14 (Wed, 14 Aug 2019)

  Changed paths:
    M migration/ram.c

  Log Message:
  -----------
  migration/postcopy: simplify calculation of run_start and fixup_start_addr

The purpose of the calculation is to find a HostPage which is partially
dirty.

  * fixup_start_addr points to the start of the HostPage to discard
  * run_start points to the next HostPage to check

While in the middle stage, there would two cases for run_start:

  * aligned with HostPage means this is not partially dirty
  * not aligned means this is partially dirty

When it is aligned, no work and calculation is necessary. run_start
already points to the start of next HostPage and is ready to continue.

When it is not aligned, the calculation could be simplified with:

  * fixup_start_addr = QEMU_ALIGN_DOWN(run_start, host_ratio)
  * run_start = QEMU_ALIGN_UP(run_start, host_ratio)

By doing so, run_start always points to the next HostPage to check.
fixup_start_addr always points to the HostPage to discard.

Signed-off-by: Wei Yang <address@hidden>
Message-Id: <address@hidden>
Reviewed-by: Dr. David Alan Gilbert <address@hidden>
Signed-off-by: Dr. David Alan Gilbert <address@hidden>


  Commit: 9dec3cc3f4545b8035ac7bf0854b81669b18c516
      
https://github.com/qemu/qemu/commit/9dec3cc3f4545b8035ac7bf0854b81669b18c516
  Author: Wei Yang <address@hidden>
  Date:   2019-08-14 (Wed, 14 Aug 2019)

  Changed paths:
    M migration/ram.c

  Log Message:
  -----------
  migration/postcopy: use QEMU_IS_ALIGNED to replace host_offset

Use QEMU_IS_ALIGNED for the check, it would be more consistent with
other align calculations.

Signed-off-by: Wei Yang <address@hidden>
Message-Id: <address@hidden>
Reviewed-by: Dr. David Alan Gilbert <address@hidden>
Signed-off-by: Dr. David Alan Gilbert <address@hidden>


  Commit: 32e70aad7e984f7a609850985895e97fc03579ab
      
https://github.com/qemu/qemu/commit/32e70aad7e984f7a609850985895e97fc03579ab
  Author: Wei Yang <address@hidden>
  Date:   2019-08-14 (Wed, 14 Aug 2019)

  Changed paths:
    M monitor/hmp-cmds.c

  Log Message:
  -----------
  hmp: Remove migration capabilities from "info migrate"

With the growth of migration capabilities, it is not proper to display
them in "info migrate". Users are recommended to use "info
migrate_capabiltiies" to list them.

Signed-off-by: Wei Yang <address@hidden>
Suggested-by: Dr. David Alan Gilbert <address@hidden>

Message-Id: <address@hidden>
Reviewed-by: Dr. David Alan Gilbert <address@hidden>
Signed-off-by: Dr. David Alan Gilbert <address@hidden>


  Commit: 14adf288d3a1617bf9ccf2da346b2b002a07d8f2
      
https://github.com/qemu/qemu/commit/14adf288d3a1617bf9ccf2da346b2b002a07d8f2
  Author: Wei Yang <address@hidden>
  Date:   2019-08-14 (Wed, 14 Aug 2019)

  Changed paths:
    M migration/migration.c
    M migration/migration.h

  Log Message:
  -----------
  migration: remove unused field bytes_xfer

MigrationState->bytes_xfer is only set to 0 in migrate_init().

Remove this unnecessary field.

Signed-off-by: Wei Yang <address@hidden>
Message-Id: <address@hidden>
Reviewed-by: Dr. David Alan Gilbert <address@hidden>
Signed-off-by: Dr. David Alan Gilbert <address@hidden>


  Commit: 87f3bd8717cd88932de302e215f1da51bfb8051a
      
https://github.com/qemu/qemu/commit/87f3bd8717cd88932de302e215f1da51bfb8051a
  Author: Ivan Ren <address@hidden>
  Date:   2019-08-14 (Wed, 14 Aug 2019)

  Changed paths:
    M migration/migration.c
    M migration/savevm.c

  Log Message:
  -----------
  migration: always initialise ram_counters for a new migration

This patch fix a multifd migration bug in migration speed calculation, this
problem can be reproduced as follows:
1. start a vm and give a heavy memory write stress to prevent the vm be
   successfully migrated to destination
2. begin a migration with multifd
3. migrate for a long time [actually, this can be measured by transferred bytes]
4. migrate cancel
5. begin a new migration with multifd, the migration will directly run into
   migration_completion phase

Reason as follows:

Migration update bandwidth and s->threshold_size in function
migration_update_counters after BUFFER_DELAY time:

    current_bytes = migration_total_bytes(s);
    transferred = current_bytes - s->iteration_initial_bytes;
    time_spent = current_time - s->iteration_start_time;
    bandwidth = (double)transferred / time_spent;
    s->threshold_size = bandwidth * s->parameters.downtime_limit;

In multifd migration, migration_total_bytes function return
qemu_ftell(s->to_dst_file) + ram_counters.multifd_bytes.
s->iteration_initial_bytes will be initialized to 0 at every new migration,
but ram_counters is a global variable, and history migration data will be
accumulated. So if the ram_counters.multifd_bytes is big enough, it may lead
pending_size >= s->threshold_size become false in migration_iteration_run
after the first migration_update_counters.

Signed-off-by: Ivan Ren <address@hidden>
Reviewed-by: Juan Quintela <address@hidden>
Reviewed-by: Wei Yang <address@hidden>
Suggested-by: Wei Yang <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Dr. David Alan Gilbert <address@hidden>


  Commit: 5d7d2558631b4421826c60046c606584c58ab76c
      
https://github.com/qemu/qemu/commit/5d7d2558631b4421826c60046c606584c58ab76c
  Author: Ivan Ren <address@hidden>
  Date:   2019-08-14 (Wed, 14 Aug 2019)

  Changed paths:
    M migration/qemu-file.c
    M migration/qemu-file.h

  Log Message:
  -----------
  migration: add qemu_file_update_transfer interface

Add qemu_file_update_transfer for just update bytes_xfer for speed
limitation. This will be used for further migration feature such as
multifd migration.

Signed-off-by: Ivan Ren <address@hidden>
Reviewed-by: Wei Yang <address@hidden>
Reviewed-by: Juan Quintela <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Dr. David Alan Gilbert <address@hidden>


  Commit: 1b81c974ccfd536aceef840e220912b142a7dda0
      
https://github.com/qemu/qemu/commit/1b81c974ccfd536aceef840e220912b142a7dda0
  Author: Ivan Ren <address@hidden>
  Date:   2019-08-14 (Wed, 14 Aug 2019)

  Changed paths:
    M migration/ram.c

  Log Message:
  -----------
  migration: add speed limit for multifd migration

Limit the speed of multifd migration through common speed limitation
qemu file.

Signed-off-by: Ivan Ren <address@hidden>
Message-Id: <address@hidden>
Reviewed-by: Wei Yang <address@hidden>
Reviewed-by: Juan Quintela <address@hidden>
Signed-off-by: Dr. David Alan Gilbert <address@hidden>


  Commit: 81507f6b7e87468f24ed5886559feda15fe2db0c
      
https://github.com/qemu/qemu/commit/81507f6b7e87468f24ed5886559feda15fe2db0c
  Author: Ivan Ren <address@hidden>
  Date:   2019-08-14 (Wed, 14 Aug 2019)

  Changed paths:
    M migration/ram.c

  Log Message:
  -----------
  migration: update ram_counters for multifd sync packet

Multifd sync will send MULTIFD_FLAG_SYNC flag info to destination, add
these bytes to ram_counters record.

Signed-off-by: Ivan Ren <address@hidden>
Suggested-by: Wei Yang <address@hidden>
Message-Id: <address@hidden>
Reviewed-by: Juan Quintela <address@hidden>
Signed-off-by: Dr. David Alan Gilbert <address@hidden>


  Commit: 7a3e957177c18917cf713d7e366fa6aca351da1f
      
https://github.com/qemu/qemu/commit/7a3e957177c18917cf713d7e366fa6aca351da1f
  Author: Wei Yang <address@hidden>
  Date:   2019-08-14 (Wed, 14 Aug 2019)

  Changed paths:
    M migration/ram.c

  Log Message:
  -----------
  migration: rename migration_bitmap_sync_range to ramblock_sync_dirty_bitmap

Rename for better understanding of the code.

Suggested-by: Paolo Bonzini <address@hidden>
Signed-off-by: Wei Yang <address@hidden>
Message-Id: <address@hidden>
Reviewed-by: Dr. David Alan Gilbert <address@hidden>
Signed-off-by: Dr. David Alan Gilbert <address@hidden>


  Commit: 1ce542620ada7e905a253c99b9acac279f245bae
      
https://github.com/qemu/qemu/commit/1ce542620ada7e905a253c99b9acac279f245bae
  Author: Wei Yang <address@hidden>
  Date:   2019-08-14 (Wed, 14 Aug 2019)

  Changed paths:
    M migration/savevm.c

  Log Message:
  -----------
  migration/postcopy: use mis->bh instead of allocating a QEMUBH

For migration incoming side, it either quit in precopy or postcopy. It
is safe to use the mis->bh for both instead of allocating a dedicated
QEMUBH for postcopy.

Signed-off-by: Wei Yang <address@hidden>
Reviewed-by: Dr. David Alan Gilbert <address@hidden>

Message-Id: <address@hidden>
Signed-off-by: Dr. David Alan Gilbert <address@hidden>


  Commit: 3170a6453bc8bf03adcaebbf52f9fe8328d0687b
      
https://github.com/qemu/qemu/commit/3170a6453bc8bf03adcaebbf52f9fe8328d0687b
  Author: Marc-André Lureau <address@hidden>
  Date:   2019-08-14 (Wed, 14 Aug 2019)

  Changed paths:
    M include/migration/qemu-file-types.h
    M migration/qemu-file.h

  Log Message:
  -----------
  qemu-file: move qemu_{get,put}_counted_string() declarations

Move migration helpers for strings under include/, so they can be used
outside of migration/

Signed-off-by: Marc-André Lureau <address@hidden>
Reviewed-by: Juan Quintela <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Dr. David Alan Gilbert <address@hidden>


  Commit: 5558c91ae8093d7808f9a6cf3b311fc80a885f5e
      
https://github.com/qemu/qemu/commit/5558c91ae8093d7808f9a6cf3b311fc80a885f5e
  Author: Juan Quintela <address@hidden>
  Date:   2019-08-14 (Wed, 14 Aug 2019)

  Changed paths:
    M migration/ram.c
    M migration/trace-events

  Log Message:
  -----------
  migration: Add traces for multifd terminate threads

Signed-off-by: Juan Quintela <address@hidden>
Message-Id: <address@hidden>
Reviewed-by: Dr. David Alan Gilbert <address@hidden>
Signed-off-by: Dr. David Alan Gilbert <address@hidden>


  Commit: 18cdcea3713591e08a5736105930f48ba643fc7e
      
https://github.com/qemu/qemu/commit/18cdcea3713591e08a5736105930f48ba643fc7e
  Author: Juan Quintela <address@hidden>
  Date:   2019-08-14 (Wed, 14 Aug 2019)

  Changed paths:
    M migration/ram.c

  Log Message:
  -----------
  migration: Make global sem_sync semaphore by channel

This makes easy to debug things because when you want for all threads
to arrive at that semaphore, you know which one your are waiting for.

Signed-off-by: Juan Quintela <address@hidden>
Message-Id: <address@hidden>
Reviewed-by: Dr. David Alan Gilbert <address@hidden>
Signed-off-by: Dr. David Alan Gilbert <address@hidden>


  Commit: 7dd59d01ddcc4a4ba0c44c2cc9e3b35c79aa7a29
      
https://github.com/qemu/qemu/commit/7dd59d01ddcc4a4ba0c44c2cc9e3b35c79aa7a29
  Author: Juan Quintela <address@hidden>
  Date:   2019-08-14 (Wed, 14 Aug 2019)

  Changed paths:
    M migration/ram.c
    M migration/trace-events

  Log Message:
  -----------
  migration: add some multifd traces

Signed-off-by: Juan Quintela <address@hidden>
Message-Id: <address@hidden>
Reviewed-by: Dr. David Alan Gilbert <address@hidden>
Signed-off-by: Dr. David Alan Gilbert <address@hidden>


  Commit: 27608c7c66bd923eb5e5faab80e795408cbe2b51
      
https://github.com/qemu/qemu/commit/27608c7c66bd923eb5e5faab80e795408cbe2b51
  Author: Peter Maydell <address@hidden>
  Date:   2019-08-16 (Fri, 16 Aug 2019)

  Changed paths:
    M hw/net/vmxnet3.c
    M include/migration/qemu-file-types.h
    M migration/migration.c
    M migration/migration.h
    M migration/postcopy-ram.c
    M migration/postcopy-ram.h
    M migration/qemu-file-channel.c
    M migration/qemu-file.c
    M migration/qemu-file.h
    M migration/ram.c
    M migration/rdma.c
    M migration/savevm.c
    M migration/trace-events
    M monitor/hmp-cmds.c

  Log Message:
  -----------
  Merge remote-tracking branch 'remotes/dgilbert/tags/pull-migration-20190814a' 
into staging

Migration pull 2019-08-15

Marcel's vmxnet3 live migraiton fix (that breaks vmxnet3 compatibility
but makes it work)

Error description improvements from Yury.

Multifd fixes from Ivan and Juan.

A load of small cleanups from Wei.

A small cleanup from Marc-André for a future patch.

# gpg: Signature made Wed 14 Aug 2019 19:00:39 BST
# gpg:                using RSA key 45F5C71B4A0CB7FB977A9FA90516331EBC5BFDE7
# gpg: Good signature from "Dr. David Alan Gilbert (RH2) <address@hidden>" 
[full]
# Primary key fingerprint: 45F5 C71B 4A0C B7FB 977A  9FA9 0516 331E BC5B FDE7

* remotes/dgilbert/tags/pull-migration-20190814a: (33 commits)
  migration: add some multifd traces
  migration: Make global sem_sync semaphore by channel
  migration: Add traces for multifd terminate threads
  qemu-file: move qemu_{get,put}_counted_string() declarations
  migration/postcopy: use mis->bh instead of allocating a QEMUBH
  migration: rename migration_bitmap_sync_range to ramblock_sync_dirty_bitmap
  migration: update ram_counters for multifd sync packet
  migration: add speed limit for multifd migration
  migration: add qemu_file_update_transfer interface
  migration: always initialise ram_counters for a new migration
  migration: remove unused field bytes_xfer
  hmp: Remove migration capabilities from "info migrate"
  migration/postcopy: use QEMU_IS_ALIGNED to replace host_offset
  migration/postcopy: simplify calculation of run_start and fixup_start_addr
  migration/postcopy: make PostcopyDiscardState a static variable
  migration: extract ram_load_precopy
  migration: return -EINVAL directly when version_id mismatch
  migration: equation is more proper than and to check LOADVM_QUIT
  migration: just pass RAMBlock is enough
  migration: use migration_in_postcopy() to check POSTCOPY_ACTIVE
  ...

Signed-off-by: Peter Maydell <address@hidden>


Compare: https://github.com/qemu/qemu/compare/f8f2eac4e5de...27608c7c66bd



reply via email to

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