On Wed, Apr 05, 2017 at 05:27:58PM +0800, jemmy858...@gmail.com wrote: > From: Lidong Chen <lidongc...@tencent.com> > > when migration with high speed, mig_save_device_bulk invoke > bdrv_is_allocated too frequently, and cause vnc reponse slowly. > this patch limit the time used for bdrv_is_allocated.
bdrv_is_allocated() is supposed to yield back to the event loop if it needs to block. If your VNC session is experiencing jitter then it's probably because a system call in the bdrv_is_allocated() code path is synchronous when it should be asynchronous. You could try to identify the system call using strace -f -T. In the output you'll see the duration of each system call. I guess there is a file I/O system call that is taking noticable amounts of time. A proper solution is to refactor the synchronous code to make it asynchronous. This might require invoking the system call from a thread pool worker. Stefan
signature.asc
Description: PGP signature