search for: virtio_balloon_page_chunk_entry

Displaying 19 results from an estimated 19 matches for "virtio_balloon_page_chunk_entry".

2017 May 07
2
[virtio-dev] Re: [PATCH v9 2/5] virtio-balloon: VIRTIO_BALLOON_F_BALLOON_CHUNKS
...significant limitation, why not just use that to pass > address/size in a standard s/g list, possibly using INDIRECT? OK, I see your point, thanks. Post the two options here for an analysis: Option1 (what we have now): struct virtio_balloon_page_chunk { __le64 chunk_num; struct virtio_balloon_page_chunk_entry entry[]; }; Option2: struct virtio_balloon_page_chunk { __le64 chunk_num; struct scatterlist entry[]; }; I don't have an issue to change it to Option2, but I would prefer Option1, because I think there is no be obvious difference between the two options, while Option1 appears t...
2017 May 07
2
[virtio-dev] Re: [PATCH v9 2/5] virtio-balloon: VIRTIO_BALLOON_F_BALLOON_CHUNKS
...significant limitation, why not just use that to pass > address/size in a standard s/g list, possibly using INDIRECT? OK, I see your point, thanks. Post the two options here for an analysis: Option1 (what we have now): struct virtio_balloon_page_chunk { __le64 chunk_num; struct virtio_balloon_page_chunk_entry entry[]; }; Option2: struct virtio_balloon_page_chunk { __le64 chunk_num; struct scatterlist entry[]; }; I don't have an issue to change it to Option2, but I would prefer Option1, because I think there is no be obvious difference between the two options, while Option1 appears t...
2017 May 04
8
[PATCH v10 0/6] Extend virtio-balloon for fast (de)inflating & fast live migration
This patch series implements the follow two things: 1) Optimization of balloon page transfer: instead of transferring balloon pages to host one by one, the new mechanism transfers them in chunks. 2) A mechanism to report info of guest unused pages: the pages have been unused at some time between when host sent command and when guest reported them. Host uses that by tracking memory changes and
2017 May 04
8
[PATCH v10 0/6] Extend virtio-balloon for fast (de)inflating & fast live migration
This patch series implements the follow two things: 1) Optimization of balloon page transfer: instead of transferring balloon pages to host one by one, the new mechanism transfers them in chunks. 2) A mechanism to report info of guest unused pages: the pages have been unused at some time between when host sent command and when guest reported them. Host uses that by tracking memory changes and
2017 May 04
0
[PATCH v10 3/6] virtio-balloon: VIRTIO_BALLOON_F_PAGE_CHUNKS
...t;); @@ -51,6 +65,11 @@ MODULE_PARM_DESC(oom_pages, "pages to free on OOM"); static struct vfsmount *balloon_mnt; #endif +/* Maximum number of page chunks */ +#define VIRTIO_BALLOON_MAX_PAGE_CHUNKS ((8 * PAGE_SIZE - \ + sizeof(struct virtio_balloon_page_chunk)) / \ + sizeof(struct virtio_balloon_page_chunk_entry)) + struct virtio_balloon { struct virtio_device *vdev; struct virtqueue *inflate_vq, *deflate_vq, *stats_vq; @@ -79,6 +98,12 @@ struct virtio_balloon { /* Synchronize access/update to this struct virtio_balloon elements */ struct mutex balloon_lock; + /* Buffer for chunks of ballooned p...
2017 May 05
1
[PATCH v10 3/6] virtio-balloon: VIRTIO_BALLOON_F_PAGE_CHUNKS
..._DESC(oom_pages, "pages to free on OOM"); > static struct vfsmount *balloon_mnt; > #endif > > +/* Maximum number of page chunks */ > +#define VIRTIO_BALLOON_MAX_PAGE_CHUNKS ((8 * PAGE_SIZE - \ > + sizeof(struct virtio_balloon_page_chunk)) / \ > + sizeof(struct virtio_balloon_page_chunk_entry)) > + > struct virtio_balloon { > struct virtio_device *vdev; > struct virtqueue *inflate_vq, *deflate_vq, *stats_vq; > @@ -79,6 +98,12 @@ struct virtio_balloon { > /* Synchronize access/update to this struct virtio_balloon elements */ > struct mutex balloon_lock; >...
2017 May 05
1
[PATCH v10 3/6] virtio-balloon: VIRTIO_BALLOON_F_PAGE_CHUNKS
..._DESC(oom_pages, "pages to free on OOM"); > static struct vfsmount *balloon_mnt; > #endif > > +/* Maximum number of page chunks */ > +#define VIRTIO_BALLOON_MAX_PAGE_CHUNKS ((8 * PAGE_SIZE - \ > + sizeof(struct virtio_balloon_page_chunk)) / \ > + sizeof(struct virtio_balloon_page_chunk_entry)) > + > struct virtio_balloon { > struct virtio_device *vdev; > struct virtqueue *inflate_vq, *deflate_vq, *stats_vq; > @@ -79,6 +98,12 @@ struct virtio_balloon { > /* Synchronize access/update to this struct virtio_balloon elements */ > struct mutex balloon_lock; >...
2017 May 08
0
[virtio-dev] Re: [PATCH v9 2/5] virtio-balloon: VIRTIO_BALLOON_F_BALLOON_CHUNKS
...st use that to pass > > address/size in a standard s/g list, possibly using INDIRECT? > > OK, I see your point, thanks. Post the two options here for an analysis: > Option1 (what we have now): > struct virtio_balloon_page_chunk { > __le64 chunk_num; > struct virtio_balloon_page_chunk_entry entry[]; > }; > Option2: > struct virtio_balloon_page_chunk { > __le64 chunk_num; > struct scatterlist entry[]; > }; This isn't what I meant really :) I meant vring_desc. > I don't have an issue to change it to Option2, but I would prefer Option1, >...
2017 Apr 17
0
[virtio-dev] Re: [PATCH v9 2/5] virtio-balloon: VIRTIO_BALLOON_F_BALLOON_CHUNKS
...Q_MSG(chunk) (chunk - sizeof(struct virtio_balloon_miscq_hdr)) switch (type) { case PAGE_CHUNK_TYPE_BALLOON: msg_buf = vb->balloon_page_chunk_hdr; msg_len = sizeof(struct virtio_balloon_page_chunk_hdr) + nr_chunks * sizeof(struct virtio_balloon_page_chunk_entry); break; case PAGE_CHUNK_TYPE_UNUSED: msg_buf = CHUNK_TO_MISCQ_MSG(vb->unused_page_chunk_hdr); msg_len = sizeof(struct virtio_balloon_miscq_hdr) + sizeof(struct virtio_balloon_page_chunk_hdr) + nr_chunks * sizeof(st...
2017 Apr 27
2
[virtio-dev] Re: [PATCH v9 2/5] virtio-balloon: VIRTIO_BALLOON_F_BALLOON_CHUNKS
On 04/27/2017 07:20 AM, Michael S. Tsirkin wrote: > On Wed, Apr 26, 2017 at 11:03:34AM +0000, Wang, Wei W wrote: >> Hi Michael, could you please give some feedback? > I'm sorry, I'm not sure feedback on what you are requesting. Oh, just some trivial things (e.g. use a field in the header, hdr->chunks to indicate the number of chunks in the payload) that wasn't confirmed.
2017 Apr 27
2
[virtio-dev] Re: [PATCH v9 2/5] virtio-balloon: VIRTIO_BALLOON_F_BALLOON_CHUNKS
On 04/27/2017 07:20 AM, Michael S. Tsirkin wrote: > On Wed, Apr 26, 2017 at 11:03:34AM +0000, Wang, Wei W wrote: >> Hi Michael, could you please give some feedback? > I'm sorry, I'm not sure feedback on what you are requesting. Oh, just some trivial things (e.g. use a field in the header, hdr->chunks to indicate the number of chunks in the payload) that wasn't confirmed.
2017 Apr 26
2
[virtio-dev] Re: [PATCH v9 2/5] virtio-balloon: VIRTIO_BALLOON_F_BALLOON_CHUNKS
...ct > virtio_balloon_miscq_hdr)) > > switch (type) { > case PAGE_CHUNK_TYPE_BALLOON: > msg_buf = vb->balloon_page_chunk_hdr; > msg_len = sizeof(struct virtio_balloon_page_chunk_hdr) + > nr_chunks * sizeof(struct virtio_balloon_page_chunk_entry); > break; > case PAGE_CHUNK_TYPE_UNUSED: > msg_buf = CHUNK_TO_MISCQ_MSG(vb->unused_page_chunk_hdr); > msg_len = sizeof(struct virtio_balloon_miscq_hdr) + sizeof(struct > virtio_balloon_page_chunk_hdr) + >...
2017 Apr 26
2
[virtio-dev] Re: [PATCH v9 2/5] virtio-balloon: VIRTIO_BALLOON_F_BALLOON_CHUNKS
...ct > virtio_balloon_miscq_hdr)) > > switch (type) { > case PAGE_CHUNK_TYPE_BALLOON: > msg_buf = vb->balloon_page_chunk_hdr; > msg_len = sizeof(struct virtio_balloon_page_chunk_hdr) + > nr_chunks * sizeof(struct virtio_balloon_page_chunk_entry); > break; > case PAGE_CHUNK_TYPE_UNUSED: > msg_buf = CHUNK_TO_MISCQ_MSG(vb->unused_page_chunk_hdr); > msg_len = sizeof(struct virtio_balloon_miscq_hdr) + sizeof(struct > virtio_balloon_page_chunk_hdr) + >...
2017 Apr 14
2
[virtio-dev] Re: [PATCH v9 2/5] virtio-balloon: VIRTIO_BALLOON_F_BALLOON_CHUNKS
On Fri, Apr 14, 2017 at 04:37:52PM +0800, Wei Wang wrote: > On 04/14/2017 12:34 AM, Michael S. Tsirkin wrote: > > On Thu, Apr 13, 2017 at 05:35:05PM +0800, Wei Wang wrote: > > > > So we don't need the bitmap to talk to host, it is just > > a data structure we chose to maintain lists of pages, right? > Right. bitmap is the way to gather pages to chunk. >
2017 Apr 14
2
[virtio-dev] Re: [PATCH v9 2/5] virtio-balloon: VIRTIO_BALLOON_F_BALLOON_CHUNKS
On Fri, Apr 14, 2017 at 04:37:52PM +0800, Wei Wang wrote: > On 04/14/2017 12:34 AM, Michael S. Tsirkin wrote: > > On Thu, Apr 13, 2017 at 05:35:05PM +0800, Wei Wang wrote: > > > > So we don't need the bitmap to talk to host, it is just > > a data structure we chose to maintain lists of pages, right? > Right. bitmap is the way to gather pages to chunk. >
2017 Apr 13
3
[PATCH v9 2/5] virtio-balloon: VIRTIO_BALLOON_F_BALLOON_CHUNKS
...> + /* Number of chunks in the payload */ > + __le32 chunks; You want to make this __le64 to align everything to 64 bit. > +}; > + > +#define VIRTIO_BALLOON_CHUNK_BASE_SHIFT 12 > +#define VIRTIO_BALLOON_CHUNK_SIZE_SHIFT 12 > +struct virtio_balloon_page_chunk { so rename this virtio_balloon_page_chunk_entry > + __le64 base; > + __le64 size; > +}; > + And then: struct virtio_balloon_page_chunk { struct virtio_balloon_page_chunk_hdr hdr; struct virtio_balloon_page_chunk_entry entries[]; }; > #endif /* _LINUX_VIRTIO_BALLOON_H */ > -- > 2.7.4
2017 Apr 13
3
[PATCH v9 2/5] virtio-balloon: VIRTIO_BALLOON_F_BALLOON_CHUNKS
...> + /* Number of chunks in the payload */ > + __le32 chunks; You want to make this __le64 to align everything to 64 bit. > +}; > + > +#define VIRTIO_BALLOON_CHUNK_BASE_SHIFT 12 > +#define VIRTIO_BALLOON_CHUNK_SIZE_SHIFT 12 > +struct virtio_balloon_page_chunk { so rename this virtio_balloon_page_chunk_entry > + __le64 base; > + __le64 size; > +}; > + And then: struct virtio_balloon_page_chunk { struct virtio_balloon_page_chunk_hdr hdr; struct virtio_balloon_page_chunk_entry entries[]; }; > #endif /* _LINUX_VIRTIO_BALLOON_H */ > -- > 2.7.4
2017 Apr 13
10
[PATCH v9 0/5] Extend virtio-balloon for fast (de)inflating & fast live migration
This patch series implements two optimizations: 1) transfer pages in chuncks between the guest and host; 2) transfer the guest unused pages to the host so that they can be skipped to migrate in live migration. Changes: v8->v9: 1) Split the two new features, VIRTIO_BALLOON_F_BALLOON_CHUNKS and VIRTIO_BALLOON_F_MISC_VQ, which were mixed together in the previous implementation; 2) Simpler
2017 Apr 13
10
[PATCH v9 0/5] Extend virtio-balloon for fast (de)inflating & fast live migration
This patch series implements two optimizations: 1) transfer pages in chuncks between the guest and host; 2) transfer the guest unused pages to the host so that they can be skipped to migrate in live migration. Changes: v8->v9: 1) Split the two new features, VIRTIO_BALLOON_F_BALLOON_CHUNKS and VIRTIO_BALLOON_F_MISC_VQ, which were mixed together in the previous implementation; 2) Simpler