search for: send_one_sg

Displaying 9 results from an estimated 9 matches for "send_one_sg".

2017 Aug 03
0
[PATCH v13 5/5] virtio-balloon: VIRTIO_BALLOON_F_FREE_PAGE_VQ
...rt the free page report. + * driver->device: end the free page report. + */ + __virtio32 report_free_page_signal; + /* To register callback in oom notifier call chain */ struct notifier_block nb; }; @@ -146,7 +154,7 @@ static void set_page_pfns(struct virtio_balloon *vb, } static void send_one_sg(struct virtio_balloon *vb, struct virtqueue *vq, - void *addr, uint32_t size) + void *addr, uint32_t size, bool busywait) { struct scatterlist sg; unsigned int len; @@ -165,7 +173,12 @@ static void send_one_sg(struct virtio_balloon *vb, struct virtqueue *vq, cpu_relax(); } virtqueu...
2017 Aug 03
2
[PATCH v13 5/5] virtio-balloon: VIRTIO_BALLOON_F_FREE_PAGE_VQ
...; + */ > + __virtio32 report_free_page_signal; > + > /* To register callback in oom notifier call chain */ > struct notifier_block nb; > }; > @@ -146,7 +154,7 @@ static void set_page_pfns(struct virtio_balloon *vb, > } > > static void send_one_sg(struct virtio_balloon *vb, struct virtqueue *vq, > - void *addr, uint32_t size) > + void *addr, uint32_t size, bool busywait) > { > struct scatterlist sg; > unsigned int len; > @@ -165,7 +173,12 @@ static void send_o...
2017 Aug 03
2
[PATCH v13 5/5] virtio-balloon: VIRTIO_BALLOON_F_FREE_PAGE_VQ
...; + */ > + __virtio32 report_free_page_signal; > + > /* To register callback in oom notifier call chain */ > struct notifier_block nb; > }; > @@ -146,7 +154,7 @@ static void set_page_pfns(struct virtio_balloon *vb, > } > > static void send_one_sg(struct virtio_balloon *vb, struct virtqueue *vq, > - void *addr, uint32_t size) > + void *addr, uint32_t size, bool busywait) > { > struct scatterlist sg; > unsigned int len; > @@ -165,7 +173,12 @@ static void send_o...
2017 Aug 03
12
[PATCH v13 0/5] Virtio-balloon Enhancement
This patch series enhances the existing virtio-balloon with the following new features: 1) fast ballooning: transfer ballooned pages between the guest and host in chunks using sgs, instead of one by one; and 2) free_page_vq: a new virtqueue to report guest free pages to the host. The second feature can be used to accelerate live migration of VMs. Here are some details: Live migration needs to
2017 Aug 03
12
[PATCH v13 0/5] Virtio-balloon Enhancement
This patch series enhances the existing virtio-balloon with the following new features: 1) fast ballooning: transfer ballooned pages between the guest and host in chunks using sgs, instead of one by one; and 2) free_page_vq: a new virtqueue to report guest free pages to the host. The second feature can be used to accelerate live migration of VMs. Here are some details: Live migration needs to
2017 Aug 03
2
[PATCH v13 3/5] virtio-balloon: VIRTIO_BALLOON_F_SG
...+ > /* The array of pfns we tell the Host about. */ > unsigned int num_pfns; > __virtio32 pfns[VIRTIO_BALLOON_ARRAY_PFNS_MAX]; > @@ -141,13 +145,90 @@ static void set_page_pfns(struct virtio_balloon *vb, > page_to_balloon_pfn(page) + i); > } > > +static void send_one_sg(struct virtio_balloon *vb, struct virtqueue *vq, > + void *addr, uint32_t size) > +{ > + struct scatterlist sg; > + unsigned int len; > + > + sg_init_one(&sg, addr, size); > + while (unlikely(virtqueue_add_inbuf(vq, &sg, 1, vb, GFP_KERNEL) > + == -ENOSPC)) { >...
2017 Aug 03
2
[PATCH v13 3/5] virtio-balloon: VIRTIO_BALLOON_F_SG
...+ > /* The array of pfns we tell the Host about. */ > unsigned int num_pfns; > __virtio32 pfns[VIRTIO_BALLOON_ARRAY_PFNS_MAX]; > @@ -141,13 +145,90 @@ static void set_page_pfns(struct virtio_balloon *vb, > page_to_balloon_pfn(page) + i); > } > > +static void send_one_sg(struct virtio_balloon *vb, struct virtqueue *vq, > + void *addr, uint32_t size) > +{ > + struct scatterlist sg; > + unsigned int len; > + > + sg_init_one(&sg, addr, size); > + while (unlikely(virtqueue_add_inbuf(vq, &sg, 1, vb, GFP_KERNEL) > + == -ENOSPC)) { >...
2017 Aug 03
0
[PATCH v13 3/5] virtio-balloon: VIRTIO_BALLOON_F_SG
...ballooned pages */ + struct xb page_xb; + /* The array of pfns we tell the Host about. */ unsigned int num_pfns; __virtio32 pfns[VIRTIO_BALLOON_ARRAY_PFNS_MAX]; @@ -141,13 +145,90 @@ static void set_page_pfns(struct virtio_balloon *vb, page_to_balloon_pfn(page) + i); } +static void send_one_sg(struct virtio_balloon *vb, struct virtqueue *vq, + void *addr, uint32_t size) +{ + struct scatterlist sg; + unsigned int len; + + sg_init_one(&sg, addr, size); + while (unlikely(virtqueue_add_inbuf(vq, &sg, 1, vb, GFP_KERNEL) + == -ENOSPC)) { + /* + * It is uncommon to see the vq is...
2017 Aug 03
0
[PATCH v13 3/5] virtio-balloon: VIRTIO_BALLOON_F_SG
On Thursday, August 3, 2017 10:23 PM, Michael S. Tsirkin wrote: > On Thu, Aug 03, 2017 at 02:38:17PM +0800, Wei Wang wrote: > > +static void send_one_sg(struct virtio_balloon *vb, struct virtqueue *vq, > > + void *addr, uint32_t size) > > +{ > > + struct scatterlist sg; > > + unsigned int len; > > + > > + sg_init_one(&sg, addr, size); > > + while (unlikely(virtqueue_add_inbuf(vq, &sg, 1, vb, GFP_K...