]> git.proxmox.com Git - mirror_qemu.git/commitdiff
Merge tag 'next-8.0-pull-request' of https://gitlab.com/juan.quintela/qemu into staging
authorPeter Maydell <peter.maydell@linaro.org>
Thu, 15 Dec 2022 14:52:12 +0000 (14:52 +0000)
committerPeter Maydell <peter.maydell@linaro.org>
Thu, 15 Dec 2022 14:52:13 +0000 (14:52 +0000)
Migration patches for 8.0

Hi

This are the patches that I had to drop form the last PULL request because they werent fixes:
- AVX2 is dropped, intel posted a fix, I have to redo it
- Fix for out of order channels is out
  Daniel nacked it and I need to redo it

# gpg: Signature made Thu 15 Dec 2022 09:38:29 GMT
# gpg:                using RSA key 1899FF8EDEBF58CCEE034B82F487EF185872D723
# gpg: Good signature from "Juan Quintela <quintela@redhat.com>" [full]
# gpg:                 aka "Juan Quintela <quintela@trasno.org>" [full]
# Primary key fingerprint: 1899 FF8E DEBF 58CC EE03  4B82 F487 EF18 5872 D723

* tag 'next-8.0-pull-request' of https://gitlab.com/juan.quintela/qemu:
  migration: Drop rs->f
  migration: Remove old preempt code around state maintainance
  migration: Send requested page directly in rp-return thread
  migration: Move last_sent_block into PageSearchStatus
  migration: Make PageSearchStatus part of RAMState
  migration: Add pss_init()
  migration: Introduce pss_channel
  migration: Teach PSS about host page
  migration: Use atomic ops properly for page accountings
  migration: Yield bitmap_mutex properly when sending/sleeping
  migration: Remove RAMState.f references in compression code
  migration: Trivial cleanup save_page_header() on same block check
  migration: Cleanup xbzrle zero page cache update logic
  migration: Add postcopy_preempt_active()
  migration: Take bitmap mutex when completing ram migration
  migration: Export ram_release_page()
  migration: Export ram_transferred_ram()
  multifd: Create page_count fields into both MultiFD{Recv,Send}Params
  multifd: Create page_size fields into both MultiFD{Recv,Send}Params

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
1  2 
migration/migration.c

index 78a0b010d4736e7cf2c3cead5b33c93d98c18855,c3490c495d9c6fe111d47d9830e389b1ff57a31a..52b5d39244313ef98dd9534bea1a912becee53e9
@@@ -1044,14 -1047,15 +1044,14 @@@ static void populate_ram_info(Migration
  {
      size_t page_size = qemu_target_page_size();
  
 -    info->has_ram = true;
      info->ram = g_malloc0(sizeof(*info->ram));
-     info->ram->transferred = ram_counters.transferred;
+     info->ram->transferred = stat64_get(&ram_atomic_counters.transferred);
      info->ram->total = ram_bytes_total();
-     info->ram->duplicate = ram_counters.duplicate;
+     info->ram->duplicate = stat64_get(&ram_atomic_counters.duplicate);
      /* legacy value.  It is not used anymore */
      info->ram->skipped = 0;
-     info->ram->normal = ram_counters.normal;
-     info->ram->normal_bytes = ram_counters.normal * page_size;
+     info->ram->normal = stat64_get(&ram_atomic_counters.normal);
+     info->ram->normal_bytes = info->ram->normal * page_size;
      info->ram->mbps = s->mbps;
      info->ram->dirty_sync_count = ram_counters.dirty_sync_count;
      info->ram->dirty_sync_missed_zero_copy =
      info->ram->pages_per_second = s->pages_per_second;
      info->ram->precopy_bytes = ram_counters.precopy_bytes;
      info->ram->downtime_bytes = ram_counters.downtime_bytes;
-     info->ram->postcopy_bytes = ram_counters.postcopy_bytes;
+     info->ram->postcopy_bytes = stat64_get(&ram_atomic_counters.postcopy_bytes);
  
      if (migrate_use_xbzrle()) {
 -        info->has_xbzrle_cache = true;
          info->xbzrle_cache = g_malloc0(sizeof(*info->xbzrle_cache));
          info->xbzrle_cache->cache_size = migrate_xbzrle_cache_size();
          info->xbzrle_cache->bytes = xbzrle_counters.bytes;