qemu-e2k/include
David Hildenbrand 1a37352277 migrate/ram: remove "ram_bulk_stage" and "fpo_enabled"
The bulk stage is kind of weird: migration_bitmap_find_dirty() will
indicate a dirty page, however, ram_save_host_page() will never save it, as
migration_bitmap_clear_dirty() detects that it is not dirty.

We already fill the bitmap in ram_list_init_bitmaps() with ones, marking
everything dirty - it didn't used to be that way, which is why we needed
an explicit first bulk stage.

Let's simplify: make the bitmap the single source of thuth. Explicitly
handle the "xbzrle_enabled after first round" case.

Regarding XBZRLE (implicitly handled via "ram_bulk_stage = false" right
now), there is now a slight change in behavior:
- Colo: When starting, it will be disabled (was implicitly enabled)
  until the first round actually finishes.
- Free page hinting: When starting, XBZRLE will be disabled (was implicitly
  enabled) until the first round actually finished.
- Snapshots: When starting, XBZRLE will be disabled. We essentially only
  do a single run, so I guess it will never actually get disabled.

Postcopy seems to indirectly disable it in ram_save_page(), so there
shouldn't be really any change.

Cc: "Michael S. Tsirkin" <mst@redhat.com>
Cc: Juan Quintela <quintela@redhat.com>
Cc: "Dr. David Alan Gilbert" <dgilbert@redhat.com>
Cc: Andrey Gruzdev <andrey.gruzdev@virtuozzo.com>
Cc: Peter Xu <peterx@redhat.com>
Signed-off-by: David Hildenbrand <david@redhat.com>
Message-Id: <20210216105039.40680-1-david@redhat.com>
Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
2021-05-13 18:21:13 +01:00
..
authz
block block: Add BDRV_O_NO_SHARE for blk_new_open() 2021-04-30 12:27:48 +02:00
chardev chardev: Fix yank with the chardev-change case 2021-04-01 15:27:44 +04:00
crypto crypto: add reload for QCryptoTLSCredsClass 2021-03-23 08:48:21 +01:00
disas include/disas/dis-asm.h: Handle being included outside 'extern "C"' 2021-05-10 17:21:54 +01:00
exec exec: Remove accel/tcg/ from include paths 2021-05-01 11:44:13 -07:00
fpu
hw A large collection of RISC-V fixes, improvements and features 2021-05-12 17:31:52 +01:00
io
libdecnumber
migration migrate/ram: remove "ram_bulk_stage" and "fpo_enabled" 2021-05-13 18:21:13 +01:00
monitor
net net: check the existence of peer before trying to pad 2021-04-23 11:11:28 +01:00
qapi Revert "hmp: Use QAPI NetdevInfo in hmp_info_network" 2021-04-08 17:33:59 +08:00
qemu main-loop: remove dead code 2021-05-11 04:11:14 -04:00
qom qom: move user_creatable_add_opts logic to vl.c and QAPIfy it 2021-03-19 10:18:17 +01:00
scsi
semihosting
standard-headers
sysemu osdep: Make os-win32.h and os-posix.h handle 'extern "C"' themselves 2021-05-10 17:21:54 +01:00
tcg
ui include/ui/console.h: Delete is_surface_bgr() 2021-03-23 08:48:21 +01:00
user
elf.h
glib-compat.h glib-compat: accept G_TEST_SLOW environment variable 2021-05-04 14:15:35 +02:00
qemu-common.h
qemu-io.h
trace-tcg.h