qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH 0/4] linux-aio: rewrite and simplify queuing code
@ 2014-12-10 14:51 Paolo Bonzini
  2014-12-10 14:51 ` [Qemu-devel] [PATCH 1/4] linux-aio: queue requests that cannot be submitted Paolo Bonzini
                   ` (3 more replies)
  0 siblings, 4 replies; 13+ messages in thread
From: Paolo Bonzini @ 2014-12-10 14:51 UTC (permalink / raw)
  To: qemu-devel; +Cc: kwolf, ming.lei, pl, stefanha

This series rewrites the io_submit code to avoid having to
synchronize the iocbs in two places (qemu_laiocb and LaioQueue).
Instead, the queue of pending I/O requests is kept in a list.

This fixes the problems with io_submit doing partial submissions
or failing with EAGAIN, without complicating the code.  The bug is
shown by "qemu-img bench -n -t none -s 65536 -d 1024 -c 100000"
pretty much instantly.

Paolo

Paolo Bonzini (4):
  linux-aio: queue requests that cannot be submitted
  linux-aio: track whether the queue is blocked
  linux-aio: rename LaioQueue idx field to "n"
  linux-aio: simplify removal of completed iocbs from the list

 block/linux-aio.c    | 86 +++++++++++++++++++++++++---------------------------
 include/qemu/queue.h | 11 +++++++
 2 files changed, 53 insertions(+), 44 deletions(-)

-- 
2.1.0

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

end of thread, other threads:[~2014-12-11 14:08 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-12-10 14:51 [Qemu-devel] [PATCH 0/4] linux-aio: rewrite and simplify queuing code Paolo Bonzini
2014-12-10 14:51 ` [Qemu-devel] [PATCH 1/4] linux-aio: queue requests that cannot be submitted Paolo Bonzini
2014-12-11 12:49   ` Kevin Wolf
2014-12-11 12:52     ` Paolo Bonzini
2014-12-11 13:02       ` Kevin Wolf
2014-12-11 13:07         ` Paolo Bonzini
2014-12-10 14:52 ` [Qemu-devel] [PATCH 2/4] linux-aio: track whether the queue is blocked Paolo Bonzini
2014-12-10 14:52 ` [Qemu-devel] [PATCH 3/4] linux-aio: rename LaioQueue idx field to "n" Paolo Bonzini
2014-12-10 14:52 ` [Qemu-devel] [PATCH 4/4] linux-aio: simplify removal of completed iocbs from the list Paolo Bonzini
2014-12-11 13:13   ` Kevin Wolf
2014-12-11 13:15     ` Paolo Bonzini
2014-12-11 13:22       ` Kevin Wolf
2014-12-11 14:07         ` Paolo Bonzini

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