Thread (8 messages) 8 messages, 4 authors, 2015-07-07

Re: [PULL] virtio/vhost: cross endian support

From: Greg Kurz <hidden>
Date: 2015-07-02 09:13:17
Also in: kvm, lkml, netdev

Possibly related (same subject, not in this thread)

On Thu, 2 Jul 2015 08:01:28 +0200
"Michael S. Tsirkin" [off-list ref] wrote:
On Wed, Jul 01, 2015 at 12:02:50PM -0700, Linus Torvalds wrote:
quoted
On Wed, Jul 1, 2015 at 2:31 AM, Michael S. Tsirkin [off-list ref] wrote:
quoted
virtio/vhost: cross endian support
Ugh. Does this really have to be dynamic?

Can't virtio do the sane thing, and just use a _fixed_ endianness?

Doing a unconditional byte swap is faster and simpler than the crazy
conditionals. That's true regardless of endianness, but gets to be
even more so if the fixed endianness is little-endian, since BE is
not-so-slowly fading from the world.

               Linus
Yea, well - support for legacy BE guests on the new LE hosts is
exactly the motivation for this.

I dislike it too, but there are two redeeming properties that
made me merge this:

1.  It's a trivial amount of code: since we wrap host/guest accesses
    anyway, almost all of it is well hidden from drivers.

2.  Sane platforms would never set flags like VHOST_CROSS_ENDIAN_LEGACY -
    and when it's clear, there's zero overhead (as some point it was
    tested by compiling with and without the patches, got the same
    stripped binary).

Maybe we could create a Kconfig symbol to enforce point (2): prevent
people from enabling it e.g. on x86. I will look into this - but it can
be done by a patch on top, so I think this can be merged as is.
This cross-endian *oddity* is targeting PowerPC book3s_64 processors... I
am not aware of any other users. Maybe create a symbol that would
be only selected by PPC_BOOK3S_64 ?

Or do you know of someone using kernel with all config options enabled
undiscriminately?

Thanks,
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help