From: Asias He <asias@redhat.com> To: Anthony Liguori <anthony@codemonkey.ws> Cc: "Michael S. Tsirkin" <mst@redhat.com>, linux-kernel@vger.kernel.org, kvm@vger.kernel.org, virtualization@lists.linux-foundation.org Subject: Re: [PATCH RESEND 5/5] vhost-blk: Add vhost-blk support Date: Sat, 21 Jul 2012 09:07:57 +0800 [thread overview] Message-ID: <500A00ED.9090508@redhat.com> (raw) In-Reply-To: <87obnaup70.fsf@codemonkey.ws> On 07/21/2012 04:56 AM, Anthony Liguori wrote: > "Michael S. Tsirkin" <mst@redhat.com> writes: > >> On Thu, Jul 19, 2012 at 08:05:42AM -0500, Anthony Liguori wrote: >>> Of course, the million dollar question is why would using AIO in the >>> kernel be faster than using AIO in userspace? >> >> Actually for me a more important question is how does it compare >> with virtio-blk dataplane? > > I'm not even asking for a benchmark comparision. It's the same API > being called from a kernel thread vs. a userspace thread. Why would > there be a 60% performance difference between the two? That doesn't > make any sense. Please read the commit log again. I am not saying vhost-blk v.s userspace implementation gives 60% improvement. I am saying the vhost-blk v.s original vhost-blk gives 60% improvement. """ This patch is based on Liu Yuan's implementation with various improvements and bug fixes. Notably, this patch makes guest notify and host completion processing in parallel which gives about 60% performance improvement compared to Liu Yuan's implementation. """ > > There's got to be a better justification for putting this in the kernel > than just that we can. > > I completely understand why Christoph's suggestion of submitting BIOs > directly would be faster. There's no way to do that in userspace. Well. With Zach and Dave's new in-kernel aio API, the aio usage in kernel is much simpler than in userspace. This a potential reason that in kernel one is better than userspace one. I am working on it right now. And for block based image, as suggested by Christoph, we can submit bio directly. This is another potential reason. Why can't we just go further to see if we can improve the IO stack from guest kernel side all the way down to host kernel side. We can not do that if we stick to doing everything in userspace (qemu). -- Asias
WARNING: multiple messages have this Message-ID (diff)
From: Asias He <asias@redhat.com> To: Anthony Liguori <anthony@codemonkey.ws> Cc: virtualization@lists.linux-foundation.org, linux-kernel@vger.kernel.org, kvm@vger.kernel.org, "Michael S. Tsirkin" <mst@redhat.com> Subject: Re: [PATCH RESEND 5/5] vhost-blk: Add vhost-blk support Date: Sat, 21 Jul 2012 09:07:57 +0800 [thread overview] Message-ID: <500A00ED.9090508@redhat.com> (raw) In-Reply-To: <87obnaup70.fsf@codemonkey.ws> On 07/21/2012 04:56 AM, Anthony Liguori wrote: > "Michael S. Tsirkin" <mst@redhat.com> writes: > >> On Thu, Jul 19, 2012 at 08:05:42AM -0500, Anthony Liguori wrote: >>> Of course, the million dollar question is why would using AIO in the >>> kernel be faster than using AIO in userspace? >> >> Actually for me a more important question is how does it compare >> with virtio-blk dataplane? > > I'm not even asking for a benchmark comparision. It's the same API > being called from a kernel thread vs. a userspace thread. Why would > there be a 60% performance difference between the two? That doesn't > make any sense. Please read the commit log again. I am not saying vhost-blk v.s userspace implementation gives 60% improvement. I am saying the vhost-blk v.s original vhost-blk gives 60% improvement. """ This patch is based on Liu Yuan's implementation with various improvements and bug fixes. Notably, this patch makes guest notify and host completion processing in parallel which gives about 60% performance improvement compared to Liu Yuan's implementation. """ > > There's got to be a better justification for putting this in the kernel > than just that we can. > > I completely understand why Christoph's suggestion of submitting BIOs > directly would be faster. There's no way to do that in userspace. Well. With Zach and Dave's new in-kernel aio API, the aio usage in kernel is much simpler than in userspace. This a potential reason that in kernel one is better than userspace one. I am working on it right now. And for block based image, as suggested by Christoph, we can submit bio directly. This is another potential reason. Why can't we just go further to see if we can improve the IO stack from guest kernel side all the way down to host kernel side. We can not do that if we stick to doing everything in userspace (qemu). -- Asias
next prev parent reply other threads:[~2012-07-21 1:06 UTC|newest] Thread overview: 50+ messages / expand[flat|nested] mbox.gz Atom feed top 2012-07-13 8:55 [PATCH RESEND 0/5] Add vhost-blk support Asias He 2012-07-13 8:55 ` Asias He 2012-07-13 8:55 ` [PATCH RESEND 1/5] aio: Export symbols and struct kiocb_batch for in kernel aio usage Asias He 2012-07-13 8:55 ` Asias He 2012-07-13 8:55 ` Asias He 2012-07-13 8:55 ` [PATCH RESEND 2/5] eventfd: Export symbol eventfd_file_create() Asias He 2012-07-13 8:55 ` Asias He 2012-07-13 8:55 ` [PATCH RESEND 3/5] vhost: Make vhost a separate module Asias He 2012-07-13 8:55 ` Asias He 2012-07-13 8:55 ` [PATCH RESEND 4/5] vhost-net: Use VHOST_NET_FEATURES for vhost-net Asias He 2012-07-13 8:55 ` Asias He 2012-07-13 8:55 ` [PATCH RESEND 5/5] vhost-blk: Add vhost-blk support Asias He 2012-07-13 8:55 ` Asias He 2012-07-17 19:10 ` Jeff Moyer 2012-07-17 19:10 ` Jeff Moyer 2012-07-18 1:22 ` Asias He 2012-07-18 1:22 ` Asias He 2012-07-18 14:31 ` Jeff Moyer 2012-07-18 14:45 ` Asias He 2012-07-18 14:45 ` Asias He 2012-07-18 14:31 ` Jeff Moyer 2012-07-19 13:05 ` Anthony Liguori 2012-07-19 13:09 ` Michael S. Tsirkin 2012-07-19 13:09 ` Michael S. Tsirkin 2012-07-19 13:09 ` Michael S. Tsirkin 2012-07-19 13:09 ` Michael S. Tsirkin 2012-07-20 10:31 ` Stefan Hajnoczi 2012-07-20 10:31 ` Stefan Hajnoczi 2012-07-20 20:56 ` Anthony Liguori 2012-07-20 20:56 ` Anthony Liguori 2012-07-21 1:07 ` Asias He [this message] 2012-07-21 1:07 ` Asias He 2012-07-19 13:05 ` Anthony Liguori 2012-07-14 7:49 ` [PATCH RESEND 0/5] " Christoph Hellwig 2012-07-14 7:49 ` Christoph Hellwig 2012-07-16 9:05 ` Asias He 2012-07-16 9:05 ` Asias He 2012-07-16 9:05 ` Asias He 2012-07-14 7:49 ` Christoph Hellwig 2012-07-17 15:09 ` Michael S. Tsirkin 2012-07-17 15:09 ` Michael S. Tsirkin 2012-07-18 2:09 ` Asias He 2012-07-18 2:09 ` Asias He 2012-07-18 2:09 ` Asias He 2012-07-18 11:42 ` Stefan Hajnoczi 2012-07-18 11:42 ` Stefan Hajnoczi 2012-07-17 15:09 ` Michael S. Tsirkin 2012-07-20 19:30 ` Michael S. Tsirkin 2012-07-20 19:30 ` Michael S. Tsirkin 2012-07-20 19:30 ` Michael S. Tsirkin
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=500A00ED.9090508@redhat.com \ --to=asias@redhat.com \ --cc=anthony@codemonkey.ws \ --cc=kvm@vger.kernel.org \ --cc=linux-kernel@vger.kernel.org \ --cc=mst@redhat.com \ --cc=virtualization@lists.linux-foundation.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: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.