qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] questions about the bdrv_co_do_readv()
@ 2013-08-27  2:59 Yaodong Yang
  2013-08-27  7:45 ` Stefan Hajnoczi
  0 siblings, 1 reply; 4+ messages in thread
From: Yaodong Yang @ 2013-08-27  2:59 UTC (permalink / raw)
  To: qemu-devel@nongnu.org; +Cc: Yaodong Yang

In the block-migration period, each chunk of data is read by bdrv_aio_readv(), then bdrv_co_aio_rw_vector() , then bdrv_co_do_rw(). 

Inside the bdrv_co_do_rw() function, the bdrv_co_do_readv() function is called twice. and exit without finish the execution of the bdrv_co_do_readv() function. All these calls are inside the migration thread. Later, the iothread will finish the bottom half of the bdrv_co_do_readv() function. I do not why it is executed in this way.

In sum, the bdrv_co_do_readv() seems to be executed inside two thread, the migration thread and native iothread. Both of them executed the function twice for a single request. Could someone explain it for me ? I appreciate it very much!

Thanks!
Yaodong

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2013-08-28  7:59 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-08-27  2:59 [Qemu-devel] questions about the bdrv_co_do_readv() Yaodong Yang
2013-08-27  7:45 ` Stefan Hajnoczi
2013-08-27 22:55   ` Yaodong Yang
2013-08-28  7:58     ` Stefan Hajnoczi

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).