On 26/08/19 14:19, dovgaluk wrote: > This patch breaks the execution recording. > While vCPU tries to lock replay mutex in main while loop, > vga causes dirty memory sync and do_run_on_cpu call. > This call waits for vCPU to process the work queue.
IIUC there is a deadlock because VGA (from the I/O thread) is holding the replay mutex. Next time, please include a quick description of who waits for whom. :) I think it should be enough to wrap the do_run_on_cpu on replay_mode == REPLAY_MODE_NONE, since the I/O and vCPU thread are anyway running in lockstep when rr is active. (This reasoning should also be in a comment). Paolo