On Tue, 7 Oct 2014 16:40:03 +0200
Cornelia Huck cornelia.h...@de.ibm.com wrote:
Handle endianness conversion for virtio-1 virtqueues correctly.
Note that dataplane now needs to be built per-target.
It also affects hw/virtio/virtio-pci.c:
In file included from
On Tue, 7 Oct 2014 16:40:01 +0200
Cornelia Huck cornelia.h...@de.ibm.com wrote:
Introduce a helper function to indicate whether a virtio device is
operating in legacy or virtio standard mode.
It may be used to make decisions about the endianess of virtio accesses
and other virtio-1
On Tue, 25 Nov 2014 14:24:18 +0100
Cornelia Huck cornelia.h...@de.ibm.com wrote:
Handle endianness conversion for virtio-1 virtqueues correctly.
Note that dataplane now needs to be built per-target.
Signed-off-by: Cornelia Huck cornelia.h...@de.ibm.com
---
We still have the same error as
On Wed, 26 Nov 2014 18:28:38 +0100
Cornelia Huck cornelia.h...@de.ibm.com wrote:
Handle endianness conversion for virtio-1 virtqueues correctly.
Note that dataplane now needs to be built per-target.
Signed-off-by: Cornelia Huck cornelia.h...@de.ibm.com
Build is ok now.
Acked-by: Greg
On Wed, 26 Nov 2014 18:28:36 +0100
Cornelia Huck cornelia.h...@de.ibm.com wrote:
Introduce a helper function to indicate whether a virtio device is
operating in legacy or virtio standard mode.
It may be used to make decisions about the endianess of virtio accesses
and other virtio-1
Without this patch, packets are being silently dropped by the tap backend.
Signed-off-by: Greg Kurz gk...@linux.vnet.ibm.com
---
drivers/vhost/net.c | 32 ++--
1 file changed, 26 insertions(+), 6 deletions(-)
diff --git a/drivers/vhost/net.c b/drivers/vhost/net.c
a legacy device, in case host and guest endianness differ.
Signed-off-by: Greg Kurz gk...@linux.vnet.ibm.com
---
drivers/vhost/vhost.c |6 +-
drivers/vhost/vhost.h |3 +++
include/uapi/linux/vhost.h |2 ++
3 files changed, 10 insertions(+), 1 deletion(-)
diff --git
Signed-off-by: Greg Kurz gk...@linux.vnet.ibm.com
---
drivers/vhost/vhost.h | 20 ++--
1 file changed, 14 insertions(+), 6 deletions(-)
Michael,
The vhost_is_little_endian() helper adds unconditionnal overhead to fixed
endian architectures: that is all architectures except arm
(big endian) instead of the hint
whether byteswap is needed or not (patch 1)
- rebased on top of the virtio-1 accessors (patch 2)
Patch 3 is a separate fix: I think it is also valid for virtio-1.
Please comment.
---
Greg Kurz (3):
vhost: add VHOST_VRING_F_LEGACY_BIG_ENDIAN flag
vhost
On Tue, 06 Jan 2015 16:55:30 -0700
Alex Williamson alex.william...@redhat.com wrote:
On Mon, 2014-12-01 at 18:05 +0200, Michael S. Tsirkin wrote:
I had to add an explicit tag to suppress compiler warning:
gcc isn't smart enough to notice that
len is always initialized since function is
On Wed, 11 Mar 2015 21:06:05 +0100
Michael S. Tsirkin m...@redhat.com wrote:
On Wed, Mar 11, 2015 at 07:04:38PM +0100, Greg Kurz wrote:
vhost is seriously broken with ppc64le guests, even in the supposedly
supported case where the host is ppc64le and we don't need cross-endian
support
...@fr.ibm.com
Suggested-by: Michael Roth mdr...@linux.vnet.ibm.com
Signed-off-by: Greg Kurz gk...@linux.vnet.ibm.com
---
I guess it is also a fix for virtio-1 but I didn't check.
hw/virtio/virtio-pci.c | 11 +--
1 file changed, 9 insertions(+), 2 deletions(-)
diff --git a/hw/virtio
On Thu, 12 Mar 2015 09:18:38 +1100
Benjamin Herrenschmidt b...@kernel.crashing.org wrote:
On Wed, 2015-03-11 at 23:03 +0100, Greg Kurz wrote:
/* The host notifier will be swapped in adjust_endianness() according to the
* target default endianness. We need to negate this swap if the device
On Thu, 12 Mar 2015 17:25:15 +0100
Paolo Bonzini pbonz...@redhat.com wrote:
On 12/03/2015 08:08, Michael S. Tsirkin wrote:
But common header format is simple, it's always LE.
It does not depend on target.
To me this looks like a bug in memory_region_add_eventfd,
it should do the right
On Sun, 22 Feb 2015 10:53:51 +0100
Michael S. Tsirkin m...@redhat.com wrote:
On Fri, Feb 20, 2015 at 11:07:24AM +0100, Greg Kurz wrote:
Hi,
This patchset allows vhost_net to be used with legacy virtio
when guest and host have a different endianness. It is based
on previous work
On Thu, 22 Jan 2015 12:54:09 +1100
David Gibson da...@gibson.dropbear.id.au wrote:
On Thu, Dec 11, 2014 at 02:25:08PM +0100, Cornelia Huck wrote:
Add code that checks for the VERSION_1 feature bit in order to make
decisions about the device's endianness. This allows us to support
Signed-off-by: Greg Kurz gk...@linux.vnet.ibm.com
---
include/linux/virtio_config.h | 17 +++--
1 file changed, 11 insertions(+), 6 deletions(-)
diff --git a/include/linux/virtio_config.h b/include/linux/virtio_config.h
index ca3ed78..bd1a582 100644
--- a/include/linux
Signed-off-by: Greg Kurz gk...@linux.vnet.ibm.com
---
drivers/net/tun.c |9 +++--
1 file changed, 7 insertions(+), 2 deletions(-)
diff --git a/drivers/net/tun.c b/drivers/net/tun.c
index 857dca4..3c3d6c0 100644
--- a/drivers/net/tun.c
+++ b/drivers/net/tun.c
@@ -206,14 +206,19 @@ struct
Signed-off-by: Greg Kurz gk...@linux.vnet.ibm.com
---
drivers/net/macvtap.c |9 +++--
1 file changed, 7 insertions(+), 2 deletions(-)
diff --git a/drivers/net/macvtap.c b/drivers/net/macvtap.c
index 27ecc5c..a2f2958 100644
--- a/drivers/net/macvtap.c
+++ b/drivers/net/macvtap.c
@@ -49,14
Signed-off-by: Greg Kurz gk...@linux.vnet.ibm.com
---
include/linux/vringh.h | 17 +++--
1 file changed, 11 insertions(+), 6 deletions(-)
diff --git a/include/linux/vringh.h b/include/linux/vringh.h
index a3fa537..3ed62ef 100644
--- a/include/linux/vringh.h
+++ b/include/linux
Signed-off-by: Greg Kurz gk...@linux.vnet.ibm.com
---
drivers/vhost/vhost.h | 17 +++--
1 file changed, 11 insertions(+), 6 deletions(-)
diff --git a/drivers/vhost/vhost.h b/drivers/vhost/vhost.h
index 8c1c792..6a49960 100644
--- a/drivers/vhost/vhost.h
+++ b/drivers/vhost/vhost.h
that userspace may request a specific endianness. This field is
used to override the default when activating the ring of a legacy
device. It has no effect on modern devices.
Signed-off-by: Greg Kurz gk...@linux.vnet.ibm.com
---
Changes since v4:
- rewrote patch title to mention cross-endian
, this
patch changes the logic to:
- little endian if little_endian
- big endian if !little_endian
The native endian case is handled by all users with a trivial helper. This
patch doesn't change any functionality, nor it does add overhead.
Signed-off-by: Greg Kurz gk...@linux.vnet.ibm.com
---
Changes
, little-endian wins.
Since this is isn't a common usecase, the feature is controlled by a kernel
config option (not set by default).
Both macvtap and tun are covered by this patch since they share the same
API with userland.
Signed-off-by: Greg Kurz gk...@linux.vnet.ibm.com
---
Changes since v4
from a ppc64 to a ppc64le host and back. No regressions
on x86 as expected. My experimental QEMU tree is here:
https://github.com/gkurz/qemu.git vhost/cross-endian
I'd be glad if this series could make it to 4.1.
Cheers.
---
Greg Kurz (8):
virtio: introduce virtio_is_little_endian
On Fri, 17 Apr 2015 11:18:13 +0200
Greg Kurz gk...@linux.vnet.ibm.com wrote:
On Fri, 10 Apr 2015 12:15:00 +0200
Greg Kurz gk...@linux.vnet.ibm.com wrote:
Hi,
This patchset allows vhost to be used with legacy virtio when guest and host
have a different endianness.
Patch 7 got
On Tue, 7 Apr 2015 17:56:25 +0200
Michael S. Tsirkin m...@redhat.com wrote:
On Tue, Apr 07, 2015 at 02:15:52PM +0200, Greg Kurz wrote:
The current memory accessors logic is:
- little endian if little_endian
- native endian (i.e. no byteswap) if !little_endian
If we want to fully
On Tue, 21 Apr 2015 16:04:23 +0200
Michael S. Tsirkin m...@redhat.com wrote:
On Fri, Apr 10, 2015 at 12:19:16PM +0200, Greg Kurz wrote:
This patch brings cross-endian support to vhost when used to implement
legacy virtio devices. Since it is a relatively rare situation, the
feature
On Fri, 24 Apr 2015 09:04:21 +0200
Cornelia Huck cornelia.h...@de.ibm.com wrote:
On Thu, 23 Apr 2015 21:27:19 +0200
Thomas Huth th...@redhat.com wrote:
Thomas's e-mail did not make it to my mailbox... weird. :-\
On Thu, 23 Apr 2015 17:29:06 +0200
Greg Kurz gk...@linux.vnet.ibm.com wrote
On Fri, 24 Apr 2015 09:19:26 +0200
Cornelia Huck cornelia.h...@de.ibm.com wrote:
On Thu, 23 Apr 2015 17:29:42 +0200
Greg Kurz gk...@linux.vnet.ibm.com wrote:
This patch brings cross-endian support to vhost when used to implement
legacy virtio devices. Since it is a relatively rare
, this
patch changes the logic to:
- little endian if little_endian
- big endian if !little_endian
The native endian case is handled by all users with a trivial helper. This
patch doesn't change any functionality, nor it does add overhead.
Signed-off-by: Greg Kurz gk...@linux.vnet.ibm.com
---
Changes
Only cosmetic and documentation changes since v5.
---
Greg Kurz (8):
virtio: introduce virtio_is_little_endian() helper
tun: add tun_is_little_endian() helper
macvtap: introduce macvtap_is_little_endian() helper
vringh: introduce vringh_is_little_endian() helper
Signed-off-by: Greg Kurz gk...@linux.vnet.ibm.com
---
drivers/vhost/vhost.h | 17 +++--
1 file changed, 11 insertions(+), 6 deletions(-)
diff --git a/drivers/vhost/vhost.h b/drivers/vhost/vhost.h
index 8c1c792..6a49960 100644
--- a/drivers/vhost/vhost.h
+++ b/drivers/vhost/vhost.h
Signed-off-by: Greg Kurz gk...@linux.vnet.ibm.com
---
include/linux/vringh.h | 17 +++--
1 file changed, 11 insertions(+), 6 deletions(-)
diff --git a/include/linux/vringh.h b/include/linux/vringh.h
index a3fa537..3ed62ef 100644
--- a/include/linux/vringh.h
+++ b/include/linux
Signed-off-by: Greg Kurz gk...@linux.vnet.ibm.com
---
drivers/net/tun.c |9 +++--
1 file changed, 7 insertions(+), 2 deletions(-)
diff --git a/drivers/net/tun.c b/drivers/net/tun.c
index 857dca4..3c3d6c0 100644
--- a/drivers/net/tun.c
+++ b/drivers/net/tun.c
@@ -206,14 +206,19 @@ struct
Signed-off-by: Greg Kurz gk...@linux.vnet.ibm.com
---
include/linux/virtio_config.h | 17 +++--
1 file changed, 11 insertions(+), 6 deletions(-)
diff --git a/include/linux/virtio_config.h b/include/linux/virtio_config.h
index ca3ed78..bd1a582 100644
--- a/include/linux
Signed-off-by: Greg Kurz gk...@linux.vnet.ibm.com
---
drivers/net/macvtap.c |9 +++--
1 file changed, 7 insertions(+), 2 deletions(-)
diff --git a/drivers/net/macvtap.c b/drivers/net/macvtap.c
index 27ecc5c..a2f2958 100644
--- a/drivers/net/macvtap.c
+++ b/drivers/net/macvtap.c
@@ -49,14
, little-endian wins.
Since this is isn't a common usecase, the feature is controlled by a kernel
config option (not set by default).
Both macvtap and tun are covered by this patch since they share the same
API with userland.
Signed-off-by: Greg Kurz gk...@linux.vnet.ibm.com
---
Changes since v5
On Tue, 21 Apr 2015 16:06:33 +0200
Michael S. Tsirkin m...@redhat.com wrote:
On Fri, Apr 10, 2015 at 12:20:21PM +0200, Greg Kurz wrote:
The VNET_LE flag was introduced to fix accesses to virtio 1.0 headers
that are always little-endian. It can also be used to handle the special
case
On Tue, 21 Apr 2015 16:09:44 +0200
Michael S. Tsirkin m...@redhat.com wrote:
On Fri, Apr 10, 2015 at 12:16:20PM +0200, Greg Kurz wrote:
The current memory accessors logic is:
- little endian if little_endian
- native endian (i.e. no byteswap) if !little_endian
If we want to fully
On Tue, 21 Apr 2015 16:10:18 +0200
Michael S. Tsirkin m...@redhat.com wrote:
On Fri, Apr 10, 2015 at 12:15:00PM +0200, Greg Kurz wrote:
Hi,
This patchset allows vhost to be used with legacy virtio when guest and host
have a different endianness.
Patch 7 got rewritten according
VIRTIO_F_VERSION_1, even if they are still not implemented.
Signed-off-by: Greg Kurz gk...@linux.vnet.ibm.com
---
include/hw/virtio/virtio.h |1 -
1 file changed, 1 deletion(-)
diff --git a/include/hw/virtio/virtio.h b/include/hw/virtio/virtio.h
index d95f8b6..6ef70f1 100644
--- a/include/hw
endian
Greg Kurz (6):
virtio: relax feature check
linux-headers: sync vhost.h
virtio: introduce virtio_legacy_is_cross_endian()
vhost: set vring endianness for legacy virtio
tap: add VNET_LE/VNET_BE operations
vhost-net: tell tap backend about the vnet endianness
This patch brings the cross-endian vhost API to QEMU.
Signed-off-by: Greg Kurz gk...@linux.vnet.ibm.com
---
linux-headers/linux/vhost.h | 14 ++
1 file changed, 14 insertions(+)
diff --git a/linux-headers/linux/vhost.h b/linux-headers/linux/vhost.h
index c656f61..ead86db 100644
This helper will be used by vhost and tap to detect cross-endianness in
the legacy virtio case.
Signed-off-by: Greg Kurz gk...@linux.vnet.ibm.com
---
include/hw/virtio/virtio-access.h | 13 +
1 file changed, 13 insertions(+)
diff --git a/include/hw/virtio/virtio-access.h
b
The linux tap and macvtap backends can be told to parse vnet headers
according to little or big endian. This is done through the TUNSETVNETLE
and TUNSETVNETBE ioctls.
This patch brings all the plumbing for QEMU to use these APIs.
Signed-off-by: Greg Kurz gk...@linux.vnet.ibm.com
---
include/net
Legacy virtio is native endian: if the guest and host endianness differ,
we have to tell vhost so it can swap bytes where appropriate. This is
done through a vhost ring ioctl.
Signed-off-by: Greg Kurz gk...@linux.vnet.ibm.com
---
hw/virtio/vhost.c | 50
From: Cédric Le Goater c...@fr.ibm.com
Cross-endianness is now checked by the core vhost code.
revert 371df9f5e0f1 vhost-net: disable when cross-endian
Signed-off-by: Cédric Le Goater c...@fr.ibm.com
[ added commit message, Greg Kurz gk...@linux.vnet.ibm.com ]
Signed-off-by: Greg Kurz gk
The default behaviour for TAP/MACVTAP is to consider vnet as native endian.
This patch handles the cases when this is not true:
- virtio 1.0: always little-endian
- legacy cross-endian
Signed-off-by: Greg Kurz gk...@linux.vnet.ibm.com
---
hw/net/vhost_net.c | 33
On Fri, 24 Apr 2015 15:31:54 +0200
Michael S. Tsirkin m...@redhat.com wrote:
On Fri, Apr 24, 2015 at 02:24:15PM +0200, Greg Kurz wrote:
Only cosmetic and documentation changes since v5.
---
Looks sane to me. I plan to review and apply next week.
Hi Michael,
I realize you just got
On Tue, 12 May 2015 15:14:53 +0200
Cornelia Huck cornelia.h...@de.ibm.com wrote:
On Wed, 06 May 2015 14:07:37 +0200
Greg Kurz gk...@linux.vnet.ibm.com wrote:
Unlike with add and clear, there is no valid reason to abort when checking
for a feature. It makes more sense to return false (i.e
On Tue, 14 Apr 2015 16:20:23 +0200
Cornelia Huck cornelia.h...@de.ibm.com wrote:
On Fri, 10 Apr 2015 12:19:16 +0200
Greg Kurz gk...@linux.vnet.ibm.com wrote:
This patch brings cross-endian support to vhost when used to implement
legacy virtio devices. Since it is a relatively rare
On Fri, 10 Apr 2015 12:15:00 +0200
Greg Kurz gk...@linux.vnet.ibm.com wrote:
Hi,
This patchset allows vhost to be used with legacy virtio when guest and host
have a different endianness.
Patch 7 got rewritten according to Cornelia's and Michael's comments. I have
also introduced patch 8
Signed-off-by: Greg Kurz gk...@linux.vnet.ibm.com
---
drivers/net/tun.c |9 +++--
1 file changed, 7 insertions(+), 2 deletions(-)
diff --git a/drivers/net/tun.c b/drivers/net/tun.c
index 857dca4..3c3d6c0 100644
--- a/drivers/net/tun.c
+++ b/drivers/net/tun.c
@@ -206,14 +206,19 @@ struct
Hi,
This patchset allows vhost to be used with legacy virtio when guest and host
have a different endianness.
Patches 1-6 remain the same as the previous post. Patch 7 was heavily changed
according to MST's comments.
---
Greg Kurz (7):
virtio: introduce virtio_is_little_endian() helper
Signed-off-by: Greg Kurz gk...@linux.vnet.ibm.com
---
include/linux/virtio_config.h | 17 +++--
1 file changed, 11 insertions(+), 6 deletions(-)
diff --git a/include/linux/virtio_config.h b/include/linux/virtio_config.h
index ca3ed78..bd1a582 100644
--- a/include/linux
Signed-off-by: Greg Kurz gk...@linux.vnet.ibm.com
---
drivers/net/macvtap.c |9 +++--
1 file changed, 7 insertions(+), 2 deletions(-)
diff --git a/drivers/net/macvtap.c b/drivers/net/macvtap.c
index 27ecc5c..a2f2958 100644
--- a/drivers/net/macvtap.c
+++ b/drivers/net/macvtap.c
@@ -49,14
, this
patch changes the logic to:
- little endian if little_endian
- big endian if !little_endian
The native endian case is handled by all users with a trivial helper. This
patch doesn't change any functionality, nor it does add overhead.
Signed-off-by: Greg Kurz gk...@linux.vnet.ibm.com
---
drivers
are returned EPERM.
Signed-off-by: Greg Kurz gk...@linux.vnet.ibm.com
---
drivers/vhost/Kconfig | 10
drivers/vhost/vhost.c | 55
drivers/vhost/vhost.h | 17 +-
include/uapi/linux/vhost.h |5
4 files
Signed-off-by: Greg Kurz gk...@linux.vnet.ibm.com
---
include/linux/vringh.h | 17 +++--
1 file changed, 11 insertions(+), 6 deletions(-)
diff --git a/include/linux/vringh.h b/include/linux/vringh.h
index a3fa537..3ed62ef 100644
--- a/include/linux/vringh.h
+++ b/include/linux
Signed-off-by: Greg Kurz gk...@linux.vnet.ibm.com
---
drivers/vhost/vhost.h | 17 +++--
1 file changed, 11 insertions(+), 6 deletions(-)
diff --git a/drivers/vhost/vhost.h b/drivers/vhost/vhost.h
index 8c1c792..6a49960 100644
--- a/drivers/vhost/vhost.h
+++ b/drivers/vhost/vhost.h
On Tue, 7 Apr 2015 17:55:08 +0200
Michael S. Tsirkin m...@redhat.com wrote:
On Tue, Apr 07, 2015 at 02:09:29PM +0200, Greg Kurz wrote:
Hi,
This patchset allows vhost to be used with legacy virtio when guest and host
have a different endianness.
Patches 1-6 remain the same
On Tue, 7 Apr 2015 17:52:28 +0200
Michael S. Tsirkin m...@redhat.com wrote:
On Tue, Apr 07, 2015 at 02:19:31PM +0200, Greg Kurz wrote:
This patch brings cross-endian support to vhost when used to implement
legacy virtio devices. Since it is a relatively rare situation, the
feature
On Tue, 7 Apr 2015 17:01:31 +0200
Cornelia Huck cornelia.h...@de.ibm.com wrote:
On Tue, 07 Apr 2015 14:19:31 +0200
Greg Kurz gk...@linux.vnet.ibm.com wrote:
This patch brings cross-endian support to vhost when used to implement
legacy virtio devices. Since it is a relatively rare
On Tue, 7 Apr 2015 18:11:29 +0200
Michael S. Tsirkin m...@redhat.com wrote:
On Tue, Apr 07, 2015 at 02:19:31PM +0200, Greg Kurz wrote:
This patch brings cross-endian support to vhost when used to implement
legacy virtio devices. Since it is a relatively rare situation, the
feature
vnet headers was dropped for the moment. As a consequnce,
vhost_net still fails to work with cross-endian. It will be fixed in another
patchset I'm currently working on.
---
Greg Kurz (7):
virtio: introduce virtio_is_little_endian() helper
tun: add tun_is_little_endian() helper
Signed-off-by: Greg Kurz gk...@linux.vnet.ibm.com
---
drivers/net/macvtap.c |9 +++--
1 file changed, 7 insertions(+), 2 deletions(-)
diff --git a/drivers/net/macvtap.c b/drivers/net/macvtap.c
index 27ecc5c..a2f2958 100644
--- a/drivers/net/macvtap.c
+++ b/drivers/net/macvtap.c
@@ -49,14
Signed-off-by: Greg Kurz gk...@linux.vnet.ibm.com
---
include/linux/virtio_config.h | 17 +++--
1 file changed, 11 insertions(+), 6 deletions(-)
diff --git a/include/linux/virtio_config.h b/include/linux/virtio_config.h
index ca3ed78..bd1a582 100644
--- a/include/linux
Signed-off-by: Greg Kurz gk...@linux.vnet.ibm.com
---
include/linux/vringh.h | 17 +++--
1 file changed, 11 insertions(+), 6 deletions(-)
diff --git a/include/linux/vringh.h b/include/linux/vringh.h
index a3fa537..3ed62ef 100644
--- a/include/linux/vringh.h
+++ b/include/linux
Signed-off-by: Greg Kurz gk...@linux.vnet.ibm.com
---
drivers/net/tun.c |9 +++--
1 file changed, 7 insertions(+), 2 deletions(-)
diff --git a/drivers/net/tun.c b/drivers/net/tun.c
index 857dca4..3c3d6c0 100644
--- a/drivers/net/tun.c
+++ b/drivers/net/tun.c
@@ -206,14 +206,19 @@ struct
Signed-off-by: Greg Kurz gk...@linux.vnet.ibm.com
---
drivers/vhost/vhost.h | 17 +++--
1 file changed, 11 insertions(+), 6 deletions(-)
diff --git a/drivers/vhost/vhost.h b/drivers/vhost/vhost.h
index 8c1c792..6a49960 100644
--- a/drivers/vhost/vhost.h
+++ b/drivers/vhost/vhost.h
, this
patch changes the logic to:
- little endian if little_endian
- big endian if !little_endian
The native endian case is handled by all users with a trivial helper. This
patch doesn't change any functionality, nor it does add overhead.
Signed-off-by: Greg Kurz gk...@linux.vnet.ibm.com
---
drivers
for both at the same time.
Hot paths are being preserved from any penalty when the config option is
disabled or when virtio 1.0 is being used.
Signed-off-by: Greg Kurz gk...@linux.vnet.ibm.com
---
drivers/vhost/Kconfig | 10 ++
drivers/vhost/net.c|5 +
drivers
On Thu, 2 Apr 2015 16:20:46 +0200
Michael S. Tsirkin m...@redhat.com wrote:
On Thu, Apr 02, 2015 at 03:17:13PM +0200, Greg Kurz wrote:
This patch brings cross-endian support to vhost when used to implement
legacy virtio devices. Since it is a relatively rare situation, the feature
On Thu, 2 Jul 2015 08:01:28 +0200
Michael S. Tsirkin m...@redhat.com wrote:
On Wed, Jul 01, 2015 at 12:02:50PM -0700, Linus Torvalds wrote:
On Wed, Jul 1, 2015 at 2:31 AM, Michael S. Tsirkin m...@redhat.com wrote:
virtio/vhost: cross endian support
Ugh. Does this really have to be
On Tue, 12 May 2015 12:52:55 +0200
Michael S. Tsirkin m...@redhat.com wrote:
On Tue, May 12, 2015 at 12:44:26PM +0200, Greg Kurz wrote:
On Fri, 24 Apr 2015 15:31:54 +0200
Michael S. Tsirkin m...@redhat.com wrote:
On Fri, Apr 24, 2015 at 02:24:15PM +0200, Greg Kurz wrote:
Only
On Thu, 9 Jul 2015 09:49:05 +0200
Thomas Huth th...@redhat.com wrote:
The option for supporting cross-endianness legacy guests in
the vhost and tun code should only be available on systems
that support cross-endian guests.
Signed-off-by: Thomas Huth th...@redhat.com
Acked-by: Greg Kurz gk
on LE host, vhost_is_little_endian is
> checking is_le flag so there's always a branch.
>
> To fix, simply check virtio_legacy_is_little_endian first.
>
> Cc: Greg Kurz <gk...@linux.vnet.ibm.com>
> Signed-off-by: Michael S. Tsirkin <m...@redhat.com>
Oops my bad for th
On Fri, 30 Oct 2015 12:42:35 +0100
Greg Kurz <gk...@linux.vnet.ibm.com> wrote:
> The vq->is_le field is used to fix endianness when accessing the vring via
> the cpu_to_vhost16() and vhost16_to_cpu() helpers in the following cases:
>
> 1) host is big endian and device is
ur change.
Signed-off-by: Greg Kurz <gk...@linux.vnet.ibm.com>
---
drivers/vhost/net.c |6 ++
drivers/vhost/scsi.c |3 +++
drivers/vhost/test.c |2 ++
drivers/vhost/vhost.c | 12 +++-
drivers/vhost/vhost.h |1 +
5 files changed, 19 insertions(+), 5 deleti
On Wed, 23 Sep 2015 19:45:08 +0100
David Woodhouse wrote:
> Commit 7d82410950aa ("virtio: add explicit big-endian support to memory
> accessors") accidentally changed the virtio_net header used by
> AF_PACKET with PACKET_VNET_HDR from host-endian to big-endian.
>
Hi David,
On Thu, 24 Sep 2015 12:50:59 +0300
"Michael S. Tsirkin" <m...@redhat.com> wrote:
> On Thu, Sep 24, 2015 at 09:25:45AM +0200, Greg Kurz wrote:
> > On Wed, 23 Sep 2015 19:45:08 +0100
> > David Woodhouse <dw...@infradead.org> wrote:
> >
> > > C
On Thu, 12 Nov 2015 15:28:19 +0100
Greg Kurz <gk...@linux.vnet.ibm.com> wrote:
> On Thu, 12 Nov 2015 15:46:30 +0200
> "Michael S. Tsirkin" <m...@redhat.com> wrote:
>
> > On Fri, Oct 30, 2015 at 12:42:35PM +0100, Greg Kurz wrote:
> > > The vq->is_
ut didn't
> update tools/virtio, so vring_bench started failing.
>
Oops... yet another oversight...
> Update the copy under tools/virtio/ (TODO: find a way to avoid this code
> duplication).
>
> Cc: Greg Kurz <gk...@linux.vnet.ibm.com>
> Signed-off-by: Michael
On Tue, 12 Jan 2016 12:01:32 +0200
"Michael S. Tsirkin" <m...@redhat.com> wrote:
> On Mon, Jan 11, 2016 at 03:39:38PM +0100, Greg Kurz wrote:
> > The vq->is_le field is used to fix endianness when accessing the vring via
> > the cpu_to_vhost16() and vhost16_to_cp
iour change.
Reviewed-by: Cornelia Huck <cornelia.h...@de.ibm.com>
Signed-off-by: Greg Kurz <gk...@linux.vnet.ibm.com>
---
Hi Michael,
This is a cleanup patch I had posted last year:
http://patchwork.ozlabs.org/patch/538277/
I am just reposting with Cornelia's R-b.
Cheers.
--
G
.
Signed-off-by: Greg Kurz <gk...@linux.vnet.ibm.com>
---
drivers/vhost/net.c |3 +++
drivers/vhost/scsi.c |3 +++
drivers/vhost/test.c |2 ++
drivers/vhost/vhost.c | 16 +++-
drivers/vhost/vhost.h |1 +
5 files changed, 20 insertions(+), 5 deletions(-)
diff
code, which DTRT according to vq->private_data, as
suggested by Michael.
---
Greg Kurz (2):
vhost: helpers to enable/disable vring endianness
vhost: disentangle vring endianness stuff from the core code
drivers/vhost/net.c |3 +++
drivers/vhost/scsi.c |3 +++
drivers/vh
g endianness. This endianness is then
enforced for vring accesses through vq->is_le again
The logic is unclear in the current code.
This patch introduces helpers with explicit enable and disable semantics,
for better clarity.
No behaviour change.
Signed-off-by: Greg Kurz <gk...@linux.vnet.ibm
On Wed, 10 Feb 2016 14:23:33 +0100
Cornelia Huck <cornelia.h...@de.ibm.com> wrote:
> On Wed, 10 Feb 2016 14:08:43 +0100
> Greg Kurz <gk...@linux.vnet.ibm.com> wrote:
>
> > But you are right, there is a bug: we should rollback if vhost_init_used()
>
On Wed, 10 Feb 2016 17:08:52 +0200
"Michael S. Tsirkin" <m...@redhat.com> wrote:
> On Wed, Feb 10, 2016 at 01:11:34PM +0100, Greg Kurz wrote:
> > On Wed, 10 Feb 2016 13:21:22 +0200
> > "Michael S. Tsirkin" <m...@redhat.com> wrote:
> >
>
On Wed, 10 Feb 2016 13:21:22 +0200
"Michael S. Tsirkin" <m...@redhat.com> wrote:
> On Wed, Jan 13, 2016 at 06:09:41PM +0100, Greg Kurz wrote:
> > The default use case for vhost is when the host and the vring have the
> > same endianness (default native endiann
On Wed, 10 Feb 2016 13:48:09 +0200
"Michael S. Tsirkin" <m...@redhat.com> wrote:
> On Wed, Jan 13, 2016 at 06:09:47PM +0100, Greg Kurz wrote:
> > The way vring endianness is being handled currently obfuscates
> > the code in vhost_init_used().
> >
>
This series is a new tentative to have cleaner cross-endian code.
Patches 1/3 is new: it fixes a side-effect in case vhost_init_used() fails.
Patch 2/3 comes from v1: it renames cross-endian helpers
Patch 3/3 is new: it simply renames vhost_init_used() as suggested by Michael.
---
Greg Kurz
We don't want side effects. If something fails, we rollback vq->is_le to
its previous value.
Signed-off-by: Greg Kurz <gk...@linux.vnet.ibm.com>
---
drivers/vhost/vhost.c | 15 +++
1 file changed, 11 insertions(+), 4 deletions(-)
diff --git a/drivers/vhost/vhost.c b/driv
n't related
to the vq used ring.
This patch simply renames vhost_init_used() to vhost_vq_init_access() as
suggested by Michael.
No behaviour change.
Signed-off-by: Greg Kurz <gk...@linux.vnet.ibm.com>
---
drivers/vhost/net.c |2 +-
drivers/vhost/scsi.c |2 +-
drivers/vhost/test.
e is started. The
cross-endian mode is disabled when the device is stopped.
The current names of the helpers that manipulate vq->user_be are unclear.
This patch renames those helpers to clearly show that this is cross-endian
stuff and with explicit enable/disable semantics.
No behaviour change.
Sign
On Tue, 16 Feb 2016 17:34:13 +0200
"Michael S. Tsirkin" <m...@redhat.com> wrote:
> On Tue, Feb 16, 2016 at 03:54:18PM +0100, Greg Kurz wrote:
> > This series is a new tentative to have cleaner cross-endian code.
> >
> > Patches 1/3 is new: it fixes a side-e
On Fri, 4 Mar 2016 06:24:50 -0500
Jason Wang wrote:
> This series tries to add basic busy polling for vhost net. The idea is
> simple: at the end of tx/rx processing, busy polling for new tx added
> descriptor and rx receive socket for a while. The maximum number of
> time
On Tue, 31 Jan 2017 16:56:13 +0100
Halil Pasic <pa...@linux.vnet.ibm.com> wrote:
> On 01/30/2017 08:06 PM, Greg Kurz wrote:
> >> Currently, under certain circumstances vhost_init_is_le does just a part
> >> of the initialization job, and depends on vhost_reset_
1 - 100 of 122 matches
Mail list logo