[lkml]   [2015]   [Apr]   [1]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
Subject[PATCH v3 0/6] virtio_balloon: virtio 1 support
Virtio 1.0 doesn't include a modern balloon device.  At some point we'll likely
define an incompatible interface with a different ID and different
semantics. But for now, it's not a big effort to support a transitional
balloon device: this has the advantage of supporting existing drivers,
transparently, as well as transports that don't allow mixing virtio 0 and
virtio 1 devices. And balloon is an easy device to test, so it's also useful
for people to test virtio core handling of transitional devices.

The only interface issue is with the stats buffer, which has misaligned
fields. We could leave it as is, but this sets a bad precedent that
others might copy by mistake.

As we need to change stats code to do byteswaps for virtio 1.0, it seems easy
to fix by prepending a 6 byte reserved field. I also had to change config
structure field types from __le32 to __u32 to match other devices. This means
we need a couple of __force tags for legacy path but that seems minor.

changes from v2:
fix up stats endian-ness
Changes from v1:
correctly handle config space endian-ness

Michael S. Tsirkin (6):
virtio_balloon: transitional interface
virtio: balloon might not be a legacy device
virtio_ccw: support non-legacy balloon devices
virtio_mmio: support non-legacy balloon devices
virtio_pci: support non-legacy balloon devices
virtio: drop virtio_device_is_legacy_only

include/linux/virtio.h | 2 --
include/uapi/linux/virtio_balloon.h | 11 +++++++++--
drivers/s390/kvm/virtio_ccw.c | 10 +++-------
drivers/virtio/virtio.c | 6 ------
drivers/virtio/virtio_balloon.c | 33 +++++++++++++++++++++++----------
drivers/virtio/virtio_mmio.c | 8 --------
drivers/virtio/virtio_pci_modern.c | 3 ---
7 files changed, 35 insertions(+), 38 deletions(-)


 \ /
  Last update: 2015-04-01 15:41    [W:0.191 / U:1.464 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site