Displaying 11 results from an estimated 11 matches for "send_one_desc".
2017 Dec 01
1
[PATCH v18 07/10] virtio-balloon: VIRTIO_BALLOON_F_SG
...t; page_to_balloon_pfn(page) + i);
> }
>
> +static void kick_and_wait(struct virtqueue *vq, wait_queue_head_t wq_head)
> +{
> + unsigned int len;
> +
> + virtqueue_kick(vq);
> + wait_event(wq_head, virtqueue_get_buf(vq, &len));
> +}
> +
> +static void send_one_desc(struct virtio_balloon *vb,
> + struct virtqueue *vq,
> + uint64_t addr,
> + uint32_t len,
> + bool inbuf,
> + bool batch)
> +{
> + int err;
> + unsigned int size;
> +
> + /* Detach all the used buffers from the vq */
> + while (virtqueue_get_buf(...
2017 Dec 01
1
[PATCH v18 07/10] virtio-balloon: VIRTIO_BALLOON_F_SG
...t; page_to_balloon_pfn(page) + i);
> }
>
> +static void kick_and_wait(struct virtqueue *vq, wait_queue_head_t wq_head)
> +{
> + unsigned int len;
> +
> + virtqueue_kick(vq);
> + wait_event(wq_head, virtqueue_get_buf(vq, &len));
> +}
> +
> +static void send_one_desc(struct virtio_balloon *vb,
> + struct virtqueue *vq,
> + uint64_t addr,
> + uint32_t len,
> + bool inbuf,
> + bool batch)
> +{
> + int err;
> + unsigned int size;
> +
> + /* Detach all the used buffers from the vq */
> + while (virtqueue_get_buf(...
2017 Nov 29
0
[PATCH v18 07/10] virtio-balloon: VIRTIO_BALLOON_F_SG
...1 @@ static void set_page_pfns(struct virtio_balloon *vb,
page_to_balloon_pfn(page) + i);
}
+static void kick_and_wait(struct virtqueue *vq, wait_queue_head_t wq_head)
+{
+ unsigned int len;
+
+ virtqueue_kick(vq);
+ wait_event(wq_head, virtqueue_get_buf(vq, &len));
+}
+
+static void send_one_desc(struct virtio_balloon *vb,
+ struct virtqueue *vq,
+ uint64_t addr,
+ uint32_t len,
+ bool inbuf,
+ bool batch)
+{
+ int err;
+ unsigned int size;
+
+ /* Detach all the used buffers from the vq */
+ while (virtqueue_get_buf(vq, &size))
+ ;
+
+ err = virtqueue_add_one_desc(v...
2017 Nov 29
22
[PATCH v18 00/10] 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 array each time; and
2) free page block reporting: 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
2017 Nov 29
22
[PATCH v18 00/10] 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 array each time; and
2) free page block reporting: 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
2017 Dec 01
3
[PATCH v18 10/10] virtio-balloon: don't report free pages when page poisoning is enabled
...rtio_balloon.c
> index 035bd3a..6ac4cff 100644
> --- a/drivers/virtio/virtio_balloon.c
> +++ b/drivers/virtio/virtio_balloon.c
> @@ -652,7 +652,9 @@ static void report_free_page(struct work_struct *work)
> /* Start by sending the obtained cmd id to the host with an outbuf */
> send_one_desc(vb, vb->free_page_vq, virt_to_phys(&vb->start_cmd_id),
> sizeof(uint32_t), false, true, false);
> - walk_free_mem_block(vb, 0, &virtio_balloon_send_free_pages);
> + if (!(page_poisoning_enabled() &&
> + !IS_ENABLED(CONFIG_PAGE_POISONING_NO_SANITY)))
&g...
2017 Dec 01
3
[PATCH v18 10/10] virtio-balloon: don't report free pages when page poisoning is enabled
...rtio_balloon.c
> index 035bd3a..6ac4cff 100644
> --- a/drivers/virtio/virtio_balloon.c
> +++ b/drivers/virtio/virtio_balloon.c
> @@ -652,7 +652,9 @@ static void report_free_page(struct work_struct *work)
> /* Start by sending the obtained cmd id to the host with an outbuf */
> send_one_desc(vb, vb->free_page_vq, virt_to_phys(&vb->start_cmd_id),
> sizeof(uint32_t), false, true, false);
> - walk_free_mem_block(vb, 0, &virtio_balloon_send_free_pages);
> + if (!(page_poisoning_enabled() &&
> + !IS_ENABLED(CONFIG_PAGE_POISONING_NO_SANITY)))
&g...
2017 Dec 11
1
[PATCH v18 10/10] virtio-balloon: don't report free pages when page poisoning is enabled
...t; > > --- a/drivers/virtio/virtio_balloon.c
> > > +++ b/drivers/virtio/virtio_balloon.c
> > > @@ -652,7 +652,9 @@ static void report_free_page(struct work_struct *work)
> > > /* Start by sending the obtained cmd id to the host with an outbuf */
> > > send_one_desc(vb, vb->free_page_vq, virt_to_phys(&vb->start_cmd_id),
> > > sizeof(uint32_t), false, true, false);
> > > - walk_free_mem_block(vb, 0, &virtio_balloon_send_free_pages);
> > > + if (!(page_poisoning_enabled() &&
> > > + !IS_ENAB...
2017 Dec 11
1
[PATCH v18 10/10] virtio-balloon: don't report free pages when page poisoning is enabled
...t; > > --- a/drivers/virtio/virtio_balloon.c
> > > +++ b/drivers/virtio/virtio_balloon.c
> > > @@ -652,7 +652,9 @@ static void report_free_page(struct work_struct *work)
> > > /* Start by sending the obtained cmd id to the host with an outbuf */
> > > send_one_desc(vb, vb->free_page_vq, virt_to_phys(&vb->start_cmd_id),
> > > sizeof(uint32_t), false, true, false);
> > > - walk_free_mem_block(vb, 0, &virtio_balloon_send_free_pages);
> > > + if (!(page_poisoning_enabled() &&
> > > + !IS_ENAB...
2017 Nov 29
0
[PATCH v18 10/10] virtio-balloon: don't report free pages when page poisoning is enabled
..._balloon.c b/drivers/virtio/virtio_balloon.c
index 035bd3a..6ac4cff 100644
--- a/drivers/virtio/virtio_balloon.c
+++ b/drivers/virtio/virtio_balloon.c
@@ -652,7 +652,9 @@ static void report_free_page(struct work_struct *work)
/* Start by sending the obtained cmd id to the host with an outbuf */
send_one_desc(vb, vb->free_page_vq, virt_to_phys(&vb->start_cmd_id),
sizeof(uint32_t), false, true, false);
- walk_free_mem_block(vb, 0, &virtio_balloon_send_free_pages);
+ if (!(page_poisoning_enabled() &&
+ !IS_ENABLED(CONFIG_PAGE_POISONING_NO_SANITY)))
+ walk_free_mem_block...
2017 Dec 11
0
[PATCH v18 10/10] virtio-balloon: don't report free pages when page poisoning is enabled
...dex 035bd3a..6ac4cff 100644
>> --- a/drivers/virtio/virtio_balloon.c
>> +++ b/drivers/virtio/virtio_balloon.c
>> @@ -652,7 +652,9 @@ static void report_free_page(struct work_struct *work)
>> /* Start by sending the obtained cmd id to the host with an outbuf */
>> send_one_desc(vb, vb->free_page_vq, virt_to_phys(&vb->start_cmd_id),
>> sizeof(uint32_t), false, true, false);
>> - walk_free_mem_block(vb, 0, &virtio_balloon_send_free_pages);
>> + if (!(page_poisoning_enabled() &&
>> + !IS_ENABLED(CONFIG_PAGE_POISONIN...