#
0f4f51a8 |
| 07-Apr-2012 |
Asias He <asias.hejun@gmail.com> |
kvm tools: Add set_size_vq for virtio-net
set_size_vq does not do the actual work, we can implement this later.
Signed-off-by: Asias He <asias.hejun@gmail.com> Signed-off-by: Pekka Enberg <penberg@
kvm tools: Add set_size_vq for virtio-net
set_size_vq does not do the actual work, we can implement this later.
Signed-off-by: Asias He <asias.hejun@gmail.com> Signed-off-by: Pekka Enberg <penberg@kernel.org>
show more ...
|
#
4059ad8b |
| 07-Apr-2012 |
Asias He <asias.hejun@gmail.com> |
kvm tools: Increase virtio-blk and virtio-net queue size
Increase virtio-blk and virtio-net queue size to 256. This makes virtio-mmio work.
Signed-off-by: Asias He <asias.hejun@gmail.com> Signed-of
kvm tools: Increase virtio-blk and virtio-net queue size
Increase virtio-blk and virtio-net queue size to 256. This makes virtio-mmio work.
Signed-off-by: Asias He <asias.hejun@gmail.com> Signed-off-by: Pekka Enberg <penberg@kernel.org>
show more ...
|
#
69205aa1 |
| 07-Apr-2012 |
Asias He <asias.hejun@gmail.com> |
kvm tools: Introduce trans=mmio parameter for virtio-net
To select virtio-mmio instead of virito-pci transport:
lkvm run --network trans=mmio
Signed-off-by: Asias He <asias.hejun@gmail.com> Sig
kvm tools: Introduce trans=mmio parameter for virtio-net
To select virtio-mmio instead of virito-pci transport:
lkvm run --network trans=mmio
Signed-off-by: Asias He <asias.hejun@gmail.com> Signed-off-by: Pekka Enberg <penberg@kernel.org>
show more ...
|
#
02eca50c |
| 07-Apr-2012 |
Asias He <asias.hejun@gmail.com> |
kvm tools: Rework on virtio transport abstraction.
This patch reworks on virtio transport abstraction.
* Move virtio transport operations to virtio operations and drop virtio/trans.c This makes t
kvm tools: Rework on virtio transport abstraction.
This patch reworks on virtio transport abstraction.
* Move virtio transport operations to virtio operations and drop virtio/trans.c This makes the abstraction much cleaner.
* Rename struct virtio_trans to struct virtio_device
struct virtio_trans { void *virtio; enum virtio_trans_type type; struct virtio_trans_ops *trans_ops; struct virtio_ops *virtio_ops; };
struct virtio_device { void *virtio; struct virtio_ops *ops; };
The virtio_trans struct is bit confusing since it also includes virtio operations.
* Introduce virtio_init() To init device, e.g. Before: virtio_trans_init() ndev->vtrans.trans_ops->init() ndev->vtrans.virtio_ops = &net_dev_virtio_ops After: virtio_init()
Signed-off-by: Asias He <asias.hejun@gmail.com> Signed-off-by: Pekka Enberg <penberg@kernel.org>
show more ...
|
#
a2857479 |
| 19-Dec-2011 |
Cyrill Gorcunov <gorcunov@gmail.com> |
kvm tools: Add BUG_ON() helper to make a run-time critical tests
Also drop useless assert.h inclusions.
Acked-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com> Sig
kvm tools: Add BUG_ON() helper to make a run-time critical tests
Also drop useless assert.h inclusions.
Acked-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com> Signed-off-by: Pekka Enberg <penberg@kernel.org>
show more ...
|
#
3a60be06 |
| 16-Dec-2011 |
Sasha Levin <levinsasha928@gmail.com> |
kvm tools: Trivial cleanup
Acked-by: Cyrill Gorcunov <gorcunov@gmail.com> Signed-off-by: Sasha Levin <levinsasha928@gmail.com> Signed-off-by: Pekka Enberg <penberg@kernel.org>
|
#
f19edd1e |
| 07-Dec-2011 |
Sasha Levin <levinsasha928@gmail.com> |
kvm tools: Allow the user to pass a FD to use as a TAP device
This allows users to pass a pre-configured fd to use for the network interface.
For example: kvm run -n mode=tap,fd=3 3<>/dev/n
kvm tools: Allow the user to pass a FD to use as a TAP device
This allows users to pass a pre-configured fd to use for the network interface.
For example: kvm run -n mode=tap,fd=3 3<>/dev/net/tap3
Acked-by: Daniel P. Berrange <berrange@redhat.com> Cc: Osier Yang <jyang@redhat.com> Signed-off-by: Sasha Levin <levinsasha928@gmail.com> Signed-off-by: Pekka Enberg <penberg@kernel.org>
show more ...
|
#
754c8ce3 |
| 28-Nov-2011 |
Sasha Levin <levinsasha928@gmail.com> |
kvm tools: Support virtio indirect buffers
Indirect buffers are ring descriptors which point to more (even more) descriptors.
This can be used to increase the effective ring capacity, which helps t
kvm tools: Support virtio indirect buffers
Indirect buffers are ring descriptors which point to more (even more) descriptors.
This can be used to increase the effective ring capacity, which helps the guest to batch large requests - very useful for blk devices.
This patch also enables indirect buffers for virtio-net and virtio-blk.
The patch is based on the lguest's code which does the same.
Signed-off-by: Sasha Levin <levinsasha928@gmail.com> Signed-off-by: Pekka Enberg <penberg@kernel.org>
show more ...
|
#
b4108023 |
| 25-Nov-2011 |
Asias He <asias.hejun@gmail.com> |
kvm tools: Fix build in virtio/net.c
virtio/net.c: In function ???virtio_net__vhost_init???: virtio/net.c:476:22: error: cast from pointer to integer of different size [-Werror=pointer-to-int-cast]
kvm tools: Fix build in virtio/net.c
virtio/net.c: In function ???virtio_net__vhost_init???: virtio/net.c:476:22: error: cast from pointer to integer of different size [-Werror=pointer-to-int-cast] cc1: all warnings being treated as errors
Signed-off-by: Asias He <asias.hejun@gmail.com> Signed-off-by: Pekka Enberg <penberg@kernel.org>
show more ...
|
#
92c1f37b |
| 17-Nov-2011 |
Sasha Levin <levinsasha928@gmail.com> |
kvm tools: Support event idx in virtio-net
Support event idx both when using vhost and when using simple TAP mode.
I did simple TCP stream performance test with vhost, and it showed another 9% incr
kvm tools: Support event idx in virtio-net
Support event idx both when using vhost and when using simple TAP mode.
I did simple TCP stream performance test with vhost, and it showed another 9% increase over regular vhost mode.
Signed-off-by: Sasha Levin <levinsasha928@gmail.com> Signed-off-by: Pekka Enberg <penberg@kernel.org>
show more ...
|
#
9ed67cdc |
| 16-Nov-2011 |
Sasha Levin <levinsasha928@gmail.com> |
kvm tools: Add vhost-net support
This patch adds support to using the vhost-net device when using a tap backed virtio-net device.
Activating vhost-net is done by appending a 'vhost=1' flag to the n
kvm tools: Add vhost-net support
This patch adds support to using the vhost-net device when using a tap backed virtio-net device.
Activating vhost-net is done by appending a 'vhost=1' flag to the net device configuration. For example:
'kvm run -n mode=tap,vhost=1'
This improves performance as follows:
Short version ------------------
TCP Throughput: +29% UDP Throughput: +10% TCP Latency: -15% UDP Latency: -12%
Long version ------------------
MIGRATED TCP STREAM TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to 192.168.33.4 (192.168.33.4) port 0 AF_INET Recv Send Send Socket Socket Message Elapsed Size Size Size Time Throughput bytes bytes bytes secs. 10^6bits/sec
87380 16384 16384 10.00 4895.04
MIGRATED UDP STREAM TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to 192.168.33.4 (192.168.33.4) port 0 AF_INET Socket Message Elapsed Messages Size Size Time Okay Errors Throughput bytes bytes secs # # 10^6bits/sec
229376 65507 10.00 125287 0 6565.60 229376 10.00 106910 5602.57
MIGRATED TCP REQUEST/RESPONSE TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to 192.168.33.4 (192.168.33.4) port 0 AF_INET : first burst 0 Local /Remote Socket Size Request Resp. Elapsed Trans. Send Recv Size Size Time Rate bytes Bytes bytes bytes secs. per sec
16384 87380 1 1 10.00 14811.55
MIGRATED UDP REQUEST/RESPONSE TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to 192.168.33.4 (192.168.33.4) port 0 AF_INET : first burst 0 Local /Remote Socket Size Request Resp. Elapsed Trans. Send Recv Size Size Time Rate bytes Bytes bytes bytes secs. per sec
229376 229376 1 1 10.00 16000.44 229376 229376
After:
MIGRATED TCP STREAM TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to 192.168.33.4 (192.168.33.4) port 0 AF_INET Recv Send Send Socket Socket Message Elapsed Size Size Size Time Throughput bytes bytes bytes secs. 10^6bits/sec
87380 16384 16384 10.00 6340.74
MIGRATED UDP STREAM TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to 192.168.33.4 (192.168.33.4) port 0 AF_INET Socket Message Elapsed Messages Size Size Time Okay Errors Throughput bytes bytes secs # # 10^6bits/sec
229376 65507 10.00 131478 0 6890.09 229376 10.00 118136 6190.90
MIGRATED TCP REQUEST/RESPONSE TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to 192.168.33.4 (192.168.33.4) port 0 AF_INET : first burst 0 Local /Remote Socket Size Request Resp. Elapsed Trans. Send Recv Size Size Time Rate bytes Bytes bytes bytes secs. per sec
16384 87380 1 1 10.00 17126.10
MIGRATED UDP REQUEST/RESPONSE TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to 192.168.33.4 (192.168.33.4) port 0 AF_INET : first burst 0 Local /Remote Socket Size Request Resp. Elapsed Trans. Send Recv Size Size Time Rate bytes Bytes bytes bytes secs. per sec
229376 229376 1 1 10.00 17944.51 Cc: Michael S. Tsirkin <mst@redhat.com> Signed-off-by: Sasha Levin <levinsasha928@gmail.com> Signed-off-by: Pekka Enberg <penberg@kernel.org>
show more ...
|
#
1c47ce69 |
| 09-Nov-2011 |
Sasha Levin <levinsasha928@gmail.com> |
kvm tools: Add abstract virtio transport layer
Since virtio-mmio was introduced in 3.2, virtio-pci isn't the only transport layer between the kernel and virtio devices.
This patch adds an abstract
kvm tools: Add abstract virtio transport layer
Since virtio-mmio was introduced in 3.2, virtio-pci isn't the only transport layer between the kernel and virtio devices.
This patch adds an abstract virtio-transport layer which allows to easily use different transports while making it transparent to the device.
This is the first step in adding virtio-mmio support.
Cc: Pawel Moll <pawel.moll@arm.com> Cc: Peter Maydell <peter.maydell@linaro.org> Signed-off-by: Sasha Levin <levinsasha928@gmail.com> Signed-off-by: Pekka Enberg <penberg@kernel.org>
show more ...
|
#
06e5512f |
| 31-Oct-2011 |
Asias He <asias.hejun@gmail.com> |
kvm tools: Fix ndev mutex and condition variable initialization
This patch fixes the initialization of the following variables:
ndev->io_tx_lock ndev->io_rx_lock ndev->io_tx_cond ndev->
kvm tools: Fix ndev mutex and condition variable initialization
This patch fixes the initialization of the following variables:
ndev->io_tx_lock ndev->io_rx_lock ndev->io_tx_cond ndev->io_rx_cond
Signed-off-by: Asias He <asias.hejun@gmail.com> Signed-off-by: Pekka Enberg <penberg@kernel.org>
show more ...
|
#
507e02d8 |
| 27-Oct-2011 |
Asias He <asias.hejun@gmail.com> |
kvm tools: Set correct virtio pci device class code
All the virtio pci device is set to class code 0x010000, this is wrong. This patch sets the correct class code and makes lspci report correct clas
kvm tools: Set correct virtio pci device class code
All the virtio pci device is set to class code 0x010000, this is wrong. This patch sets the correct class code and makes lspci report correct class type. For example, the net device:
Before: $ lspci 00:03.0 SCSI storage controller: Red Hat, Inc Virtio network device
After: $ lspci 00:03.0 Ethernet controller: Red Hat, Inc Virtio network device
Acked-by: Sasha Levin <levinsasha928@gmail.com> Signed-off-by: Asias He <asias.hejun@gmail.com> Signed-off-by: Pekka Enberg <penberg@kernel.org>
show more ...
|
#
fc835ab3 |
| 13-Oct-2011 |
Sasha Levin <levinsasha928@gmail.com> |
kvm tools: Improve compat message
Suggested-by: Ingo Molnar <mingo@elte.hu> Acked-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Sasha Levin <levinsasha928@gmail.com> Signed-off-by: Pekka Enberg <pe
kvm tools: Improve compat message
Suggested-by: Ingo Molnar <mingo@elte.hu> Acked-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Sasha Levin <levinsasha928@gmail.com> Signed-off-by: Pekka Enberg <penberg@kernel.org>
show more ...
|
#
312c62d1 |
| 13-Oct-2011 |
Sasha Levin <levinsasha928@gmail.com> |
kvm tools: Use compat message per device instead of per instance
This prevents multiple messages for the same type of device.
Suggested-by: Ingo Molnar <mingo@elte.hu> Acked-by: Ingo Molnar <mingo@
kvm tools: Use compat message per device instead of per instance
This prevents multiple messages for the same type of device.
Suggested-by: Ingo Molnar <mingo@elte.hu> Acked-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Sasha Levin <levinsasha928@gmail.com> Signed-off-by: Pekka Enberg <penberg@kernel.org>
show more ...
|
#
9a6d73f1 |
| 28-Sep-2011 |
Sasha Levin <levinsasha928@gmail.com> |
kvm tools: Support multiple net devices
This patch adds support for multiple network devices. The command line syntax changes to the following:
--network/-n [mode=tap/user/none][,guest_ip=ip][,hos
kvm tools: Support multiple net devices
This patch adds support for multiple network devices. The command line syntax changes to the following:
--network/-n [mode=tap/user/none][,guest_ip=ip][,host_ip= ip][,guest_mac=mac][,script=file]
Each of the parameters is optional, and the config defaults to a TAP based networking with a sequential MAC.
Acked-by: Asias He <asias.hejun@gmail.com> Signed-off-by: Sasha Levin <levinsasha928@gmail.com> Signed-off-by: Pekka Enberg <penberg@kernel.org>
show more ...
|
#
a398c5ce |
| 12-Sep-2011 |
Sasha Levin <levinsasha928@gmail.com> |
kvm tools: Fix compat message formatting
Signed-off-by: Sasha Levin <levinsasha928@gmail.com> Signed-off-by: Pekka Enberg <penberg@kernel.org>
|
#
1599d724 |
| 24-Aug-2011 |
Sasha Levin <levinsasha928@gmail.com> |
kvm tools: Move ioeventfd registration to virtio-pci
This patch removed ioeventfd registration from devices and moves it to a single place in virtio-pci layer.
Signed-off-by: Sasha Levin <levinsash
kvm tools: Move ioeventfd registration to virtio-pci
This patch removed ioeventfd registration from devices and moves it to a single place in virtio-pci layer.
Signed-off-by: Sasha Levin <levinsasha928@gmail.com> Signed-off-by: Pekka Enberg <penberg@kernel.org>
show more ...
|
#
78a2a3e2 |
| 22-Aug-2011 |
Sasha Levin <levinsasha928@gmail.com> |
kvm tools: Separate virtio-pci layer out of virtio-net
Signed-off-by: Sasha Levin <levinsasha928@gmail.com> Signed-off-by: Pekka Enberg <penberg@kernel.org>
|
#
702f4abb |
| 21-Aug-2011 |
Sasha Levin <levinsasha928@gmail.com> |
kvm tools: Fix offset calculation for config space and MSI-X
This patch makes offsets for virtio config space and MSI-X dynamic.
The change should fix the wrong usage of MSI-X space as virtio confi
kvm tools: Fix offset calculation for config space and MSI-X
This patch makes offsets for virtio config space and MSI-X dynamic.
The change should fix the wrong usage of MSI-X space as virtio config space.
Signed-off-by: Sasha Levin <levinsasha928@gmail.com> Signed-off-by: Pekka Enberg <penberg@kernel.org>
show more ...
|
#
cb83de6f |
| 18-Aug-2011 |
Sasha Levin <levinsasha928@gmail.com> |
kvm tools: Add guest compatability warning to virtio-net
Signed-off-by: Sasha Levin <levinsasha928@gmail.com> Signed-off-by: Pekka Enberg <penberg@kernel.org>
|
#
c9f6a037 |
| 18-Aug-2011 |
Xiao Guangrong <xiaoguangrong@cn.fujitsu.com> |
kvm tools: remove count in io emulation callbacks
'count' parameter in io emulation callbacks is useless, just remove it
Signed-off-by: Xiao Guangrong <xiaoguangrong@cn.fujitsu.com> Signed-off-by:
kvm tools: remove count in io emulation callbacks
'count' parameter in io emulation callbacks is useless, just remove it
Signed-off-by: Xiao Guangrong <xiaoguangrong@cn.fujitsu.com> Signed-off-by: Pekka Enberg <penberg@kernel.org>
show more ...
|
#
f7953843 |
| 11-Aug-2011 |
Sasha Levin <levinsasha928@gmail.com> |
kvm tools: Use correct offset for virtio-net config space
This patch fixes the read action of virtio-net config by not handling reads to the start of the space as MSI related operations.
This fixes
kvm tools: Use correct offset for virtio-net config space
This patch fixes the read action of virtio-net config by not handling reads to the start of the space as MSI related operations.
This fixes the MAC configuration of the device and makes uip network work again.
Signed-off-by: Sasha Levin <levinsasha928@gmail.com> Signed-off-by: Pekka Enberg <penberg@kernel.org>
show more ...
|
#
3395f880 |
| 11-Aug-2011 |
Sasha Levin <levinsasha928@gmail.com> |
kvm tools: Add MSI-X support to virtio-net
The device uses the virtio preferred method of working with MSI-X by creating one vector for configuration and one vector for each vq in the device.
Signe
kvm tools: Add MSI-X support to virtio-net
The device uses the virtio preferred method of working with MSI-X by creating one vector for configuration and one vector for each vq in the device.
Signed-off-by: Sasha Levin <levinsasha928@gmail.com> Signed-off-by: Pekka Enberg <penberg@kernel.org>
show more ...
|