public inbox for kvm@vger.kernel.org
 help / color / mirror / Atom feed
From: Michael Tokarev <mjt@tls.msk.ru>
To: Avi Kivity <avi@redhat.com>
Cc: Bernhard Schmidt <berni@birkenwald.de>, kvm@vger.kernel.org
Subject: Re: linux-aio usable?
Date: Mon, 08 Mar 2010 23:11:06 +0300	[thread overview]
Message-ID: <4B9559DA.8000407@msgid.tls.msk.ru> (raw)
In-Reply-To: <4B94BF05.20609@redhat.com>

Avi Kivity wrote:
> On 03/08/2010 03:46 AM, Bernhard Schmidt wrote:
>> Hi,
>>
>> sorry for this pretty generic question, I did not find any real pros and
>> cons on the net anywhere, but I might just have missed them.
>>
>> In a pure x86_64 environment (~2.6.32 vanilla kernel, 0.12.3 qemu-kvm),
>> is enabling linux-aio in KVM a good idea?
> 
> Yes.

Apparently that does not quite work.  I just re-compiled kvm with
--enable-linux-aio (actually I just installed libaio-dev on debian
and qemu-kvm's configure picked it up automatically), and tried
a guest.  But any I/O fails.

  kvm-0.12.3 ... -drive file=/dev/sda10,if=virtio,cache=none,aio=native

(/dev/sda10 is a (spare) partition on my hard drive I use for testing).
Here's the resulting dmesg in the guest (2.6.32):

 vdb:
end_request: I/O error, dev vdb, sector 0
Buffer I/O error on device vdb, logical block 0
Buffer I/O error on device vdb, logical block 1
Buffer I/O error on device vdb, logical block 2
Buffer I/O error on device vdb, logical block 3
Buffer I/O error on device vdb, logical block 4
Buffer I/O error on device vdb, logical block 5
Buffer I/O error on device vdb, logical block 6
Buffer I/O error on device vdb, logical block 7
end_request: I/O error, dev vdb, sector 0
Buffer I/O error on device vdb, logical block 0
Buffer I/O error on device vdb, logical block 1
end_request: I/O error, dev vdb, sector 0
 unable to read partition table

And any I/O - be it reads of writes - fails.

I see some aio_submit() etc are happening in strace,
but no errors.  Unfortunately my strace does not
decode io_*() routines.

# fgrep io_ trc
...
1227  io_submit(4152147968, 1, {...})   = 1
1226  io_getevents(-142819328, 1, 128, {...}{0, 0}) = 1
1227  io_submit(4152147968, 1, {...})   = 1
1226  io_getevents(-142819328, 1, 128, {...}{0, 0}) = 1
1227  io_submit(4152147968, 1, {...})   = 1
1226  io_getevents(-142819328, 1, 128, {...}{0, 0}) = 1
...

Oh well.... ;)

/mjt

  parent reply	other threads:[~2010-03-08 20:11 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-03-08  1:46 linux-aio usable? Bernhard Schmidt
2010-03-08  9:10 ` Avi Kivity
2010-03-08  9:48   ` Bernhard Schmidt
2010-03-08  9:48     ` Avi Kivity
2010-03-08 14:25       ` Dustin Kirkland
2010-03-08 14:26         ` Avi Kivity
2010-03-08 16:28           ` Anthony Liguori
2010-03-08 16:36             ` Avi Kivity
2010-03-08 13:00   ` Christoph Hellwig
2010-03-08 20:11   ` Michael Tokarev [this message]
2010-03-08 20:19     ` Michael Tokarev
2010-03-09  9:08       ` Avi Kivity
2010-03-09  9:19         ` Michael Tokarev
2010-03-09 10:05           ` Avi Kivity
2010-03-09 14:12             ` Christoph Hellwig
2010-03-08 21:27   ` Nikola Ciprich
2010-03-08 21:46     ` Brian Jackson
2010-03-09  9:09     ` Avi Kivity

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4B9559DA.8000407@msgid.tls.msk.ru \
    --to=mjt@tls.msk.ru \
    --cc=avi@redhat.com \
    --cc=berni@birkenwald.de \
    --cc=kvm@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox