Hello Michael:
The shutdown case is useful but the patch does really similar work to
vm.destroy(). Maybe we could simple let the preprocess progress to
shutdown all the vms just like:
- shutdown: install setup
vms = ''
Michael Goldish 写道:
> The shutdown test logs into a VM and s
test - Reviewed
2) Step file tests: introducing a new feature and some small changes - Reviewed
3) Introducing kvm_subprocess - Reviewed
Jason Wang (jasow...@redhat.com)
1) TAP network support in kvm-autotest
This patch move the used ring initialization after backend was set. This make us
possible to disable the backend and tweak the used ring then restart. And it's
also useful for log setting as used ring have been checked then.
Signed-off-by: Jason Wang
---
drivers/vhost/net.c |
We need set log when updating used flags and avail event. Otherwise guest may
see stale values after migration and then do not exit or exit unexpectedly.
Signed-off-by: Jason Wang
---
drivers/vhost/vhost.c | 61 +++--
1 files changed, 48 insertions
t log when updating used flags and avail event. Otherwise guest may
see stale values after migration and then do not exit or exit unexpectedly.
Signed-off-by: Jason Wang
OK but this means we set the log twice now.
Also, hardcording offset is not as nice as using
vhost_avail_event. So I think the bel
As we've moved socket related structure to
file->private_data, we can separate system calls that only
touch tfile from others as they don't need hold rtnl lock.
Signed-off-by: Jason Wang
---
drivers/net/tun.c | 52 ++--
1 file
Signed-off-by: Jason Wang
---
include/linux/if_tun.h |2 ++
1 files changed, 2 insertions(+), 0 deletions(-)
diff --git a/include/linux/if_tun.h b/include/linux/if_tun.h
index 06b1829..c92a291 100644
--- a/include/linux/if_tun.h
+++ b/include/linux/if_tun.h
@@ -34,6 +34,7 @@
#define
for
multiqueue tap device. And RCU is used for doing
synchronization between packet handling and system calls
such as removing queues.
Currently, multiqueue support is limited for tap , but it's
easy also enable it for tun if we find it was also helpful.
Signed-off-by: Jason Wang
---
dr
file could be re-attach to the
tap device as a queue again.
After those ioctls were added, userspace can create a
multiqueue tap device by open /dev/net/tap and call
TUNSETIFF, then it could easily control the number of queues
through TUNATTACHQUEUE and TUNDETACHQUEUE.
Signed-off-by: Jason Wang
ket transmission of small packets.
- addressing the comments of virtio-net driver
- performance tunning
Please review and comment it, Thanks.
---
Jason Wang (5):
tuntap: move socket/sock related structures to tun_file
tuntap: categorize ioctl
tuntap: introduce multiqueue r
to be attached to a single tap device.
Signed-off-by: Jason Wang
---
drivers/net/tun.c | 349 +++--
1 files changed, 180 insertions(+), 169 deletions(-)
diff --git a/drivers/net/tun.c b/drivers/net/tun.c
index 71f3d1a..2739887 100644
--- a
From: Krishna Kumar
Move queue_index from virtio_pci_vq_info to virtqueue. This
allows callback handlers to figure out the queue number for
the vq that needs attention.
Signed-off-by: Krishna Kumar
---
drivers/virtio/virtio_pci.c | 10 +++---
include/linux/virtio.h |1 +
2 file
From: Krishna Kumar
Implement mq virtio-net driver.
Though struct virtio_net_config changes, it works with the old
qemu since the last element is not accessed unless qemu sets
VIRTIO_NET_F_MULTIQUEUE.
Signed-off-by: Krishna Kumar
Signed-off-by: Jason Wang
---
drivers/net/virtio_net.c
Jason Wang writes:
> As multi-queue nics were commonly used for high-end servers,
> current single queue based tap can not satisfy the
> requirement of scaling guest network performance as the
> numbers of vcpus increase. So the following series
> implements multiple queue sup
- Original Message -
> On Fri, 2011-08-12 at 09:55 +0800, Jason Wang wrote:
> > From: Krishna Kumar
> >
> > Implement mq virtio-net driver.
> >
> > Though struct virtio_net_config changes, it works with the old
> > qemu since the last e
- Original Message -
> Le vendredi 12 août 2011 à 09:55 +0800, Jason Wang a écrit :
>
> >+ rxq = skb_get_rxhash(skb);
> >+ if (rxq) {
> >+ tfile = rcu_dereference(tun->tfiles[rxq % numqueues]);
> >+ if (tfile)
> >+ goto out;
> >+ }
>
&g
- Original Message -
> On Fri, Aug 12, 2011 at 09:55:20AM +0800, Jason Wang wrote:
> > With the abstraction that each socket were a backend of a
> > queue for userspace, this patch adds multiqueue support for
> > tap device by allowing multiple sockets to be attache
- Original Message -
> On Fri, 2011-08-12 at 09:54 +0800, Jason Wang wrote:
> > As multi-queue nics were commonly used for high-end servers,
> > current single queue based tap can not satisfy the
> > requirement of scaling guest network performance as the
> >
On 07/07/2012 12:23 AM, Rick Jones wrote:
On 07/06/2012 12:42 AM, Jason Wang wrote:
I'm not expert of tcp, but looks like the changes are reasonable:
- we can do full-sized TSO check in tcp_tso_should_defer() only for
westwood, according to tcp westwood
- run tcp_tso_should_defer for tso
On 07/08/2012 04:19 PM, Ronen Hod wrote:
On 07/05/2012 01:29 PM, Jason Wang wrote:
Hello All:
This series is an update version of multiqueue virtio-net driver
based on
Krishna Kumar's work to let virtio-net use multiple rx/tx queues to
do the
packets reception and transmission. P
On 07/20/2012 08:33 PM, Michael S. Tsirkin wrote:
On Thu, Jul 05, 2012 at 06:29:54PM +0800, Jason Wang wrote:
This patch let the virtio_net driver can negotiate the number of queues it
wishes to use through control virtqueue and export an ethtool interface to let
use tweak it.
As current
On 07/20/2012 09:40 PM, Michael S. Tsirkin wrote:
On Thu, Jul 05, 2012 at 06:29:53PM +0800, Jason Wang wrote:
This patch converts virtio_net to a multi queue device. After negotiated
VIRTIO_NET_F_MULTIQUEUE feature, the virtio device has many tx/rx queue pairs,
and driver could read the number
On 07/21/2012 08:02 PM, Sasha Levin wrote:
On 07/20/2012 03:40 PM, Michael S. Tsirkin wrote:
- err = init_vqs(vi);
+ if (virtio_has_feature(vdev, VIRTIO_NET_F_CTRL_VQ))
+ vi->has_cvq = true;
+
How about we disable multiqueue if there's no cvq?
Will make logic a bit si
On 07/29/2012 05:44 PM, Michael S. Tsirkin wrote:
On Sat, Jul 21, 2012 at 02:02:58PM +0200, Sasha Levin wrote:
On 07/20/2012 03:40 PM, Michael S. Tsirkin wrote:
- err = init_vqs(vi);
+ if (virtio_has_feature(vdev, VIRTIO_NET_F_CTRL_VQ))
+ vi->has_cvq = true;
+
How ab
On 07/23/2012 05:28 PM, Sasha Levin wrote:
On 07/23/2012 07:54 AM, Jason Wang wrote:
On 07/21/2012 08:02 PM, Sasha Levin wrote:
On 07/20/2012 03:40 PM, Michael S. Tsirkin wrote:
-err = init_vqs(vi);
+if (virtio_has_feature(vdev, VIRTIO_NET_F_CTRL_VQ))
+vi->has_cvq = t
On 07/26/2012 04:20 PM, Paolo Bonzini wrote:
Il 05/07/2012 13:40, Sasha Levin ha scritto:
@@ -275,7 +274,7 @@ static void vm_del_vq(struct virtqueue *vq)
vring_del_virtqueue(vq);
/* Select and deactivate the queue */
- writel(info->queue_index, vm_dev->base + VIRTIO_MMIO
On 07/29/2012 05:50 PM, Michael S. Tsirkin wrote:
On Mon, Jul 23, 2012 at 01:48:35PM +0800, Jason Wang wrote:
+ }
- if (virtio_has_feature(vi->vdev, VIRTIO_NET_F_CTRL_VQ)) {
+ ret = vi->vdev->config->find_vqs(vi->vdev, total_vqs,
On 08/28/2012 07:54 PM, Paolo Bonzini wrote:
From: Jason Wang
Instead of storing the queue index in transport-specific virtio structs,
this patch moves them to vring_virtqueue and introduces an helper to get
the value. This lets drivers simplify their management and tracing of
virtqueues
sion for multiple sessions. More
reasonable method is needed.
Please comment, thanks. Any suggestions are welcomed.
---
Jason Wang (5):
tuntap: move socket to tun_file
tuntap: categorize ioctl
tuntap: introduce multiqueue flags
tuntap: multiqueue support
tuntap: add i
: Jason Wang
---
drivers/net/tun.c | 347 +++--
1 files changed, 178 insertions(+), 169 deletions(-)
diff --git a/drivers/net/tun.c b/drivers/net/tun.c
index 7bea9c6..b64ad05 100644
--- a/drivers/net/tun.c
+++ b/drivers/net/tun.c
@@ -109,9 +109,16
As we've moved socket related structure to file->private_data, we move
the ioctls that only touch socket out of tun_chr_ioctl() as it don't
need hold rtnl lock.
Signed-off-by: Jason Wang
---
drivers/net/tun.c | 52 ++--
1 file
NETIF_F_LLTX to synchronize between hot path
and systemcall.
Signed-off-by: Jason Wang
---
drivers/net/tun.c | 358 +
1 files changed, 223 insertions(+), 135 deletions(-)
diff --git a/drivers/net/tun.c b/drivers/net/tun.c
index dc768e0..ec29f85
New ioctls were added to let multiple files/sockets to be attached to
a tap device.
Signed-off-by: Jason Wang
---
drivers/net/tun.c | 25 ++---
include/linux/if_tun.h |3 +++
2 files changed, 25 insertions(+), 3 deletions(-)
diff --git a/drivers/net/tun.c b
Add flags to be used by creating multiqueue tuntap device.
Signed-off-by: Jason Wang
---
include/linux/if_tun.h |2 ++
1 files changed, 2 insertions(+), 0 deletions(-)
diff --git a/include/linux/if_tun.h b/include/linux/if_tun.h
index 06b1829..c92a291 100644
--- a/include/linux/if_tun.h
On 09/18/2011 03:17 AM, Michael S. Tsirkin wrote:
On Sat, Sep 17, 2011 at 02:02:04PM +0800, Jason Wang wrote:
A wiki-page was created to narrate the detail design of all parts
involved in the multi queue implementation:
http://www.linux-kvm.org/page/Multiqueue and some basic tests result
could
add a
model specific fucntion which can let nic model to implement its own
announce function and then implement a virtio-net specific function to
let guest send the gratitous packet.
Only basic test were done.
Comments are welcomed.
Thanks
---
Jason Wang (4):
announce self after vm start
entry may not existed because of
aging. This patch solve this by call qemu_announce_self() in
vm_start() instead of in process_incoming_migration(). Through this,
gratituous packets were sent each time when vm starts.
Signed-off-by: Jason Wang
---
migration.c |1 -
vl.c|1 +
2
Export and move announce_self_create() to net.c in order to be used by model
specific announcing function.
Signed-off-by: Jason Wang
---
net.c| 31 +++
net.h|1 +
savevm.c | 32
3 files changed, 32 insertions(+), 32
: Jason Wang
---
net.h|2 ++
savevm.c |8 +---
2 files changed, 7 insertions(+), 3 deletions(-)
diff --git a/net.h b/net.h
index 4943d4b..1845f01 100644
--- a/net.h
+++ b/net.h
@@ -46,6 +46,7 @@ typedef ssize_t (NetReceive)(VLANClientState *, const uint8_t
*, size_t);
typedef
tself
( such as sending gratituous packets ) through config update
interrupt. When gust have done the annoucement, it should clear that
bit.
Signed-off-by: Jason Wang
---
hw/virtio-net.c | 20 +++-
hw/virtio-net.h |2 ++
2 files changed, 21 insertions(+), 1 deletions(-)
diff
bit VIRTIO_NET_F_GUEST_ANNOUNCE.
Signed-off-by: Jason Wang
---
drivers/net/virtio_net.c | 31 ++-
include/linux/virtio_net.h |2 ++
2 files changed, 32 insertions(+), 1 deletions(-)
diff --git a/drivers/net/virtio_net.c b/drivers/net/virtio_net.c
index b8225f3
On 10/24/2011 01:25 PM, Michael S. Tsirkin wrote:
> On Mon, Oct 24, 2011 at 02:54:59PM +1030, Rusty Russell wrote:
>> On Sat, 22 Oct 2011 13:43:11 +0800, Jason Wang wrote:
>>> This make let virtio-net driver can send gratituous packet by a new
>>> config bit - VIRTIO_NE
On 10/25/2011 11:41 PM, Michael S. Tsirkin wrote:
> On Tue, Oct 25, 2011 at 10:50:41AM +0800, Jason Wang wrote:
>> On 10/24/2011 01:25 PM, Michael S. Tsirkin wrote:
>>> On Mon, Oct 24, 2011 at 02:54:59PM +1030, Rusty Russell wrote:
>>>> On Sat, 22 Oct 2011 13:
. When
guest notice this, it should clear it and send the gratuitous packet.
Signed-off-by: Jason Wang
---
virtio-spec.lyx | 45 -
1 files changed, 44 insertions(+), 1 deletions(-)
diff --git a/virtio-spec.lyx b/virtio-spec.lyx
index 6426f8f..87733b9
On 10/27/2011 09:32 AM, Rusty Russell wrote:
> On Wed, 26 Oct 2011 16:49:12 +0800, Jason Wang wrote:
>> Network connections in guest need to be kept after migration. This is done by
>> sending gratuitous packet and let switch learn new port of the mac
>> address. As hypervi
unused patch of function export.
- Typos and other comments from Stefan Hajnoczi.
- Disable guest announce for compat machine types.
---
Jason Wang (4):
announce self after vm start
net: model specific announcing support
virtio-net: notify guest to annouce itself
virtio-net
gratuitous packet by guest may change the
state of device, so we need to do it after vm is started.
Signed-off-by: Jason Wang
---
gdbstub.c |2 +-
migration.c |4 ++--
monitor.c |4 ++--
savevm.c|2 +-
sysemu.h|2 +-
vl.c|7 +--
6 files changed, 12
This patch introduces a function pointer in NetClientInfo which is
called during self announcement to do the model specific announcing.
The first user would be virtio-net.
Signed-off-by: Jason Wang
---
net.h|2 ++
savevm.c |8 +---
2 files changed, 7 insertions(+), 3 deletions
f its link through config update interrupt. When gust have
done the annoucement, it should clear that bit.
The feature is negotiated by bit VIRTIO_NET_F_ANNOUNCE.
Signed-off-by: Jason Wang
---
hw/virtio-net.c | 18 +-
hw/virtio-net.h |3 +++
2 files changed, 20 insertions(
Disable guest announce for compat machine types.
Signed-off-by: Jason Wang
---
hw/pc_piix.c | 16
1 files changed, 16 insertions(+), 0 deletions(-)
diff --git a/hw/pc_piix.c b/hw/pc_piix.c
index 8c7f2b7..6ca50a6 100644
--- a/hw/pc_piix.c
+++ b/hw/pc_piix.c
@@ -340,6 +340,10
queue would be scheduled to send gratuitous
packet through NETDEV_NOTIFY_PEERS.
This feature is negotiated through bit VIRTIO_NET_F_GUEST_ANNOUNCE.
Changes from v2:
- Fix the race between unregister_dev() and workqueue
Signed-off-by: Jason Wang
---
drivers/net/virtio_net.c |
On 11/15/2011 12:44 PM, Krishna Kumar2 wrote:
> Sasha Levin wrote on 11/14/2011 03:45:40 PM:
>
>>> Why both the bandwidth and latency performance are dropping so
>>> dramatically with multiple VQ?
>> It looks like theres no hash sync between host and guest, which makes
>> the RX VQ change for ever
On 11/16/2011 05:09 PM, Krishna Kumar2 wrote:
> jason wang wrote on 11/16/2011 11:40:45 AM:
>
> Hi Jason,
>
>> Have any thought in mind to solve the issue of flow handling?
> So far nothing concrete.
>
>> Maybe some performance numbers first is better, it would let u
No need to check the support of mergeable buffer inside the recevie
loop as the whole handle_rx()_xx is in the read critical region. So
this patch move it ahead of the receiving loop.
Signed-off-by: Jason Wang
---
drivers/vhost/net.c |5 +++--
1 files changed, 3 insertions(+), 2 deletions
buffers, the quota is just 1), and then the
previous handle_rx_mergeable() could be resued also for big buffers.
Signed-off-by: Jason Wang
---
drivers/vhost/net.c | 128 +++
1 files changed, 7 insertions(+), 121 deletions(-)
diff --git a/drivers
We can use lock_sock_fast() instead of lock_sock() in order to get
speedup in peek_head_len().
Signed-off-by: Jason Wang
---
drivers/vhost/net.c |4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/vhost/net.c b/drivers/vhost/net.c
index c32a2e4..50b622a 100644
Michael S. Tsirkin writes:
> On Mon, Jan 17, 2011 at 04:11:08PM +0800, Jason Wang wrote:
> > Codes duplication were found between the handling of mergeable and big
> > buffers, so this patch tries to unify them. This could be easily done
> > by adding a quota to the get_rx
Michael S. Tsirkin writes:
> On Mon, Jan 17, 2011 at 04:10:59PM +0800, Jason Wang wrote:
> > No need to check the support of mergeable buffer inside the recevie
> > loop as the whole handle_rx()_xx is in the read critical region. So
> > this patch move it ahead
Michael S. Tsirkin writes:
> On Tue, Jan 18, 2011 at 11:05:33AM +0800, Jason Wang wrote:
> > Michael S. Tsirkin writes:
> > > On Mon, Jan 17, 2011 at 04:11:08PM +0800, Jason Wang wrote:
> > > > Codes duplication were found between the handling of mergeable and
Michael S. Tsirkin writes:
> On Tue, Jan 18, 2011 at 12:26:17PM +0800, Jason Wang wrote:
> > Michael S. Tsirkin writes:
> > > On Mon, Jan 17, 2011 at 04:10:59PM +0800, Jason Wang wrote:
> > > > No need to check the support of mergeable buffer inside the recev
Lucas Meneghel Rodrigues writes:
> A method to verify guest kernel panics can be very
> useful for a number of tests. Adapted from a function
> present on virtio_console test, create VM.verify_kernel_crash()
> and use it on unattended_install.
>
How about using a thread to monitor the serial
- An alternative idea instead of shared page is ctrl vq, the reason
that a shared table is preferable is the delay of ctrl vq itself.
- Optimization on irq affinity and tx queue selection
Comments are welcomed, thanks!
---
Jason Wang (5):
virtio_net: passing rxhash through vnet_hdr
t
This patch enables the ability to pass the rxhash value to guest
through vnet_hdr. This is useful for guest when it wants to cooperate
with virtual device to steer a flow to dedicated guest cpu.
This feature is negotiated through VIRTIO_NET_F_GUEST_RXHASH.
Signed-off-by: Jason Wang
---
drivers
set through a new kind of ioctl - TUNSETFD and
were pinned until device exit or another new page were specified.
Signed-off-by: Jason Wang
---
drivers/net/tun.c | 63
include/linux/if_tun.h | 10
2 files changed, 62 insertions
Signed-off-by: Jason Wang
---
drivers/net/macvlan.c |4
drivers/net/macvtap.c | 36 ++--
include/linux/if_macvlan.h |1 +
3 files changed, 39 insertions(+), 2 deletions(-)
diff --git a/drivers/net/macvlan.c b/drivers/net/macvlan.c
index
Device specific irq configuration may be need in order to do some
optimization. So a new configuration is needed to get the irq of a
virtqueue.
Signed-off-by: Jason Wang
---
drivers/lguest/lguest_device.c |8
drivers/s390/kvm/kvm_virtio.c |6 ++
drivers/virtio
use the guest scheduler to
balance the load of TX and reduce the lock contention on egress path,
so the processor_id() were used to tx queue selection.
Signed-off-by: Jason Wang
---
drivers/net/virtio_net.c | 165 +++-
include/linux/virtio_net.h |6
On 12/05/2011 06:55 PM, Stefan Hajnoczi wrote:
On Mon, Dec 5, 2011 at 8:59 AM, Jason Wang wrote:
+static int virtnet_set_fd(struct net_device *dev, u32 pfn)
+{
+ struct virtnet_info *vi = netdev_priv(dev);
+ struct virtio_device *vdev = vi->vdev;
+
+ if (virtio_has_feat
On 12/06/2011 04:09 AM, Ben Hutchings wrote:
On Mon, 2011-12-05 at 16:58 +0800, Jason Wang wrote:
This patch adds a simple flow director to tun/tap device. It is just a
page that contains the hash to queue mapping which could be changed by
user-space. The backend (tap/macvtap) would query this
On 12/06/2011 04:42 AM, Ben Hutchings wrote:
On Mon, 2011-12-05 at 16:59 +0800, Jason Wang wrote:
In order to let the packets of a flow to be passed to the desired
guest cpu, we can co-operate with devices through programming the flow
director which was just a hash to queue table.
This kinds
On 12/06/2011 05:18 PM, Stefan Hajnoczi wrote:
On Tue, Dec 6, 2011 at 6:33 AM, Jason Wang wrote:
On 12/05/2011 06:55 PM, Stefan Hajnoczi wrote:
On Mon, Dec 5, 2011 at 8:59 AM, Jason Wangwrote:
+static int virtnet_set_fd(struct net_device *dev, u32 pfn)
+{
+ struct virtnet_info *vi
On 12/06/2011 09:15 PM, Stefan Hajnoczi wrote:
On Tue, Dec 6, 2011 at 10:21 AM, Jason Wang wrote:
On 12/06/2011 05:18 PM, Stefan Hajnoczi wrote:
On Tue, Dec 6, 2011 at 6:33 AM, Jason Wangwrote:
On 12/05/2011 06:55 PM, Stefan Hajnoczi wrote:
On Mon, Dec 5, 2011 at 8:59 AM, Jason Wang
On 12/06/2011 11:42 PM, Sridhar Samudrala wrote:
On 12/6/2011 5:15 AM, Stefan Hajnoczi wrote:
On Tue, Dec 6, 2011 at 10:21 AM, Jason Wang wrote:
On 12/06/2011 05:18 PM, Stefan Hajnoczi wrote:
On Tue, Dec 6, 2011 at 6:33 AM, Jason Wang
wrote:
On 12/05/2011 06:55 PM, Stefan Hajnoczi wrote
On 12/07/2011 07:10 AM, Sridhar Samudrala wrote:
On 12/6/2011 8:14 AM, Michael S. Tsirkin wrote:
On Tue, Dec 06, 2011 at 07:42:54AM -0800, Sridhar Samudrala wrote:
On 12/6/2011 5:15 AM, Stefan Hajnoczi wrote:
On Tue, Dec 6, 2011 at 10:21 AM, Jason Wang
wrote:
On 12/06/2011 05:18 PM, Stefan
On 12/07/2011 03:30 PM, Rusty Russell wrote:
On Mon, 05 Dec 2011 16:58:37 +0800, Jason Wang wrote:
multiple queue virtio-net: flow steering through host/guest cooperation
Hello all:
This is a rough series adds the guest/host cooperation of flow
steering support based on Krish Kumar
On 12/07/2011 05:08 PM, Stefan Hajnoczi wrote:
[...]
> Consider the complexity of the host nic each with their own steering
> features, this series make the first step with minimal effort to try to let
> guest driver and host tap/macvtap co-operate like what physical nic does.
> There may be
On 12/08/2011 01:02 AM, Ben Hutchings wrote:
On Wed, 2011-12-07 at 19:31 +0800, Jason Wang wrote:
On 12/07/2011 03:30 PM, Rusty Russell wrote:
On Mon, 05 Dec 2011 16:58:37 +0800, Jason Wang wrote:
multiple queue virtio-net: flow steering through host/guest cooperation
Hello all:
This is a
Signed-off-by: Jason Wang
---
drivers/virtio/virtio_ring.c |2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/drivers/virtio/virtio_ring.c b/drivers/virtio/virtio_ring.c
index 79e1b29..78428a8 100644
--- a/drivers/virtio/virtio_ring.c
+++ b/drivers/virtio/virtio_ring.c
Use virtio_mb() to make sure the available index to be exposed before
checking the the avail event. Otherwise we may get stale value of
avail event in guest and never kick the host after.
Signed-off-by: Jason Wang
---
drivers/virtio/virtio_ring.c |6 +++---
1 files changed, 3 insertions
From: Krishna Kumar
Introduce VIRTIO_NET_F_MULTIQUEUE.
Signed-off-by: Krishna Kumar
Signed-off-by: Jason Wang
---
include/linux/virtio_net.h |1 +
1 files changed, 1 insertions(+), 0 deletions(-)
diff --git a/include/linux/virtio_net.h b/include/linux/virtio_net.h
index 2470f54..1bc7e30
Instead of storing the queue index in virtio infos, this patch moves them to
vring_virtqueue and introduces helpers to set and get the value. This would
simplify the management and tracing.
Signed-off-by: Jason Wang
---
drivers/virtio/virtio_mmio.c |5 +
drivers/virtio/virtio_pci.c
84 6761.33 9374.67 138% 214.50 160.25 74%
Changes from V3:
- Rebase to the net-next
- Let queue 2 to be the control virtqueue to obey the spec
- Prodives irq affinity
- Choose txq based on processor id
References:
- V3: http://lwn.net/Articles/467283/
---
Jason Wang (3):
virtio_
.
Signed-off-by: Jason Wang
---
drivers/lguest/lguest_device.c |8
drivers/s390/kvm/kvm_virtio.c |6 ++
drivers/virtio/virtio_mmio.c |8
drivers/virtio/virtio_pci.c| 12
include/linux/virtio_config.h |4
5 files changed, 38 insertions
:
- Txq selection is based on the processor id in order to avoid contending a lock
whose owner may exits to host.
- Since the txq/txq were per-cpu, affinity hint were set to the cpu that owns
the queue pairs.
Signed-off-by: Krishna Kumar
Signed-off-by: Jason Wang
---
drivers/net/virtio_net.c
review and comments.
---
Jason Wang (4):
option: introduce qemu_get_opt_all()
tap: multiqueue support
net: multiqueue support
virtio-net: add multiqueue support
hw/dp8393x.c |2
hw/mcf_fec.c |2
hw/qdev-properties.c | 33 +++-
hw/qdev.h
: Jason Wang
---
qemu-option.c | 19 +++
qemu-option.h |2 ++
2 files changed, 21 insertions(+), 0 deletions(-)
diff --git a/qemu-option.c b/qemu-option.c
index bb3886c..9263125 100644
--- a/qemu-option.c
+++ b/qemu-option.c
@@ -545,6 +545,25 @@ static QemuOpt *qemu_opt_find
detach
file. Platform-specific helpers were called and only linux helper has its
content as multiqueue tap were only supported in linux.
Signed-off-by: Jason Wang
---
net.c |4 +
net/tap-aix.c | 13 +++-
net/tap-bsd.c | 13 +++-
net/tap-haiku.c | 13 +++-
net/tap
from or sent
out. Virtio-net would be the first user.
Signed-off-by: Jason Wang
---
hw/dp8393x.c |2 +-
hw/mcf_fec.c |2 +-
hw/qdev-properties.c | 33 +++-
hw/qdev.h|3 ++-
net.c| 58
e could be used without
changes in vhost code. So each vhost_net structure were used to track a single
VLANClientState and two virtqueues in the past. As multiple VLANClientState were
stored in the NICState, we can infer the correspond VLANClientState from this
and queue_index easily.
Signed-off-by:
On 06/25/2012 06:14 PM, Michael S. Tsirkin wrote:
On Mon, Jun 25, 2012 at 05:41:17PM +0800, Jason Wang wrote:
Device specific irq optimizations such as irq affinity may be used by virtio
drivers. So this patch introduce a new method to get the irq of a specific
virtqueue.
After this patch
On 06/26/2012 01:49 AM, Sridhar Samudrala wrote:
On 6/25/2012 2:16 AM, Jason Wang wrote:
Hello All:
This series is an update version of multiqueue virtio-net driver
based on
Krishna Kumar's work to let virtio-net use multiple rx/tx queues to
do the
packets reception and transmission. P
On 06/26/2012 02:01 AM, Shirley Ma wrote:
Hello Jason,
Good work. Do you have local guest to guest results?
Thanks
Shirley
Hi Shirley:
I would run tests to measure the performance and post here.
Thanks
--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message
On 07/01/2012 05:43 PM, Michael S. Tsirkin wrote:
On Mon, Jun 25, 2012 at 06:04:49PM +0800, Jason Wang wrote:
This patch let the virtio-net can transmit and recevie packets through multiuple
VLANClientStates and abstract them as multiple virtqueues to guest. A new
parameter 'queues&
2 60510.14 103856.79 171% 1055.21 1245.17 118%
Jason Wang (4):
virtio_ring: move queue_index to vring_virtqueue
virtio: intorduce an API to set affinity for a virtqueue
virtio_net: multiqueue support
virtio_net: support negotiating the number of queues through ctrl vq
Krishna Kumar (1):
From: Krishna Kumar
Introduce VIRTIO_NET_F_MULTIQUEUE.
Signed-off-by: Krishna Kumar
Signed-off-by: Jason Wang
---
include/linux/virtio_net.h |1 +
1 files changed, 1 insertions(+), 0 deletions(-)
diff --git a/include/linux/virtio_net.h b/include/linux/virtio_net.h
index 2470f54..1bc7e30
Instead of storing the queue index in virtio infos, this patch moves them to
vring_virtqueue and introduces helpers to set and get the value. This would
simplify the management and tracing.
Signed-off-by: Jason Wang
---
drivers/virtio/virtio_mmio.c |5 +
drivers/virtio/virtio_pci.c
Signed-off-by: Jason Wang
---
drivers/virtio/virtio_pci.c | 46 +
include/linux/virtio_config.h | 21 ++
2 files changed, 67 insertions(+), 0 deletions(-)
diff --git a/drivers/virtio/virtio_pci.c b/drivers/virtio/virtio_pci.c
index
pairs.
Signed-off-by: Krishna Kumar
Signed-off-by: Jason Wang
---
drivers/net/virtio_net.c | 645 ++-
include/linux/virtio_net.h |2 +
2 files changed, 452 insertions(+), 195 deletions(-)
diff --git a/drivers/net/virtio_net.c b/drivers/net
index).
Signed-off-by: Jason Wang
---
drivers/net/virtio_net.c | 171 ++-
include/linux/virtio_net.h |7 ++
2 files changed, 142 insertions(+), 36 deletions(-)
diff --git a/drivers/net/virtio_net.c b/drivers/net/virtio_net.c
index 7410187..3339eeb
On 07/05/2012 07:40 PM, Sasha Levin wrote:
On Thu, 2012-07-05 at 18:29 +0800, Jason Wang wrote:
Instead of storing the queue index in virtio infos, this patch moves them to
vring_virtqueue and introduces helpers to set and get the value. This would
simplify the management and tracing.
Signed
1 - 100 of 731 matches
Mail list logo