On Wed, Aug 23, 2017 at 02:51:03PM +0800, Peter Xu wrote: > The root problem is that, monitor commands are all handled in main > loop thread now, no matter how many monitors we specify. And, if main > loop thread hangs due to some reason, all monitors will be stuck.
I see a larger issue with postcopy: existing QEMU code assumes that guest memory access is instantaneous. Postcopy breaks this assumption and introduces blocking points that can now take unbounded time. This problem isn't specific to the monitor. It can also happen to other components in QEMU like the gdbstub. Do we need an asynchronous memory API? Synchronous memory access should only be allowed in vcpu threads. Stefan