Re: [RFC PATCH 0/4] vhost_net: support for cross endian guests

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, Oct 29, 2014 at 09:38:41AM +0100, Cédric Le Goater wrote:
> This patchset adds a VHOST_VRING_F_BYTESWAP flag to inform the host 
> to byteswap data of the vring when the guest and the host have a 
> different endian order. The flag is stored at initialization in an 
> attribute of the virtio queues. It is then used to byteswap, or not, 
> the vring indexes and descriptors shared with the guest OS.
> 
> The last patch adds the byteswapping of the virtio_net header as it 
> is done in qemu.

Hi Cedric,

Thanks for submitting this.
One general problem with this approach, is that
it adds overhead e.g. for x86 on x86 unconditionally.

I will in a couple of days post a patch adding virtio 1.0
support for vhost.

This will serve as a better basis for cross-endian support in
vhost, on top.

I'll try to remember to Cc you.

> The patches apply on linux-3.18-rc2 and the tests were done on PowerPC 
> using the following hosts :
>  
>    	 fedora21/ppc64, utopic/ppc64le  
> 
> with various guests : 
> 
>    	 trusty/ppc64le, utopic/ppc64le, debian/ppc64le, 
>    	 rhel6.5/ppc64, fedora21/ppc64, debian/ppc64
> 
> Regressions tests for x86_64 were done a debian host using rhel6.6, 
> fedora20 and debian guests.
> 	
> 
> Cédric Le Goater (4):
>   vhost: add VHOST_VRING_F_BYTESWAP flag
>   vhost: add byteswap routines
>   vhost: byteswap virtqueue attributes
>   vhost_net: byteswap virtio_net header
> 
>  drivers/vhost/net.c        |   39 +++++++++---
>  drivers/vhost/vhost.c      |  150 ++++++++++++++++++++++++++++++++++++++++----
>  drivers/vhost/vhost.h      |    1 +
>  include/uapi/linux/vhost.h |    3 +
>  4 files changed, 171 insertions(+), 22 deletions(-)
> 
> -- 
> 1.7.10.4
--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux