[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [RFC 00/27] Migration thread (WIP)
From: |
Jan Kiszka |
Subject: |
Re: [Qemu-devel] [RFC 00/27] Migration thread (WIP) |
Date: |
Thu, 26 Jul 2012 12:57:07 +0200 |
User-agent: |
Mozilla/5.0 (X11; U; Linux i686 (x86_64); de; rv:1.8.1.12) Gecko/20080226 SUSE/2.0.0.12-1.1 Thunderbird/2.0.0.12 Mnenhy/0.7.5.666 |
On 2012-07-24 20:36, Juan Quintela wrote:
> Hi
>
> This series are on top of the migration-next-v5 series just posted.
>
> First of all, this is an RFC/Work in progress. Just a lot of people
> asked for it, and I would like review of the design.
>
> It does:
> - get a new bitmap for migration, and that bitmap uses 1 bit by page
> - it unfolds migration_buffered_file. Only one user existed.
> - it simplifies buffered_file a lot.
>
> - About the migration thread, special attention was giving to try to
> get the series review-able (reviewers would tell if I got it).
>
> Basic design:
> - we create a new thread instead of a timer function
> - we move all the migration work to that thread (but run everything
> except the waits with the iothread lock.
> - we move all the writting to outside the iothread lock. i.e.
> we walk the state with the iothread hold, and copy everything to one buffer.
> then we write that buffer to the sockets outside the iothread lock.
> - once here, we move to writting synchronously to the sockets.
> - this allows us to simplify quite a lot.
>
> And basically, that is it. Notice that we still do the iterate page
> walking with the iothread held. Light testing show that we got
> similar speed and latencies than without the thread (notice that
> almost no optimizations done here yet).
>
> Appart of the review:
> - Are there any locking issues that I have missed (I guess so)
> - stop all cpus correctly. vm_stop should be called from the iothread,
> I use the trick of using a bottom half to get that working correctly.
> but this _implementation_ is ugly as hell. Is there an easy way
> of doing it?
vm_stop is prepared to be called from vcpu context as well. I'm not sure
right now if we actually do, but the code is there.
Jan
--
Siemens AG, Corporate Technology, CT RTC ITP SDP-DE
Corporate Competence Center Embedded Linux
- [Qemu-devel] [PATCH 19/27] buffered_file: Move from using a timer to use a thread, (continued)
- [Qemu-devel] [PATCH 19/27] buffered_file: Move from using a timer to use a thread, Juan Quintela, 2012/07/24
- [Qemu-devel] [PATCH 24/27] migration: take finer locking, Juan Quintela, 2012/07/24
- [Qemu-devel] [PATCH 23/27] migration: remove unfreeze logic, Juan Quintela, 2012/07/24
- [Qemu-devel] [PATCH 14/27] buffered_file: unfold migrate_fd_put_buffer, Juan Quintela, 2012/07/24
- [Qemu-devel] [PATCH 18/27] buffered_file: We can access directly to bandwidth_limit, Juan Quintela, 2012/07/24
- [Qemu-devel] [PATCH 25/27] buffered_file: Unfold the trick to restart generating migration data, Juan Quintela, 2012/07/24
- [Qemu-devel] [PATCH 15/27] buffered_file: unfold migrate_fd_put_ready, Juan Quintela, 2012/07/24
- [Qemu-devel] [PATCH 27/27] buffered_file: unfold buffered_append in buffered_put_buffer, Juan Quintela, 2012/07/24
- [Qemu-devel] [PATCH 26/27] buffered_file: don't flush on put buffer, Juan Quintela, 2012/07/24
- Re: [Qemu-devel] [RFC 00/27] Migration thread (WIP), Orit Wasserman, 2012/07/25
- Re: [Qemu-devel] [RFC 00/27] Migration thread (WIP),
Jan Kiszka <=
- Message not available
Re: [Qemu-devel] [RFC 00/27] Migration thread (WIP), Michael Roth, 2012/07/26