Displaying 10 results from an estimated 10 matches for "stats_vq_offset".
2015 Apr 12
2
[PATCH 1/2] virtio_balloon: header update for virtio 1
add modern header.
This patch is for virtio 1.0 branch, doesn't
apply to master.
Signed-off-by: Michael S. Tsirkin <mst at redhat.com>
---
include/hw/virtio/virtio-balloon.h | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/include/hw/virtio/virtio-balloon.h b/include/hw/virtio/virtio-balloon.h
index f863bfe..79eca67 100644
--- a/include/hw/virtio/virtio-balloon.h
+++
2015 Apr 12
2
[PATCH 1/2] virtio_balloon: header update for virtio 1
add modern header.
This patch is for virtio 1.0 branch, doesn't
apply to master.
Signed-off-by: Michael S. Tsirkin <mst at redhat.com>
---
include/hw/virtio/virtio-balloon.h | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/include/hw/virtio/virtio-balloon.h b/include/hw/virtio/virtio-balloon.h
index f863bfe..79eca67 100644
--- a/include/hw/virtio/virtio-balloon.h
+++
2015 Apr 13
3
[PATCH 2/2] virtio-balloon: virtio 1 support
...wap16(vdev, legacy_stat.tag);
> + uint64_t val = virtio_tswap64(vdev, legacy_stat.val);
> +
> + offset += sizeof(legacy_stat);
> + if (tag < VIRTIO_BALLOON_S_NR)
> + s->stats[tag] = val;
> + }
> }
> s->stats_vq_offset = offset;
>
I'm still not really convinced that changing the stat structure is an
improvement. Without that, you wouldn't need the above change at all,
would you?
Also, doesn't get_features need to be modified as well so that
VERSION_1 is advertised?
2015 Apr 13
3
[PATCH 2/2] virtio-balloon: virtio 1 support
...wap16(vdev, legacy_stat.tag);
> + uint64_t val = virtio_tswap64(vdev, legacy_stat.val);
> +
> + offset += sizeof(legacy_stat);
> + if (tag < VIRTIO_BALLOON_S_NR)
> + s->stats[tag] = val;
> + }
> }
> s->stats_vq_offset = offset;
>
I'm still not really convinced that changing the stat structure is an
improvement. Without that, you wouldn't need the above change at all,
would you?
Also, doesn't get_features need to be modified as well so that
VERSION_1 is advertised?
2015 Apr 12
0
[PATCH 2/2] virtio-balloon: virtio 1 support
...{
+ uint16_t tag = virtio_tswap16(vdev, legacy_stat.tag);
+ uint64_t val = virtio_tswap64(vdev, legacy_stat.val);
+
+ offset += sizeof(legacy_stat);
+ if (tag < VIRTIO_BALLOON_S_NR)
+ s->stats[tag] = val;
+ }
}
s->stats_vq_offset = offset;
--
MST
2015 Apr 13
0
[PATCH 2/2] virtio-balloon: virtio 1 support
...+ uint64_t val = virtio_tswap64(vdev, legacy_stat.val);
> > +
> > + offset += sizeof(legacy_stat);
> > + if (tag < VIRTIO_BALLOON_S_NR)
> > + s->stats[tag] = val;
> > + }
> > }
> > s->stats_vq_offset = offset;
> >
>
> I'm still not really convinced that changing the stat structure is an
> improvement.
The point is to avoid setting bad precedent for virtio 1 devices.
It does have a bit of cost for transitional devices.
> Without that, you wouldn't need the above cha...
2016 Mar 03
0
[RFC qemu 2/4] virtio-balloon: Add a new feature to balloon device
..._obj;
> - VirtQueue *ivq, *dvq, *svq;
> + VirtQueue *ivq, *dvq, *svq, *fvq;
> uint32_t num_pages;
> uint32_t actual;
> uint64_t stats[VIRTIO_BALLOON_S_NR];
> VirtQueueElement *stats_vq_elem;
> + VirtQueueElement *free_pages_vq_elem;
> size_t stats_vq_offset;
> QEMUTimer *stats_timer;
> int64_t stats_last_update;
> int64_t stats_poll_interval;
> uint32_t host_features;
> + uint64_t *free_pages_bitmap;
> + uint64_t free_pages_count;
> + MemLayout mem_layout;
> + VIRTIO_REQ_STATUS req_status;
>...
2016 Mar 03
2
[RFC qemu 2/4] virtio-balloon: Add a new feature to balloon device
...VirtIOBalloon {
VirtIODevice parent_obj;
- VirtQueue *ivq, *dvq, *svq;
+ VirtQueue *ivq, *dvq, *svq, *fvq;
uint32_t num_pages;
uint32_t actual;
uint64_t stats[VIRTIO_BALLOON_S_NR];
VirtQueueElement *stats_vq_elem;
+ VirtQueueElement *free_pages_vq_elem;
size_t stats_vq_offset;
QEMUTimer *stats_timer;
int64_t stats_last_update;
int64_t stats_poll_interval;
uint32_t host_features;
+ uint64_t *free_pages_bitmap;
+ uint64_t free_pages_count;
+ MemLayout mem_layout;
+ VIRTIO_REQ_STATUS req_status;
} VirtIOBalloon;
#endif
diff --git a/inclu...
2016 Mar 03
16
[RFC qemu 0/4] A PV solution for live migration optimization
The current QEMU live migration implementation mark the all the
guest's RAM pages as dirtied in the ram bulk stage, all these pages
will be processed and that takes quit a lot of CPU cycles.
>From guest's point of view, it doesn't care about the content in free
pages. We can make use of this fact and skip processing the free
pages in the ram bulk stage, it can save a lot CPU cycles
2016 Mar 03
16
[RFC qemu 0/4] A PV solution for live migration optimization
The current QEMU live migration implementation mark the all the
guest's RAM pages as dirtied in the ram bulk stage, all these pages
will be processed and that takes quit a lot of CPU cycles.
>From guest's point of view, it doesn't care about the content in free
pages. We can make use of this fact and skip processing the free
pages in the ram bulk stage, it can save a lot CPU cycles