From: Gregory Haskins <gregory.haskins@gmail.com>
To: Avi Kivity <avi@redhat.com>
Cc: Ingo Molnar <mingo@elte.hu>,
kvm@vger.kernel.org, Andrew Morton <akpm@linux-foundation.org>,
torvalds@linux-foundation.org,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
netdev@vger.kernel.org,
"alacrityvm-devel@lists.sourceforge.net"
<alacrityvm-devel@lists.sourceforge.net>
Subject: Re: [GIT PULL] AlacrityVM guest drivers for 2.6.33
Date: Mon, 21 Dec 2009 11:04:21 -0500 [thread overview]
Message-ID: <4B2F9C85.7070202@gmail.com> (raw)
In-Reply-To: <4B2F978D.7010602@redhat.com>
[-- Attachment #1: Type: text/plain, Size: 3643 bytes --]
On 12/21/09 10:43 AM, Avi Kivity wrote:
> On 12/21/2009 05:34 PM, Gregory Haskins wrote:
>>
>>> I think it would be fair to point out that these patches have been
>>> objected to
>>> by the KVM folks quite extensively,
>>>
>> Actually, these patches have nothing to do with the KVM folks. You are
>> perhaps confusing this with the hypervisor-side discussion, of which
>> there is indeed much disagreement.
>>
>
> This is true, though these drivers are fairly pointless for
> virtualization without the host side support.
The host side support is available in various forms (git tree, rpm, etc)
from our project page. I would encourage any interested parties to
check it out:
Here is the git tree
http://git.kernel.org/?p=linux/kernel/git/ghaskins/alacrityvm/linux-2.6.git;a=summary
Here are some RPMs:
http://download.opensuse.org/repositories/devel://LLDC://alacrity/openSUSE_11.1/
And the main project site:
http://developer.novell.com/wiki/index.php/AlacrityVM
>
> I did have a few issues with the guest drivers:
> - the duplication of effort wrt virtio. These drivers don't cover
> exactly the same problem space, but nearly so.
Virtio itself is more or less compatible with this effort, as we have
discussed (see my virtio-vbus transport, for instance). I have issues
with some of the design decisions in the virtio device and ring models,
but they are minor in comparison to the beef I have with the virtio-pci
transport as a whole.
> - no effort at scalability - all interrupts are taken on one cpu
Addressed by the virtual-interrupt controller. This will enable us to
route shm-signal messages to a core, under guidance from the standard
irq-balance facilities.
> - the patches introduce a new virtual interrupt controller for dubious
> (IMO) benefits
See above. Its not fully plumbed yet, which is perhaps the reason for
the confusion as to its merits. Eventually I will trap the affinity
calls and pass them to the host, too. Today, it at least lets us see
the shm-signal statistics under /proc/interrupts, which is nice and is
consistent with other IO mechanisms.
>
>> From my research, the reason why virt in general, and KVM in particular
>> suffers on the IO performance front is as follows: IOs
>> (traps+interrupts) are more expensive than bare-metal, and real hardware
>> is naturally concurrent (your hbas and nics are effectively parallel
>> execution engines, etc).
>>
>> Assuming my observations are correct, in order to squeeze maximum
>> performance from a given guest, you need to do three things: A)
>> eliminate as many IOs as you possibly can, B) reduce the cost of the
>> ones you can't avoid, and C) run your algorithms in parallel to emulate
>> concurrent silicon.
>>
>
> All these are addressed by vhost-net without introducing new drivers.
No, B and C definitely are, but A is lacking. And the performance
suffers as a result in my testing (vhost-net still throws a ton of exits
as its limited by virtio-pci and only adds about 1Gb/s to virtio-u, far
behind venet even with things like zero-copy turned off).
I will also point out that these performance aspects are only a subset
of the discussion, since we are also addressing things like
qos/priority, alternate fabric types, etc. I do not expect you to
understand and agree where I am going per se. We can have that
discussion when I once again ask you for merge consideration. But if
you say "they are the same" I will call you on it, because they are
demonstrably unique capability sets.
Kind Regards,
-Greg
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 267 bytes --]
next prev parent reply other threads:[~2009-12-21 16:04 UTC|newest]
Thread overview: 105+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-12-07 18:53 [GIT PULL] AlacrityVM guest drivers for 2.6.33 Gregory Haskins
2009-12-18 21:51 ` Ingo Molnar
2009-12-21 15:34 ` Gregory Haskins
2009-12-21 15:43 ` Avi Kivity
2009-12-21 16:04 ` Gregory Haskins [this message]
2009-12-21 16:37 ` Anthony Liguori
2009-12-21 16:40 ` Avi Kivity
2009-12-21 16:56 ` Gregory Haskins
2009-12-21 17:05 ` Avi Kivity
2009-12-21 17:24 ` Gregory Haskins
2009-12-21 16:46 ` Gregory Haskins
2009-12-21 17:20 ` Anthony Liguori
2009-12-21 17:44 ` Gregory Haskins
2009-12-22 0:12 ` Anthony Liguori
2009-12-22 7:59 ` Ingo Molnar
2009-12-22 11:49 ` Andi Kleen
2009-12-22 15:31 ` Anthony Liguori
2009-12-22 16:01 ` Bartlomiej Zolnierkiewicz
2009-12-22 16:21 ` Anthony Liguori
2009-12-23 6:51 ` Ingo Molnar
2009-12-23 10:13 ` Andi Kleen
2009-12-23 10:22 ` Avi Kivity
2009-12-23 12:14 ` Andi Kleen
2009-12-23 12:48 ` Avi Kivity
2009-12-23 17:00 ` Chris Wright
2009-12-23 17:20 ` Andi Kleen
2009-12-23 15:03 ` Anthony Liguori
2009-12-23 17:52 ` [Alacrityvm-devel] " Peter W. Morreale
2009-12-23 18:17 ` Gregory Haskins
2009-12-23 18:22 ` Chris Wright
2009-12-23 18:15 ` Gregory Haskins
2009-12-23 20:20 ` Avi Kivity
2009-12-23 21:21 ` Gregory Haskins
2009-12-27 9:15 ` Avi Kivity
2009-12-27 13:18 ` Gregory Haskins
2009-12-27 13:27 ` Avi Kivity
2009-12-27 13:39 ` Gregory Haskins
2009-12-27 13:49 ` Avi Kivity
2009-12-28 1:01 ` Gregory Haskins
2009-12-23 18:51 ` Ingo Molnar
2009-12-23 19:27 ` Andi Kleen
2009-12-23 20:26 ` Avi Kivity
2009-12-24 6:58 ` Gleb Natapov
2009-12-24 20:41 ` Roland Dreier
2009-12-23 13:07 ` Bartlomiej Zolnierkiewicz
2009-12-23 13:31 ` Avi Kivity
2009-12-23 14:08 ` Bartlomiej Zolnierkiewicz
2009-12-23 14:28 ` Avi Kivity
2009-12-23 14:57 ` Anthony Liguori
2009-12-23 18:31 ` Chris Wright
2009-12-23 16:44 ` Gregory Haskins
2009-12-23 17:10 ` Andi Kleen
2009-12-23 17:17 ` Gregory Haskins
2009-12-23 17:29 ` Linus Torvalds
2009-12-23 23:27 ` Anthony Liguori
2009-12-23 17:33 ` Andi Kleen
2009-12-23 20:36 ` Avi Kivity
2009-12-23 21:01 ` Avi Kivity
2009-12-24 9:36 ` Gregory Haskins
2009-12-27 9:33 ` Avi Kivity
2009-12-27 13:34 ` Gregory Haskins
2009-12-27 13:49 ` Avi Kivity
2009-12-27 14:29 ` Gregory Haskins
2009-12-24 9:31 ` Gregory Haskins
2009-12-27 9:29 ` Avi Kivity
2009-12-22 16:21 ` Andi Kleen
2009-12-22 16:27 ` Anthony Liguori
2009-12-22 17:33 ` Andi Kleen
2009-12-22 17:35 ` Avi Kivity
2009-12-22 21:14 ` Anthony Liguori
2009-12-23 0:02 ` Chris Wright
2009-12-23 15:12 ` Anthony Liguori
2009-12-23 15:17 ` Chris Wright
2009-12-22 17:05 ` Avi Kivity
2009-12-22 20:41 ` Gregory Haskins
2009-12-22 7:22 ` Gleb Natapov
2009-12-22 7:57 ` Ingo Molnar
2009-12-22 17:36 ` Gregory Haskins
2009-12-22 18:53 ` Avi Kivity
2009-12-22 18:56 ` Gregory Haskins
2009-12-22 19:15 ` Gregory Haskins
2009-12-22 19:25 ` Avi Kivity
2009-12-22 19:32 ` Gregory Haskins
2009-12-22 19:37 ` Gregory Haskins
2009-12-22 19:38 ` Avi Kivity
2009-12-22 19:41 ` Gregory Haskins
2009-12-22 19:43 ` Avi Kivity
2009-12-22 19:47 ` Gregory Haskins
2009-12-22 19:40 ` Avi Kivity
2009-12-22 19:39 ` Davide Libenzi
2009-12-22 19:53 ` Gregory Haskins
2009-12-23 1:05 ` Davide Libenzi
2009-12-23 6:15 ` Kyle Moffett
2009-12-23 15:09 ` Anthony Liguori
2009-12-23 19:54 ` [Alacrityvm-devel] " Ira W. Snyder
2009-12-23 22:58 ` Anthony Liguori
2009-12-23 23:42 ` Ira W. Snyder
2009-12-24 17:09 ` Anthony Liguori
2009-12-25 0:38 ` Ira W. Snyder
2009-12-24 4:52 ` Kyle Moffett
2009-12-24 16:57 ` Anthony Liguori
2009-12-23 17:34 ` Gregory Haskins
2009-12-23 19:28 ` Ira W. Snyder
2009-12-23 19:50 ` Andi Kleen
2009-12-24 10:01 ` 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=4B2F9C85.7070202@gmail.com \
--to=gregory.haskins@gmail.com \
--cc=akpm@linux-foundation.org \
--cc=alacrityvm-devel@lists.sourceforge.net \
--cc=avi@redhat.com \
--cc=kvm@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@elte.hu \
--cc=netdev@vger.kernel.org \
--cc=torvalds@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: 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;
as well as URLs for NNTP newsgroup(s).