On 07/14/2011 03:30 PM, Anthony Liguori wrote:
Does this mean that the following code is sometimes executed without
qemu_mutex? I don't think any of it is thread safe.


That was my reaction too.

I think the most rational thing to do is have a separate thread and a pair of producer/consumer queues.

The I/O thread can push virtual addresses and sizes to the queue for the migration thread to compress/write() to the fd. The migration thread can then push sent regions onto a separate queue for the I/O thread to mark as dirty.

Even virtual addresses are not safe enough, because of hotunplug. Without some kind of locking, you have to copy the data.

--
error compiling committee.c: too many arguments to function


Reply via email to