qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH v4 0/2] virtio: Move host features to backends
@ 2015-04-28 11:51 shannon.zhao
  2015-04-28 11:51 ` [Qemu-devel] [PATCH v4 1/2] virtio-net: Move DEFINE_VIRTIO_NET_FEATURES to virtio-net shannon.zhao
                   ` (3 more replies)
  0 siblings, 4 replies; 29+ messages in thread
From: shannon.zhao @ 2015-04-28 11:51 UTC (permalink / raw)
  To: qemu-devel, peter.maydell, cornelia.huck, mst, pbonzini,
	christoffer.dall
  Cc: hangaohuai, peter.huangpeng, zhaoshenglong

From: Shannon Zhao <shannon.zhao@linaro.org>

The reason to do this is that the virtio-net-device can't expose host
features to guest while using virtio-mmio. So the performance is low.

The virtio-*-pci, virtio-*-s390, and virtio-*-ccw already have the
ability to forward property accesses to the backend child, by calling 
*_virtio_*_instance_init -> qdev_alias_all_properties. So if we move the
host features to backends, it doesn't break the backwards compatibility
for virtio-*-pci, virtio-*-s390, and virtio-*-ccw.

Here we move the host features to backends, involving
DEFINE_VIRTIO_NET_FEATURES, DEFINE_VIRTIO_SCSI_FEATURES. So the
virtio-mmio devices could have the host freatures, and this has a great
performance improvement to virtio-mmio, especially to virtio-net-device.

changes since v3:
  * detail the changes in commit log
  * don't expose virtio_net_set_config_size

changes since v2:
  * move virtio_net_set_config_size to virtio-net (Cornelia)

changes since v1:
  * drop unnecessary change of adding device_plugged hook for
    virtio-ccw and s390-virtio-bus (Cornelia)

Shannon Zhao (2):
  virtio-net: Move DEFINE_VIRTIO_NET_FEATURES to virtio-net
  virtio-scsi: Move DEFINE_VIRTIO_SCSI_FEATURES to virtio-scsi

 hw/net/virtio-net.c             | 7 ++++++-
 hw/s390x/s390-virtio-bus.c      | 3 ---
 hw/s390x/virtio-ccw.c           | 3 ---
 hw/scsi/virtio-scsi.c           | 5 +++++
 hw/virtio/virtio-pci.c          | 3 ---
 include/hw/virtio/virtio-net.h  | 2 +-
 include/hw/virtio/virtio-scsi.h | 1 +
 7 files changed, 13 insertions(+), 11 deletions(-)

-- 
2.1.0

^ permalink raw reply	[flat|nested] 29+ messages in thread

end of thread, other threads:[~2015-04-30 15:50 UTC | newest]

Thread overview: 29+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-04-28 11:51 [Qemu-devel] [PATCH v4 0/2] virtio: Move host features to backends shannon.zhao
2015-04-28 11:51 ` [Qemu-devel] [PATCH v4 1/2] virtio-net: Move DEFINE_VIRTIO_NET_FEATURES to virtio-net shannon.zhao
2015-04-28 11:51 ` [Qemu-devel] [PATCH v4 2/2] virtio-scsi: Move DEFINE_VIRTIO_SCSI_FEATURES to virtio-scsi shannon.zhao
2015-04-28 12:48 ` [Qemu-devel] [PATCH v4 0/2] virtio: Move host features to backends Michael S. Tsirkin
2015-04-28 12:52   ` Peter Maydell
2015-04-28 13:05     ` Michael S. Tsirkin
2015-04-28 13:20       ` Cornelia Huck
2015-04-28 14:03         ` Michael S. Tsirkin
2015-04-28 13:06 ` Peter Maydell
2015-04-28 13:13   ` Michael S. Tsirkin
2015-04-28 13:16     ` Peter Maydell
2015-04-28 13:24       ` Cornelia Huck
2015-04-28 14:35         ` Michael S. Tsirkin
2015-04-28 18:14           ` Michael S. Tsirkin
2015-04-28 18:32             ` Michael S. Tsirkin
2015-04-28 18:35               ` Michael S. Tsirkin
2015-04-29  8:17               ` Christian Borntraeger
2015-04-29  8:52                 ` Cornelia Huck
2015-04-29 10:32                   ` Michael S. Tsirkin
2015-04-29 14:33                     ` Cornelia Huck
2015-04-29 18:32                       ` Michael S. Tsirkin
2015-04-29 14:43                     ` Christian Borntraeger
2015-04-29 18:35                       ` Michael S. Tsirkin
2015-04-29 19:49                         ` Christian Borntraeger
2015-04-29 20:19                           ` Michael S. Tsirkin
2015-04-30 15:50                             ` Christian Borntraeger
2015-04-28 18:34             ` Peter Maydell
2015-04-28 18:38               ` Michael S. Tsirkin
2015-04-29  9:55       ` Shannon Zhao

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).