Re: [PATCH 14/18] virtio: add api for delayed callbacks

2011-05-19 Thread Michael S. Tsirkin
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 m...@redhat.com 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 m...@redhat.com wrote:

Re: [PATCH 09/18] virtio: use avail_event index

2011-05-19 Thread Michael S. Tsirkin
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 m...@redhat.com wrote: Well one can imagine a driver doing: while (virtqueue_get_buf()) { virtqueue_add_buf() } virtqueue_kick() which

Re: [PATCH] arch/tile: add /proc/tile, /proc/sys/tile, and a sysfs cpu attribute

2011-05-19 Thread Arnd Bergmann
(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 (copious) free

[PATCH RFC] virtio_ring: fix delayed enable cb implementation

2011-05-19 Thread Michael S. Tsirkin
Fix some signed/assigned mistakes in virtqueue_enable_cb_delayed by using u16 math all over. Signed-off-by: Michael S. Tsirkin m...@redhat.com --- 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

vmbus driver

2011-05-19 Thread K. Y. Srinivasan
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

[PATCHv2 01/14] virtio: event index interface

2011-05-19 Thread Michael S. Tsirkin
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 m...@redhat.com --- include/linux/virtio_ring.h | 15 ++- 1 files changed, 14 insertions(+), 1

[PATCHv2 02/14] virtio ring: inline function to check for events

2011-05-19 Thread Michael S. Tsirkin
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

[PATCHv2 00/14] virtio and vhost-net performance enhancements

2011-05-19 Thread Michael S. Tsirkin
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

[PATCHv2 03/14] virtio_ring: support event idx feature

2011-05-19 Thread Michael S. Tsirkin
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

[PATCHv2 05/14] virtio_test: support event index

2011-05-19 Thread Michael S. Tsirkin
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 ---

[PATCHv2 04/14] vhost: support event index

2011-05-19 Thread Michael S. Tsirkin
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 m...@redhat.com --- drivers/vhost/net.c | 12 ++-- drivers/vhost/test.c |6 +- drivers/vhost/vhost.c | 138

[PATCHv2 06/14] virtio: add api for delayed callbacks

2011-05-19 Thread Michael S. Tsirkin
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

[PATCHv2 07/14] virtio_net: delay TX callbacks

2011-05-19 Thread Michael S. Tsirkin
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 m...@redhat.com --- drivers/net/virtio_net.c |2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/drivers/net/virtio_net.c

[PATCHv2 08/14] virtio_ring: Add capacity check API

2011-05-19 Thread Michael S. Tsirkin
From: Shirley Ma mashi...@us.ibm.com Signed-off-by: Shirley Ma x...@us.ibm.com Signed-off-by: Michael S. Tsirkin m...@redhat.com --- drivers/virtio/virtio_ring.c |8 include/linux/virtio.h |5 + 2 files changed, 13 insertions(+), 0 deletions(-) diff --git

[PATCHv2 09/14] virtio_net: fix TX capacity checks using new API

2011-05-19 Thread Michael S. Tsirkin
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 m...@redhat.com --- drivers/net/virtio_net.c |9 - 1 files changed, 4

[PATCHv2 10/14] virtio_net: limit xmit polling

2011-05-19 Thread Michael S. Tsirkin
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

[PATCHv2 11/14] virtio: don't delay avail index update

2011-05-19 Thread Michael S. Tsirkin
Update avail index immediately instead of upon kick: for virtio-net RX this helps parallelism with the host. Signed-off-by: Michael S. Tsirkin m...@redhat.com --- drivers/virtio/virtio_ring.c | 28 +++- 1 files changed, 19 insertions(+), 9 deletions(-) diff --git

[PATCHv2 13/14] virtio_test: update for 64 bit features

2011-05-19 Thread Michael S. Tsirkin
Extend the virtio_test tool so it can work with 64 bit features. Signed-off-by: Michael S. Tsirkin m...@redhat.com --- 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

[PATCHv2 12/14] virtio: 64 bit features

2011-05-19 Thread Michael S. Tsirkin
Extend features to 64 bit so we can use more transport bits. Signed-off-by: Michael S. Tsirkin m...@redhat.com --- drivers/lguest/lguest_device.c |8 drivers/s390/kvm/kvm_virtio.c |8 drivers/virtio/virtio.c|8 drivers/virtio/virtio_pci.c| 34

[PATCHv2 14/14] vhost: fix 64 bit features

2011-05-19 Thread Michael S. Tsirkin
Update vhost_has_feature to make it work correctly for bit 32. Signed-off-by: Michael S. Tsirkin m...@redhat.com --- 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

Re: [PATCHv2 00/14] virtio and vhost-net performance enhancements

2011-05-19 Thread David Miller
From: Michael S. Tsirkin m...@redhat.com 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

[PATCHv2 0/2] virtio-net: 64 bit features, event index

2011-05-19 Thread Michael S. Tsirkin
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

[PATCHv2 1/2] virtio/vhost: support 64 bit features

2011-05-19 Thread Michael S. Tsirkin
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 m...@redhat.com --- hw/qdev-properties.c | 39 hw/qdev.h | 10 +

[PATCHv2 2/2] virtio+vhost: event idx feature

2011-05-19 Thread 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 m...@redhat.com --- hw/vhost_net.c |6 hw/virtio.c| 92 ++- hw/virtio.h|9

Re: [PATCH RFC] virtio_net: fix patch: virtio_net: limit xmit polling

2011-05-19 Thread Rusty Russell
On Thu, 19 May 2011 01:01:25 +0300, Michael S. Tsirkin m...@redhat.com 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