On 09/07/2015 03:19, Wen Congyang wrote:
> Yes, why migration doesn't trigger this problem? We will fix it soon.
This should be the fix if someone wants to test it and/or post it:
diff --git a/migration/ram.c b/migration/ram.c
index 57368e1..8d5a73a 100644
--- a/migration/ram.c
+++ b/migration/ram.c
@@ -1227,9 +1227,9 @@ static int ram_save_complete(QEMUFile *f, void
*opaque)
flush_compressed_data(f);
ram_control_after_iterate(f, RAM_CONTROL_FINISH);
- migration_end();
-
rcu_read_unlock();
+
+ migration_end();
qemu_put_be64(f, RAM_SAVE_FLAG_EOS);
return 0;
You don't see it with migration because the migration thread (and for
that matter, _no_ thread except the I/O thread!) is not registered with
the RCU subsystem. I'm working on it, but I plan to only fix it in
later release candidates.
Paolo