[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH v9 0/3] Add bitmap for received pages in postcopy mi
From: |
Alexey Perevalov |
Subject: |
[Qemu-devel] [PATCH v9 0/3] Add bitmap for received pages in postcopy migration |
Date: |
Tue, 01 Aug 2017 14:40:21 +0300 |
This is 9th version of
[PATCH v1 0/2] Add bitmap for copied pages in postcopy migration
cover message from there
This is a separate patch set, it derived from
https://www.mail-archive.com/address@hidden/msg456004.html
There are several possible use cases:
1. solve issue with postcopy live migration and shared memory.
OVS-VSWITCH requires information about copied pages, to fallocate
newly allocated pages.
2. calculation vCPU blocktime
for more details see
https://www.mail-archive.com/address@hidden/msg456004.html
3. Recovery after fail in the middle of postcopy migration
----------------------------------------------------------------
V8 -> V9
- patch: "migration: fix incorrect postcopy recved_bitmap" from
"[RFC 00/29] Migration: postcopy failure recovery" patch set was squashed
into the latest patch of this patchset, getpagesize was replaced to
qemu_target_page_size, as David suggested.
- for the sake of API uniformity semantics of all functions were
changed, now RAMBlock *rb is the first argument, as well as in bitmap API.
- Also define TARGET_PAGE_BITS was replaced to qemu_target_page_bits in
all other places of this patchset, for uniformity and maintenance.
V7 -> V8
- removed unnecessary renaming and moving of block variable to ram_load's
function scope
- ramblock_recv_map_init became static function
V6 -> V7
- rebased on
[PATCH v7 0/5] Create setup/cleanup methods for migration incoming side
- live time of the received map was changed
(ram_load_setup/ram_load_cleanup)
V5 -> V6
- call ramblock_recv_map_init from migration_fd_process_incoming (Peter
suggested)But finalization is still in ram_load_cleanup as Juan suggested.
V4 -> V5
- remove ramblock_recv_bitmap_clear_range in favor to bitmap_clear (comment
from David)
- single invocation place for ramblock_recv_bitmap_set (comment from Peter)
- minor changes like removing comment from qemu_ufd_copy_ioctl and local
variable from
ramblock_recv_map_init (comment from Peter)
V3 -> V4
- clear_bit instead of ramblock_recv_bitmap_clear in
ramblock_recv_bitmap_clear_range,
it reduced number of operation (comment from Juan)
- for postcopy ramblock_recv_bitmap_set is calling after page was copied,
only in case of success (comment from David)
- indentation fixes (comment from Juan)
V2 -> V3
- ramblock_recv_map_init call is placed into migration_incoming_get_current,
looks like it's general place for both precopy and postcopy case.
- received bitmap memory releasing is placed into ram_load_cleanup,
unfortunatelly, it calls only in case of precopy.
- precopy case and discard ram block case
- function renaming, and another minor cleanups
V1 -> V2
- change in terminology s/copied/received/g
- granularity became TARGET_PAGE_SIZE, but not actual page size of the
ramblock
- movecopiedmap & get_copiedmap_size were removed, until patch set where
it will be necessary
- releasing memory of receivedmap was added into ram_load_cleanup
- new patch "migration: introduce qemu_ufd_copy_ioctl helper"
Patchset is based on:
commit 6d60e295ef020759a03b90724d0342012c189ba2
"Merge remote-tracking branch 'remotes/jnsnow/tags/ide-pull-request' into
staging"
Alexey Perevalov (3):
migration: postcopy_place_page factoring out
migration: introduce qemu_ufd_copy_ioctl helper
migration: add bitmap for received page
include/exec/ram_addr.h | 10 +++++++++
migration/postcopy-ram.c | 54 +++++++++++++++++++++++++++++++-----------------
migration/postcopy-ram.h | 4 ++--
migration/ram.c | 49 +++++++++++++++++++++++++++++++++++++++++--
migration/ram.h | 6 ++++++
5 files changed, 100 insertions(+), 23 deletions(-)
--
1.9.1
- [Qemu-devel] [PATCH v9 0/3] Add bitmap for received pages in postcopy migration,
Alexey Perevalov <=
- Message not available
- Message not available
- Message not available