On Thu, 19 May 2011 01:01:25 +0300, "Michael S. Tsirkin"
wrote:
> The patch virtio_net: limit xmit polling
> got the logic reversed: it polled while we had
> capacity not while ring was empty.
>
> Fix it up and clean up a bit by using a for loop.
>
> Signed-off-by: Michael S. Tsirkin
> ---
>
Add support for used_event feature, and utilize it to
reduce the number of interrupts and exits for the guest.
Signed-off-by: Michael S. Tsirkin
---
hw/vhost_net.c |6
hw/virtio.c| 92 ++-
hw/virtio.h|9 +-
3 files ch
Add support for extended feature bits: up to 64 bit.
Only virtio-pci is actually implemented,
s390 and syborg are stubbed out (and untested).
Signed-off-by: Michael S. Tsirkin
---
hw/qdev-properties.c | 39
hw/qdev.h | 10 +
hw/s390-virtio-bus.c |
OK, here's a patch that implements the virtio spec update that I
sent earlier. It supercedes the PUBLISH_USED_IDX patches
I sent out earlier.
Support is added in both userspace and vhost-net.
If you see issues or are just curious, you can
turn the new feature off. For example:
-global virtio-net
From: "Michael S. Tsirkin"
Date: Fri, 20 May 2011 02:10:07 +0300
> Rusty, I think it will be easier to merge vhost and virtio bits in one
> go. Can it all go in through your tree (Dave in the past acked
> sending a very similar patch through you so should not be a problem)?
And in case you want
Update vhost_has_feature to make it work correctly for bit > 32.
Signed-off-by: Michael S. Tsirkin
---
drivers/vhost/vhost.h |8
1 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/drivers/vhost/vhost.h b/drivers/vhost/vhost.h
index 8e03379..64889d2 100644
--- a/drivers/v
Extend features to 64 bit so we can use more
transport bits.
Signed-off-by: Michael S. Tsirkin
---
drivers/lguest/lguest_device.c |8
drivers/s390/kvm/kvm_virtio.c |8
drivers/virtio/virtio.c|8
drivers/virtio/virtio_pci.c| 34 +++
Extend the virtio_test tool so it can work with
64 bit features.
Signed-off-by: Michael S. Tsirkin
---
tools/virtio/virtio_test.c |8 ++--
1 files changed, 6 insertions(+), 2 deletions(-)
diff --git a/tools/virtio/virtio_test.c b/tools/virtio/virtio_test.c
index 74d3331..96cf9bf 100644
Update avail index immediately instead of upon kick:
for virtio-net RX this helps parallelism with the host.
Signed-off-by: Michael S. Tsirkin
---
drivers/virtio/virtio_ring.c | 28 +++-
1 files changed, 19 insertions(+), 9 deletions(-)
diff --git a/drivers/virtio/virt
Current code might introduce a lot of latency variation
if there are many pending bufs at the time we
attempt to transmit a new one. This is bad for
real-time applications and can't be good for TCP either.
Free up just enough to both clean up all buffers
eventually and to be able to xmit the next
virtio net uses the number of sg entries to
check for TX ring capacity freed. But this
gives incorrect results when indirect buffers
are used. Use the new capacity API instead.
Signed-off-by: Michael S. Tsirkin
---
drivers/net/virtio_net.c |9 -
1 files changed, 4 insertions(+), 5 de
>From: Shirley Ma
Signed-off-by: Shirley Ma
Signed-off-by: Michael S. Tsirkin
---
drivers/virtio/virtio_ring.c |8
include/linux/virtio.h |5 +
2 files changed, 13 insertions(+), 0 deletions(-)
diff --git a/drivers/virtio/virtio_ring.c b/drivers/virtio/virtio_ring.c
Ask for delayed callbacks on TX ring full, to give the
other side more of a chance to make progress.
Signed-off-by: Michael S. Tsirkin
---
drivers/net/virtio_net.c |2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/drivers/net/virtio_net.c b/drivers/net/virtio_net.c
index
Add an API that tells the other side that callbacks
should be delayed until a lot of work has been done.
Implement using the new event_idx feature.
Note: it might seem advantageous to let the drivers
ask for a callback after a specific capacity has
been reached. However, as a single head can
free
Support the new event index feature. When acked,
utilize it to reduce the # of interrupts sent to the guest.
Signed-off-by: Michael S. Tsirkin
---
drivers/vhost/net.c | 12 ++--
drivers/vhost/test.c |6 +-
drivers/vhost/vhost.c | 138 +
d
Add ability to test the new event idx feature,
enable by default.
---
tools/virtio/virtio_test.c | 19 +--
1 files changed, 17 insertions(+), 2 deletions(-)
diff --git a/tools/virtio/virtio_test.c b/tools/virtio/virtio_test.c
index df0c6d2..74d3331 100644
--- a/tools/virtio/virt
Support for the new event idx feature:
1. When enabling interrupts, publish the current avail index
value to the host to get interrupts on the next update.
2. Use the new avail_event feature to reduce the number
of exits from the guest.
Simple test with the simulator:
[virtio]# time ./virti
OK, here is the large patchset that implements the virtio spec update
that I sent earlier (the spec itself needs a minor update, will send
that out too next week, but I think we are on the same page here
already). It supercedes the PUBLISH_USED_IDX patches I sent
out earlier.
What will follow will
With the new used_event and avail_event and features, both
host and guest need similar logic to check whether events are
enabled, so it helps to put the common code in the header.
Note that Xen has similar logic for notification hold-off
in include/xen/interface/io/ring.h with req_event and req_pr
Define a new feature bit for the guest and host to utilize
an event index (like Xen) instead if a flag bit to enable/disable
interrupts and kicks.
Signed-off-by: Michael S. Tsirkin
---
include/linux/virtio_ring.h | 15 ++-
1 files changed, 14 insertions(+), 1 deletions(-)
diff --g
Greg,
A few days ago you applied all the outstanding patches for the Hyper-V
drivers. With these patches, I have addressed all of the known review
comments for the vmbus driver (and a lot of comments/issues in other
drivers as well). I am still hoping I can address
whatever other issues/comme
Fix some signed/assigned mistakes in virtqueue_enable_cb_delayed
by using u16 math all over.
Signed-off-by: Michael S. Tsirkin
---
I'll put this on my v1 branch as well
@@ -398,7 +397,7 @@ EXPORT_SYMBOL_GPL(virtqueue_enable_cb);
bool virtqueue_enable_cb_delayed(struct virtqueue *_vq)
{
(adding virtualization mailing list)
On Thursday 19 May 2011, Chris Metcalf wrote:
> On 5/19/2011 9:41 AM, Arnd Bergmann wrote:
> >> /proc/tile/hvconfig
> >> Detailed configuration description of the hypervisor config
>
> I'm concerned about moving this one out of /proc, since it's just (copiou
On Wed, May 18, 2011 at 09:49:42AM +0930, Rusty Russell wrote:
> On Tue, 17 May 2011 09:10:31 +0300, "Michael S. Tsirkin"
> wrote:
> > Well one can imagine a driver doing:
> >
> > while (virtqueue_get_buf()) {
> > virtqueue_add_buf()
> > }
> > virtqueue_kick()
> >
> > wh
On Mon, May 16, 2011 at 04:43:21PM +0930, Rusty Russell wrote:
> On Sun, 15 May 2011 15:48:18 +0300, "Michael S. Tsirkin"
> wrote:
> > On Mon, May 09, 2011 at 03:27:33PM +0930, Rusty Russell wrote:
> > > On Wed, 4 May 2011 23:52:33 +0300, "Michael S. Tsirkin"
> > > wrote:
> > > > Add an API tha
25 matches
Mail list logo