All of lore.kernel.org
 help / color / mirror / Atom feed
From: Liu Yuan <namei.unix@gmail.com>
To: Avi Kivity <avi@redhat.com>
Cc: Sasha Levin <levinsasha928@gmail.com>,
	Stefan Hajnoczi <stefanha@gmail.com>,
	"Michael S. Tsirkin" <mst@redhat.com>,
	Rusty Russell <rusty@rustcorp.com.au>,
	kvm@vger.kernel.org, linux-kernel@vger.kernel.org,
	Khoa Huynh <khoa@us.ibm.com>,
	Badari Pulavarty <pbadari@us.ibm.com>,
	Christoph Hellwig <hch@infradead.org>
Subject: Re: [RFC PATCH]vhost-blk: In-kernel accelerator for virtio block device
Date: Mon, 01 Aug 2011 17:18:02 +0800	[thread overview]
Message-ID: <4E366F4A.1030704@gmail.com> (raw)
In-Reply-To: <4E36612F.6040809@redhat.com>

On 08/01/2011 04:17 PM, Avi Kivity wrote:
> On 07/29/2011 06:25 PM, Sasha Levin wrote:
>> On Fri, 2011-07-29 at 20:01 +0800, Liu Yuan wrote:
>> >  Looking at this long list,most are function pointers that can not be
>> >  inlined, and the internal data structures used by these functions are
>> >  dozons. Leave aside code complexity, this long code path would really
>> >  need retrofit. As Christoph simply put, this kind of mess is inherent
>> >  all over the qemu code. So I am afraid, the 'retrofit'  would end 
>> up to
>> >  be a re-write the entire (sub)system. I have to admit that, I am
>> >  inclined to the MST's vhost approach, that write a new subsystem 
>> other
>> >  than tedious profiling and fixing, that would possibly goes as far as
>> >  actually re-writing it.
>>
>> I don't think the fix for problematic userspace is to write more kernel
>> code.
>>
>> vhost-net improved throughput and latency by several factors, allowing
>> to achieve much more than was possible at userspace alone.
>>
>> With vhost-blk we see an improvement of ~15% - which I assume by your
>> and Christoph's comments can be mostly attributed to QEMU. Merging a
>> module which won't improve performance dramatically compared to what is
>> possible to achieve in userspace (even if it would require a code
>> rewrite) sounds a bit wrong to me
>
> Agree.  vhost-net works around the lack of async zero copy networking 
> interface.  Block I/O on the other hand does have such an interface, 
> and in addition transaction rates are usually lower.  All we're saving 
> is the syscall overhead.
>
Personally I too agree with Sasha Levin. But vhost-blk is the first fast 
prototype that is supposed to act as a code base to do further 
optimisation, which I plan to utilize  kernel's internal stuff like BIO 
layer,  that can not be accessed from user space, to maximize the 
performance for raw disk based block IO.

Yuan

  reply	other threads:[~2011-08-01  9:18 UTC|newest]

Thread overview: 54+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-07-28 14:29 [RFC PATCH]vhost-blk: In-kernel accelerator for virtio block device Liu Yuan
2011-07-28 14:29 ` [RFC PATCH] vhost-blk: An in-kernel accelerator for virtio-blk Liu Yuan
2011-07-28 14:47   ` Christoph Hellwig
2011-07-29 11:19     ` Liu Yuan
2011-07-28 15:18   ` Stefan Hajnoczi
2011-07-28 15:22   ` Michael S. Tsirkin
2011-07-29 15:09     ` Liu Yuan
2011-08-01  6:25     ` Liu Yuan
2011-08-01  8:12       ` Michael S. Tsirkin
2011-08-01  8:55         ` Liu Yuan
2011-08-01 10:26           ` Michael S. Tsirkin
2011-08-11 19:59     ` Dongsu Park
2011-08-12  8:56       ` Alan Cox
2011-07-28 14:29 ` [RFC PATCH] vhost: Enable vhost-blk support Liu Yuan
2011-07-28 15:44 ` [RFC PATCH]vhost-blk: In-kernel accelerator for virtio block device Stefan Hajnoczi
2011-07-29  4:48   ` Stefan Hajnoczi
2011-07-29  7:59     ` Liu Yuan
2011-07-29 10:55       ` Christoph Hellwig
2011-07-29  7:22   ` Liu Yuan
2011-07-29  9:06     ` Stefan Hajnoczi
2011-07-29 12:01       ` Liu Yuan
2011-07-29 12:29         ` Stefan Hajnoczi
2011-07-29 12:50           ` Stefan Hajnoczi
2011-07-29 14:45             ` Liu Yuan
2011-07-29 14:50               ` Liu Yuan
2011-07-29 15:25         ` Sasha Levin
2011-08-01  8:17           ` Avi Kivity
2011-08-01  9:18             ` Liu Yuan [this message]
2011-08-01  9:37               ` Avi Kivity
2011-07-29 18:12     ` Badari Pulavarty
2011-08-01  5:46       ` Liu Yuan
2011-08-01  8:12         ` Christoph Hellwig
2011-08-04 21:58         ` Badari Pulavarty
2011-08-05  7:56           ` Liu Yuan
2011-08-05 11:04           ` Liu Yuan
2011-08-05 18:02             ` Badari Pulavarty
2011-08-08  1:35               ` Liu Yuan
2011-08-08  5:04                 ` Badari Pulavarty
2011-08-08  7:31                   ` Liu Yuan
2011-08-08 17:16                     ` Badari Pulavarty
2011-08-10  2:19                       ` Liu Yuan
2011-08-10 20:37                         ` Badari Pulavarty
2011-08-11  3:01                           ` Liu Yuan
2011-08-11  3:19                             ` Liu Yuan
2011-08-11 23:51                               ` Badari Pulavarty
2011-08-12  4:50                               ` Badari Pulavarty
2011-08-12  6:46                                 ` Dongsu Park
2011-08-12  8:27                                 ` Liu Yuan
2011-08-12 11:40                                   ` Liu Yuan
2011-08-12 16:12                                     ` Badari Pulavarty
2011-08-15  3:20                                       ` Liu Yuan
2011-08-15  4:17                                         ` Badari Pulavarty
2011-08-16  5:44                                           ` Liu Yuan
2011-09-07 13:36                                           ` Liu Yuan

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=4E366F4A.1030704@gmail.com \
    --to=namei.unix@gmail.com \
    --cc=avi@redhat.com \
    --cc=hch@infradead.org \
    --cc=khoa@us.ibm.com \
    --cc=kvm@vger.kernel.org \
    --cc=levinsasha928@gmail.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mst@redhat.com \
    --cc=pbadari@us.ibm.com \
    --cc=rusty@rustcorp.com.au \
    --cc=stefanha@gmail.com \
    /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 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.