From: pbonzini@redhat.com (Paolo Bonzini)
Subject: [RFC PATCH 0/9] vhost-nvme: new qemu nvme backend using nvme target
Date: Sat, 21 Nov 2015 14:11:49 +0100 [thread overview]
Message-ID: <56506D95.70101@redhat.com> (raw)
In-Reply-To: <1447978868-17138-1-git-send-email-mlin@kernel.org>
On 20/11/2015 01:20, Ming Lin wrote:
> One improvment could be to use google's NVMe vendor extension that
> I send in another thread, aslo here:
> https://git.kernel.org/cgit/linux/kernel/git/mlin/linux.git/log/?h=nvme-google-ext
>
> Qemu side:
> http://www.minggr.net/cgit/cgit.cgi/qemu/log/?h=vhost-nvme.0
> Kernel side also here:
> https://git.kernel.org/cgit/linux/kernel/git/mlin/linux.git/log/?h=vhost-nvme.0
How much do you get with vhost-nvme plus vendor extension, compared to
190 MB/s for QEMU?
Note that in all likelihood, QEMU can actually do better than 190 MB/s,
and gain more parallelism too, by moving the processing of the
ioeventfds to a separate thread. This is similar to
hw/block/dataplane/virtio-blk.c.
It's actually pretty easy to do. Even though
hw/block/dataplane/virtio-blk.c is still using some old APIs, all memory
access in QEMU is now thread-safe. I have pending patches for 2.6 that
cut that file down to a mere 200 lines of code, NVMe would probably be
about the same.
Paolo
WARNING: multiple messages have this Message-ID (diff)
From: Paolo Bonzini <pbonzini@redhat.com>
To: Ming Lin <mlin@kernel.org>, linux-nvme@lists.infradead.org
Cc: virtualization@lists.linux-foundation.org,
Christoph Hellwig <hch@lst.de>,
qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] [RFC PATCH 0/9] vhost-nvme: new qemu nvme backend using nvme target
Date: Sat, 21 Nov 2015 14:11:49 +0100 [thread overview]
Message-ID: <56506D95.70101@redhat.com> (raw)
In-Reply-To: <1447978868-17138-1-git-send-email-mlin@kernel.org>
On 20/11/2015 01:20, Ming Lin wrote:
> One improvment could be to use google's NVMe vendor extension that
> I send in another thread, aslo here:
> https://git.kernel.org/cgit/linux/kernel/git/mlin/linux.git/log/?h=nvme-google-ext
>
> Qemu side:
> http://www.minggr.net/cgit/cgit.cgi/qemu/log/?h=vhost-nvme.0
> Kernel side also here:
> https://git.kernel.org/cgit/linux/kernel/git/mlin/linux.git/log/?h=vhost-nvme.0
How much do you get with vhost-nvme plus vendor extension, compared to
190 MB/s for QEMU?
Note that in all likelihood, QEMU can actually do better than 190 MB/s,
and gain more parallelism too, by moving the processing of the
ioeventfds to a separate thread. This is similar to
hw/block/dataplane/virtio-blk.c.
It's actually pretty easy to do. Even though
hw/block/dataplane/virtio-blk.c is still using some old APIs, all memory
access in QEMU is now thread-safe. I have pending patches for 2.6 that
cut that file down to a mere 200 lines of code, NVMe would probably be
about the same.
Paolo
next prev parent reply other threads:[~2015-11-21 13:11 UTC|newest]
Thread overview: 90+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-11-20 0:20 [RFC PATCH 0/9] vhost-nvme: new qemu nvme backend using nvme target Ming Lin
2015-11-20 0:20 ` [Qemu-devel] " Ming Lin
2015-11-20 0:20 ` Ming Lin
2015-11-20 0:21 ` [RFC PATCH 1/9] nvme-vhost: add initial commit Ming Lin
2015-11-20 0:21 ` [Qemu-devel] " Ming Lin
2015-11-20 0:21 ` Ming Lin
2015-11-20 0:21 ` [RFC PATCH 2/9] nvme-vhost: add basic ioctl handlers Ming Lin
2015-11-20 0:21 ` [Qemu-devel] " Ming Lin
2015-11-20 0:21 ` Ming Lin
2015-11-20 0:21 ` [RFC PATCH 3/9] nvme-vhost: add basic nvme bar read/write Ming Lin
2015-11-20 0:21 ` [Qemu-devel] " Ming Lin
2015-11-20 0:21 ` Ming Lin
2015-11-20 0:21 ` [RFC PATCH 4/9] nvmet: add a controller "start" hook Ming Lin
2015-11-20 0:21 ` [Qemu-devel] " Ming Lin
2015-11-20 0:21 ` Ming Lin
2015-11-20 5:13 ` Christoph Hellwig
2015-11-20 5:13 ` Christoph Hellwig
2015-11-20 5:13 ` [Qemu-devel] " Christoph Hellwig
2015-11-20 5:31 ` Ming Lin
2015-11-20 5:31 ` [Qemu-devel] " Ming Lin
2015-11-20 5:31 ` Ming Lin
2015-11-20 0:21 ` [RFC PATCH 5/9] nvme-vhost: add controller "start" callback Ming Lin
2015-11-20 0:21 ` [Qemu-devel] " Ming Lin
2015-11-20 0:21 ` Ming Lin
2015-11-20 0:21 ` [RFC PATCH 6/9] nvmet: add a "parse_extra_admin_cmd" hook Ming Lin
2015-11-20 0:21 ` [Qemu-devel] " Ming Lin
2015-11-20 0:21 ` Ming Lin
2015-11-20 0:21 ` [RFC PATCH 7/9] nvme-vhost: add "parse_extra_admin_cmd" callback Ming Lin
2015-11-20 0:21 ` [Qemu-devel] " Ming Lin
2015-11-20 0:21 ` Ming Lin
2015-11-20 0:21 ` [RFC PATCH 8/9] nvme-vhost: add vhost memory helpers Ming Lin
2015-11-20 0:21 ` [Qemu-devel] " Ming Lin
2015-11-20 0:21 ` Ming Lin
2015-11-20 0:21 ` [RFC PATCH 9/9] nvme-vhost: add nvme queue handlers Ming Lin
2015-11-20 0:21 ` [Qemu-devel] " Ming Lin
2015-11-20 0:21 ` Ming Lin
2015-11-20 5:16 ` [RFC PATCH 0/9] vhost-nvme: new qemu nvme backend using nvme target Christoph Hellwig
2015-11-20 5:16 ` [Qemu-devel] " Christoph Hellwig
2015-11-20 5:33 ` Ming Lin
2015-11-20 5:33 ` [Qemu-devel] " Ming Lin
2015-11-20 5:33 ` Ming Lin
2015-11-20 5:16 ` Christoph Hellwig
2015-11-21 13:11 ` Paolo Bonzini [this message]
2015-11-21 13:11 ` [Qemu-devel] " Paolo Bonzini
2015-11-23 8:17 ` Ming Lin
2015-11-23 8:17 ` [Qemu-devel] " Ming Lin
2015-11-23 8:17 ` Ming Lin
2015-11-23 14:14 ` Paolo Bonzini
2015-11-23 14:14 ` [Qemu-devel] " Paolo Bonzini
2015-11-23 14:14 ` Paolo Bonzini
2015-11-24 7:27 ` Ming Lin
2015-11-24 7:27 ` [Qemu-devel] " Ming Lin
2015-11-24 7:27 ` Ming Lin
2015-11-24 8:23 ` Ming Lin
2015-11-24 8:23 ` [Qemu-devel] " Ming Lin
2015-11-24 8:23 ` Ming Lin
2015-11-24 10:51 ` Paolo Bonzini
2015-11-24 10:51 ` [Qemu-devel] " Paolo Bonzini
2015-11-24 10:51 ` Paolo Bonzini
2015-11-24 19:25 ` Ming Lin
2015-11-24 19:25 ` [Qemu-devel] " Ming Lin
2015-11-24 19:25 ` Ming Lin
2015-11-25 11:27 ` Paolo Bonzini
2015-11-25 11:27 ` [Qemu-devel] " Paolo Bonzini
2015-11-25 11:27 ` Paolo Bonzini
2015-11-25 18:51 ` Ming Lin
2015-11-25 18:51 ` [Qemu-devel] " Ming Lin
2015-11-25 18:51 ` Ming Lin
2015-11-25 19:32 ` Paolo Bonzini
2015-11-25 19:32 ` [Qemu-devel] " Paolo Bonzini
2015-11-25 19:32 ` Paolo Bonzini
2015-11-30 23:20 ` Ming Lin
2015-11-30 23:20 ` [Qemu-devel] " Ming Lin
2015-11-30 23:20 ` Ming Lin
2015-12-01 16:02 ` Paolo Bonzini
2015-12-01 16:02 ` [Qemu-devel] " Paolo Bonzini
2015-12-01 16:02 ` Paolo Bonzini
2015-12-01 16:26 ` Ming Lin
2015-12-01 16:26 ` [Qemu-devel] " Ming Lin
2015-12-01 16:26 ` Ming Lin
2015-12-01 16:59 ` Paolo Bonzini
2015-12-01 16:59 ` [Qemu-devel] " Paolo Bonzini
2015-12-01 16:59 ` Paolo Bonzini
2015-12-02 5:13 ` Ming Lin
2015-12-02 5:13 ` [Qemu-devel] " Ming Lin
2015-12-02 5:13 ` Ming Lin
2015-12-02 10:07 ` Paolo Bonzini
2015-12-02 10:07 ` [Qemu-devel] " Paolo Bonzini
2015-12-02 10:07 ` Paolo Bonzini
2015-11-21 13:11 ` Paolo Bonzini
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=56506D95.70101@redhat.com \
--to=pbonzini@redhat.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.