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: 106+ 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-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 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.