qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] Docs for and debugging of Asynchronous I/O
@ 2010-07-20 18:34 Ot ten Thije
  2010-07-20 20:57 ` Stefan Hajnoczi
  2010-07-20 21:47 ` Anthony Liguori
  0 siblings, 2 replies; 5+ messages in thread
From: Ot ten Thije @ 2010-07-20 18:34 UTC (permalink / raw)
  To: qemu-devel

[-- Attachment #1: Type: text/plain, Size: 1383 bytes --]

Hello,

I am working on fixing the savevm/loadvm functionality in the Android
emulator, and the two issues I've encountered so far both appear to stem
from the asynchronous I/O (AIO) code. In both cases, the emulator busy-waits
indefinitely for an operation that never signals completion.

Unfortunately I am not really familiar with AIO, so I was hoping one of the
emulator devs could point me some resources (design docs, general
introduction, etc.). I've done some searching myself and found some docs for
the Linux kernel AIO implementation (http://lse.sourceforge.net/io/aio.html),
but I'm not sure to what extent it applies to the QEMU code.

Tips for debugging AIO would also be greatly appreciated. I can trace the
execution until I am within the (emulated) device driver (i.e.
block/qcow2.c:qcow_aio_writev()), but haven't been able to pinpoint the
exact location where the actual async call is made. This makes it difficult
to identify the code that should signal completion back to the main process
(and apparently fails to do so). I know this code is called though, because
some asynchronous calls *do* signal completion.

I realize that the Android emulator is a rather heavy fork of QEMU, so
giving specific advice will probably be difficult. However, the overall
approach is still the same, so I hope you can help me get a better
understanding of that.


Ot ten Thije

[-- Attachment #2: Type: text/html, Size: 1644 bytes --]

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

end of thread, other threads:[~2010-07-22 18:00 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-07-20 18:34 [Qemu-devel] Docs for and debugging of Asynchronous I/O Ot ten Thije
2010-07-20 20:57 ` Stefan Hajnoczi
2010-07-22 17:50   ` Ot ten Thije
2010-07-20 21:47 ` Anthony Liguori
2010-07-22 17:59   ` Ot ten Thije

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).