On Mon, Nov 22, 2010 at 10:57:34AM +0100, Gerd Hoffmann wrote: > On 11/21/10 20:16, Michael S. Tsirkin wrote: > >Stop running devices on vmstop, so that VM does not interact with > >outside world at that time. > > > >Whitelist system handlers which run even when VM is stopped. > >These are specific handlers like monitor, gdbstub, migration. > >I'm not really sure about ui: spice and vnc: do they need to run? > > Yes, vnc and spice should run. They serve the clients. They also > don't change device state. > > cheers, > Gerd > > PS: Well, in the spice case this isn't 100% true, the handlers can > change qxl device state in some cases. But spice has a start/stop > handler which takes care to flush all outstanding work which could > change device state on vmstop, so it is save to keep the handlers > active when the vm is in stopped state.
So here's how I see it so far: assuming we want to avoid changing vm state on vmstop - flush bdrv and aio on vmstop (this is so we don't need to stop them) - keep running aio - stop running bh - stop running slirp - keep running host/rt timers - keep running fd callbacks for migration - keep running fd callbacks for ui: vnc, spice Note: only clock=vm can satisfy this requirement. Default clock=rtc keeps running when VM is stopped, this is by design. -- MST