[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v2] migration: skip sending ram pages released b
From: |
Paolo Bonzini |
Subject: |
Re: [Qemu-devel] [PATCH v2] migration: skip sending ram pages released by virtio-balloon driver. |
Date: |
Tue, 29 Mar 2016 12:05:57 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.6.0 |
On 28/03/2016 08:59, Michael S. Tsirkin wrote:
>> > + qemu_mutex_lock_balloon_bitmap();
>> > for (;;) {
>> > size_t offset = 0;
>> > uint32_t pfn;
>> > elem = virtqueue_pop(vq, sizeof(VirtQueueElement));
>> > if (!elem) {
>> > + qemu_mutex_unlock_balloon_bitmap();
>> > return;
>> > }
>> >
>> > @@ -242,6 +245,7 @@ static void virtio_balloon_handle_output(VirtIODevice
>> > *vdev, VirtQueue *vq)
>> > addr = section.offset_within_region;
>> > balloon_page(memory_region_get_ram_ptr(section.mr) + addr,
>> > !!(vq == s->dvq));
>> > + qemu_balloon_bitmap_update(addr, !!(vq == s->dvq));
>> > memory_region_unref(section.mr);
>> > }
>> >
> So the assumption here is that offset_within_region equals
> ram ptr if region is get_system_memory.
>
> And I'm not sure that's always right.
>
> Paolo?
Indeed. It is correct for the main system RAM, but hot-plugged RAM
would also have a zero-based section.offset_within_region. You need to
add memory_region_get_ram_addr(section.mr), just like the call to
balloon_page adds memory_region_get_ram_ptr(section.mr).
Paolo
- [Qemu-devel] [PATCH v2] migration: skip sending ram pages released by virtio-balloon driver., Jitendra Kolhe, 2016/03/28
- Re: [Qemu-devel] [PATCH v2] migration: skip sending ram pages released by virtio-balloon driver., Denis V. Lunev, 2016/03/28
- Re: [Qemu-devel] [PATCH v2] migration: skip sending ram pages released by virtio-balloon driver., Eric Blake, 2016/03/28
- Re: [Qemu-devel] [PATCH v2] migration: skip sending ram pages released by virtio-balloon driver., Michael S. Tsirkin, 2016/03/29
- Re: [Qemu-devel] [PATCH v2] migration: skip sending ram pages released by virtio-balloon driver., Dr. David Alan Gilbert, 2016/03/31