Searched hist:"5 b82b703b69acc67b78b98a5efc897a3912719eb" (Results 1 – 1 of 1) sorted by relevance
/qemu/migration/ |
H A D | ram.c | 4987783400667147ada01a5bdcce53f11b822888 Mon Feb 15 18:57:57 UTC 2016 Paolo Bonzini <pbonzini@redhat.com> migration: fix incorrect memory_global_dirty_log_start outside BQL
This can cause various segmentation faults or aborts in qemu-iotests test 091.
Fixes: 5b82b703b69acc67b78b98a5efc897a3912719eb Cc: Dave Gilbert <dgilbert@redhat.com> Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> 5b82b703b69acc67b78b98a5efc897a3912719eb Mon Jan 25 13:33:20 UTC 2016 Stefan Hajnoczi <stefanha@redhat.com> memory: RCU ram_list.dirty_memory[] for safe RAM hotplug
Although accesses to ram_list.dirty_memory[] use atomics so multiple threads can safely dirty the bitmap, the data structure is not fully thread-safe yet.
This patch handles the RAM hotplug case where ram_list.dirty_memory[] is grown. ram_list.dirty_memory[] is change from a regular bitmap to an RCU array of pointers to fixed-size bitmap blocks. Threads can continue accessing bitmap blocks while the array is being extended. See the comments in the code for an in-depth explanation of struct DirtyMemoryBlocks.
I have tested that live migration with virtio-blk dataplane works.
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com> Message-Id: <1453728801-5398-2-git-send-email-stefanha@redhat.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
|