Paolo Bonzini <pbonz...@redhat.com> writes: > On 04/04/2017 12:46, Alex Bennée wrote: >>> In theory the main-loop should be sequenced before or after vCPU events >>> because of the BQL. I'm not sure why this is not currently the case. >> >> It seems cpu_handle_exception doesn't take the BQL until >> replay_exception() has done its thing. This is fixable but the function >> is a mess so I'm trying to neaten that up first. > > Long term neither cpu_handle_exception nor cpu_handle_interrupt need the > BQL at all.
Well for record/replay they might. Otherwise we end up moving the record stream on even though a checkpoint might be being written by the main-loop. As far as the cc->do_interrupt() stuff is concerned it will be guest dependant because you could end up in device emulation code down this path which must be protected by the BQL - the arm_gic code being a good example. > > Paolo -- Alex Bennée