Re: [RFC PATCH 00/17] virtual-bus

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
From: Gregory Haskins
Date: Thursday, April 2, 2009 - 5:22 am

Avi Kivity wrote:
Well, shm_signals is what I designed to be the event mechanism for vbus
devices.  One of the design criteria of shm_signal is that it should
support a variety of environments, such as kvm, but also something like
userspace apps.  So I cannot make assumptions about things like "pci
interrupts", etc.

So if I want to use it in vbus, virtio-ring has to be able to use them,
as opposed to what it does today. Part of this would be a natural fit
for the "kick()" callback in virtio, but there are other problems.  For
one, virtio-ring (IIUC) does its own event-masking directly in the
virtio metadata.  However, really I want the higher layer ring-overlay
to do its masking in terms of the lower-layered shm_signal in order to
work the way I envision this stuff.  If you look at the IOQ
implementation, this is exactly what it does.

To be clear, and Ive stated this in the past: venet is just an example
of this generic, in-kernel concept.  We plan on doing much much more
with all this.  One of the things we are working on is have userspace
clients be able to access this too, with an ultimately goal of
supporting things like having guest-userspace doing bypass, rdma, etc.=20
We are not there yet, though...only the kvm-host to guest kernel is
currently functional and is thus the working example.

I totally "get" the attraction to doing things in userspace.  Its
contained, naturally isolated, easily supports migration, etc.  Its also
a penalty.  Bare-metal userspace apps have a direct path to the kernel
IO.  I want to give guest the same advantage.  Some people will care
more about things like migration than performance, and that is fine.=20
But others will certainly care more about performance, and that is what
we are trying to address.


ys
d

By your own words, the exit to userspace is "prohibitively expensive",
so that is either true or its not.  If its 2 microseconds, show me.  We
need the rtt time to go from a "kick" PIO all the way to queue a packet
on the egress hardware and return.  That is going to define your
latency.  If you can do this such that you can do something like ICMP
ping in 65us (or anything close to a few dozen microseconds of this),
I'll shut-up about how much I think the current path sucks ;)  Even so,
I still propose the concept of a frame-work for in-kernel devices for
all the other reasons I mentioned above.

-Greg
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
[RFC PATCH 00/17] virtual-bus, Gregory Haskins, (Tue Mar 31, 11:42 am)
[RFC PATCH 01/17] shm-signal: shared-memory signals, Gregory Haskins, (Tue Mar 31, 11:42 am)
[RFC PATCH 02/17] vbus: add virtual-bus definitions, Gregory Haskins, (Tue Mar 31, 11:42 am)
[RFC PATCH 04/17] vbus: add bus-registration notifiers, Gregory Haskins, (Tue Mar 31, 11:43 am)
[RFC PATCH 07/17] ioq: add vbus helpers, Gregory Haskins, (Tue Mar 31, 11:43 am)
[RFC PATCH 09/17] net: Add vbus_enet driver, Gregory Haskins, (Tue Mar 31, 11:43 am)
[RFC PATCH 11/17] venet: add scatter-gather support, Gregory Haskins, (Tue Mar 31, 11:43 am)
[RFC PATCH 12/17] venettap: add scatter-gather support, Gregory Haskins, (Tue Mar 31, 11:43 am)
[RFC PATCH 14/17] kvm: add a reset capability, Gregory Haskins, (Tue Mar 31, 11:44 am)
[RFC PATCH 15/17] kvm: add dynamic IRQ support, Gregory Haskins, (Tue Mar 31, 11:44 am)
[RFC PATCH 16/17] kvm: Add VBUS support to the host, Gregory Haskins, (Tue Mar 31, 11:44 am)
[RFC PATCH 17/17] kvm: Add guest-side support for VBUS, Gregory Haskins, (Tue Mar 31, 11:44 am)
Re: [RFC PATCH 15/17] kvm: add dynamic IRQ support, Avi Kivity, (Tue Mar 31, 12:20 pm)
Re: [RFC PATCH 14/17] kvm: add a reset capability, Avi Kivity, (Tue Mar 31, 12:22 pm)
Re: [RFC PATCH 15/17] kvm: add dynamic IRQ support, Gregory Haskins, (Tue Mar 31, 12:39 pm)
Re: [RFC PATCH 14/17] kvm: add a reset capability, Gregory Haskins, (Tue Mar 31, 1:02 pm)
Re: [RFC PATCH 15/17] kvm: add dynamic IRQ support, Avi Kivity, (Tue Mar 31, 1:13 pm)
Re: [RFC PATCH 14/17] kvm: add a reset capability, Avi Kivity, (Tue Mar 31, 1:18 pm)
Re: [RFC PATCH 00/17] virtual-bus, Andi Kleen, (Tue Mar 31, 1:18 pm)
Re: [RFC PATCH 15/17] kvm: add dynamic IRQ support, Gregory Haskins, (Tue Mar 31, 1:32 pm)
Re: [RFC PATCH 14/17] kvm: add a reset capability, Gregory Haskins, (Tue Mar 31, 1:37 pm)
Re: [RFC PATCH 09/17] net: Add vbus_enet driver, Stephen Hemminger, (Tue Mar 31, 1:39 pm)
Re: [RFC PATCH 01/17] shm-signal: shared-memory signals, Gregory Haskins, (Tue Mar 31, 1:58 pm)
Re: [RFC PATCH 15/17] kvm: add dynamic IRQ support, Avi Kivity, (Tue Mar 31, 1:59 pm)
Re: [RFC PATCH 00/17] virtual-bus, Rusty Russell, (Tue Mar 31, 11:08 pm)
Re: [RFC PATCH 00/17] virtual-bus, Gregory Haskins, (Wed Apr 1, 4:35 am)
Re: [RFC PATCH 00/17] virtual-bus, Gregory Haskins, (Wed Apr 1, 5:03 am)
Re: [RFC PATCH 01/17] shm-signal: shared-memory signals, Gregory Haskins, (Wed Apr 1, 5:12 am)
Re: [RFC PATCH 00/17] virtual-bus, Andi Kleen, (Wed Apr 1, 6:23 am)
Re: [RFC PATCH 01/17] shm-signal: shared-memory signals, Gregory Haskins, (Wed Apr 1, 6:57 am)
Re: [RFC PATCH 00/17] virtual-bus, Gregory Haskins, (Wed Apr 1, 7:19 am)
Re: [RFC PATCH 00/17] virtual-bus, Gregory Haskins, (Wed Apr 1, 7:42 am)
Re: [RFC PATCH 00/17] virtual-bus, Anthony Liguori, (Wed Apr 1, 9:10 am)
Re: [RFC PATCH 00/17] virtual-bus, Andi Kleen, (Wed Apr 1, 10:01 am)
Re: [RFC PATCH 00/17] virtual-bus, Anthony Liguori, (Wed Apr 1, 11:45 am)
Re: [RFC PATCH 00/17] virtual-bus, Gregory Haskins, (Wed Apr 1, 1:29 pm)
Re: [RFC PATCH 00/17] virtual-bus, Chris Wright, (Wed Apr 1, 1:40 pm)
Re: [RFC PATCH 00/17] virtual-bus, Gregory Haskins, (Wed Apr 1, 2:09 pm)
Re: [RFC PATCH 00/17] virtual-bus, Andi Kleen, (Wed Apr 1, 3:23 pm)
Re: [RFC PATCH 00/17] virtual-bus, Gregory Haskins, (Wed Apr 1, 4:05 pm)
Re: [RFC PATCH 00/17] virtual-bus, Anthony Liguori, (Wed Apr 1, 5:29 pm)
Re: [RFC PATCH 00/17] virtual-bus, Rusty Russell, (Wed Apr 1, 6:24 pm)
Re: [RFC PATCH 00/17] virtual-bus, Gregory Haskins, (Wed Apr 1, 7:27 pm)
Re: [RFC PATCH 00/17] virtual-bus, Herbert Xu, (Wed Apr 1, 8:09 pm)
Re: [RFC PATCH 00/17] virtual-bus, Gregory Haskins, (Wed Apr 1, 8:11 pm)
Re: [RFC PATCH 00/17] virtual-bus, Herbert Xu, (Wed Apr 1, 8:11 pm)
Re: [RFC PATCH 00/17] virtual-bus, Herbert Xu, (Wed Apr 1, 8:15 pm)
Re: [RFC PATCH 00/17] virtual-bus, Avi Kivity, (Wed Apr 1, 11:46 pm)
Re: [RFC PATCH 00/17] virtual-bus, Avi Kivity, (Wed Apr 1, 11:51 pm)
Re: [RFC PATCH 00/17] virtual-bus, Herbert Xu, (Thu Apr 2, 1:52 am)
Re: [RFC PATCH 00/17] virtual-bus, Herbert Xu, (Thu Apr 2, 1:54 am)
Re: [RFC PATCH 00/17] virtual-bus, Avi Kivity, (Thu Apr 2, 2:02 am)
Re: [RFC PATCH 00/17] virtual-bus, Avi Kivity, (Thu Apr 2, 2:03 am)
Re: [RFC PATCH 00/17] virtual-bus, Herbert Xu, (Thu Apr 2, 2:05 am)
Re: [RFC PATCH 00/17] virtual-bus, Herbert Xu, (Thu Apr 2, 2:16 am)
Re: [RFC PATCH 00/17] virtual-bus, Avi Kivity, (Thu Apr 2, 2:27 am)
Re: [RFC PATCH 00/17] virtual-bus, Herbert Xu, (Thu Apr 2, 2:29 am)
Re: [RFC PATCH 00/17] virtual-bus, Herbert Xu, (Thu Apr 2, 2:33 am)
Re: [RFC PATCH 00/17] virtual-bus, Avi Kivity, (Thu Apr 2, 2:38 am)
Re: [RFC PATCH 00/17] virtual-bus, Herbert Xu, (Thu Apr 2, 2:41 am)
Re: [RFC PATCH 00/17] virtual-bus, Avi Kivity, (Thu Apr 2, 2:43 am)
Re: [RFC PATCH 00/17] virtual-bus, Herbert Xu, (Thu Apr 2, 2:44 am)
Re: [RFC PATCH 00/17] virtual-bus, Gregory Haskins, (Thu Apr 2, 3:46 am)
Re: [RFC PATCH 00/17] virtual-bus, Gregory Haskins, (Thu Apr 2, 3:55 am)
Re: [RFC PATCH 00/17] virtual-bus, Gregory Haskins, (Thu Apr 2, 4:06 am)
Re: [RFC PATCH 00/17] virtual-bus, Avi Kivity, (Thu Apr 2, 4:43 am)
Re: [RFC PATCH 09/17] net: Add vbus_enet driver, Gregory Haskins, (Thu Apr 2, 4:43 am)
Re: [RFC PATCH 00/17] virtual-bus, Avi Kivity, (Thu Apr 2, 4:48 am)
Re: [RFC PATCH 00/17] virtual-bus, Avi Kivity, (Thu Apr 2, 4:59 am)
Re: [RFC PATCH 00/17] virtual-bus, Rusty Russell, (Thu Apr 2, 5:13 am)
Re: [RFC PATCH 00/17] virtual-bus, Gregory Haskins, (Thu Apr 2, 5:22 am)
Re: [RFC PATCH 00/17] virtual-bus, Gregory Haskins, (Thu Apr 2, 5:30 am)
Re: [RFC PATCH 00/17] virtual-bus, Avi Kivity, (Thu Apr 2, 5:42 am)
Re: [RFC PATCH 00/17] virtual-bus, Avi Kivity, (Thu Apr 2, 5:43 am)
Re: [RFC PATCH 00/17] virtual-bus, Gregory Haskins, (Thu Apr 2, 5:50 am)
Re: [RFC PATCH 00/17] virtual-bus, Gregory Haskins, (Thu Apr 2, 5:52 am)
Re: [RFC PATCH 00/17] virtual-bus, Gregory Haskins, (Thu Apr 2, 5:54 am)
Re: [RFC PATCH 00/17] virtual-bus, Gregory Haskins, (Thu Apr 2, 6:03 am)
Re: [RFC PATCH 00/17] virtual-bus, Avi Kivity, (Thu Apr 2, 6:07 am)
Re: [RFC PATCH 00/17] virtual-bus, Avi Kivity, (Thu Apr 2, 6:08 am)
Re: [RFC PATCH 00/17] virtual-bus, Gregory Haskins, (Thu Apr 2, 6:22 am)
Re: [RFC PATCH 00/17] virtual-bus, Avi Kivity, (Thu Apr 2, 6:27 am)
Re: [RFC PATCH 00/17] virtual-bus, Gregory Haskins, (Thu Apr 2, 6:36 am)
Re: [RFC PATCH 00/17] virtual-bus, Avi Kivity, (Thu Apr 2, 6:45 am)
Re: [RFC PATCH 00/17] virtual-bus, Gregory Haskins, (Thu Apr 2, 7:05 am)
Re: [RFC PATCH 00/17] virtual-bus, Gregory Haskins, (Thu Apr 2, 7:24 am)
Re: [RFC PATCH 00/17] virtual-bus, Avi Kivity, (Thu Apr 2, 7:32 am)
Re: [RFC PATCH 00/17] virtual-bus, Avi Kivity, (Thu Apr 2, 7:41 am)
Re: [RFC PATCH 00/17] virtual-bus, Anthony Liguori, (Thu Apr 2, 7:49 am)
Re: [RFC PATCH 00/17] virtual-bus, Herbert Xu, (Thu Apr 2, 7:50 am)
Re: [RFC PATCH 00/17] virtual-bus, Avi Kivity, (Thu Apr 2, 8:00 am)
Re: [RFC PATCH 00/17] virtual-bus, Michael S. Tsirkin, (Thu Apr 2, 8:10 am)
Re: [RFC PATCH 00/17] virtual-bus, Herbert Xu, (Thu Apr 2, 8:40 am)
Re: [RFC PATCH 00/17] virtual-bus, Avi Kivity, (Thu Apr 2, 8:57 am)
Re: [RFC PATCH 02/17] vbus: add virtual-bus definitions, Ben Hutchings, (Thu Apr 2, 9:06 am)
Re: [RFC PATCH 00/17] virtual-bus, Anthony Liguori, (Thu Apr 2, 9:09 am)
Re: [RFC PATCH 00/17] virtual-bus, Herbert Xu, (Thu Apr 2, 9:09 am)
Re: [RFC PATCH 00/17] virtual-bus, Avi Kivity, (Thu Apr 2, 9:19 am)
Re: [RFC PATCH 00/17] virtual-bus, Avi Kivity, (Thu Apr 2, 9:54 am)
Re: [RFC PATCH 00/17] virtual-bus, Herbert Xu, (Thu Apr 2, 10:06 am)
Re: [RFC PATCH 00/17] virtual-bus, Herbert Xu, (Thu Apr 2, 10:17 am)
Re: [RFC PATCH 02/17] vbus: add virtual-bus definitions, Gregory Haskins, (Thu Apr 2, 11:13 am)
Re: [RFC PATCH 00/17] virtual-bus, Anthony Liguori, (Thu Apr 2, 11:18 am)
Re: [RFC PATCH 00/17] virtual-bus, Herbert Xu, (Thu Apr 2, 6:11 pm)
Re: [RFC PATCH 00/17] virtual-bus, Jeremy Fitzhardinge, (Thu Apr 2, 9:43 pm)
Re: [RFC PATCH 00/17] virtual-bus, Gerd Hoffmann, (Fri Apr 3, 3:58 am)
Re: [RFC PATCH 00/17] virtual-bus, Avi Kivity, (Fri Apr 3, 4:03 am)
Re: [RFC PATCH 00/17] virtual-bus, Herbert Xu, (Fri Apr 3, 4:12 am)
Re: [RFC PATCH 00/17] virtual-bus, Andi Kleen, (Fri Apr 3, 4:18 am)
Re: [RFC PATCH 00/17] virtual-bus, Gregory Haskins, (Fri Apr 3, 4:28 am)
Re: [RFC PATCH 00/17] virtual-bus, Herbert Xu, (Fri Apr 3, 4:34 am)
Re: [RFC PATCH 00/17] virtual-bus, Avi Kivity, (Fri Apr 3, 4:46 am)
Re: [RFC PATCH 00/17] virtual-bus, Avi Kivity, (Fri Apr 3, 4:46 am)
Re: [RFC PATCH 00/17] virtual-bus, Herbert Xu, (Fri Apr 3, 4:48 am)
Re: [RFC PATCH 00/17] virtual-bus, Avi Kivity, (Fri Apr 3, 4:54 am)
Re: [RFC PATCH 00/17] virtual-bus, Herbert Xu, (Fri Apr 3, 4:55 am)
Re: [RFC PATCH 00/17] virtual-bus, Avi Kivity, (Fri Apr 3, 5:02 am)
Re: [RFC PATCH 00/17] virtual-bus, Gregory Haskins, (Fri Apr 3, 5:03 am)
Re: [RFC PATCH 00/17] virtual-bus, Avi Kivity, (Fri Apr 3, 5:15 am)
Re: [RFC PATCH 00/17] virtual-bus, Avi Kivity, (Fri Apr 3, 5:25 am)
Re: [RFC PATCH 00/17] virtual-bus, Herbert Xu, (Fri Apr 3, 6:05 am)
Re: [RFC PATCH 00/17] virtual-bus, Gregory Haskins, (Fri Apr 3, 6:13 am)
Re: [RFC PATCH 00/17] virtual-bus, Avi Kivity, (Fri Apr 3, 6:37 am)
Re: [RFC PATCH 00/17] virtual-bus, Gregory Haskins, (Fri Apr 3, 9:28 am)
Re: [RFC PATCH 00/17] virtual-bus, Rusty Russell, (Sat Apr 4, 8:44 pm)
Re: [RFC PATCH 00/17] virtual-bus, Avi Kivity, (Sun Apr 5, 1:06 am)
Re: [RFC PATCH 00/17] virtual-bus, Avi Kivity, (Sun Apr 5, 3:00 am)
Re: [RFC PATCH 00/17] virtual-bus, Anthony Liguori, (Sun Apr 5, 7:13 am)
Re: [RFC PATCH 00/17] virtual-bus, Avi Kivity, (Sun Apr 5, 9:10 am)
Re: [RFC PATCH 00/17] virtual-bus, Anthony Liguori, (Sun Apr 5, 9:45 am)
Re: [kvm] Re: [RFC PATCH 00/17] virtual-bus, Alex Williamson, (Mon Apr 20, 11:02 am)