search for: report_free_page_cmd_id

Displaying 14 results from an estimated 14 matches for "report_free_page_cmd_id".

2017 Nov 17
3
[virtio-dev] Re: [PATCH v17 6/6] virtio-balloon: VIRTIO_BALLOON_F_FREE_PAGE_VQ
...; --- >>> >>> + >>> +static void report_free_page(struct work_struct *work) >>> +{ >>> + struct virtio_balloon *vb; >>> + >>> + vb = container_of(work, struct virtio_balloon, >>> report_free_page_work); >>> + report_free_page_cmd_id(vb); >>> + walk_free_mem_block(vb, 0, &virtio_balloon_send_free_pages); >>> + /* >>> + * The last few free page blocks that were added may not reach the >>> + * batch size, but need a kick to notify the device to handle >>> them. >&...
2017 Nov 17
3
[virtio-dev] Re: [PATCH v17 6/6] virtio-balloon: VIRTIO_BALLOON_F_FREE_PAGE_VQ
...; --- >>> >>> + >>> +static void report_free_page(struct work_struct *work) >>> +{ >>> + struct virtio_balloon *vb; >>> + >>> + vb = container_of(work, struct virtio_balloon, >>> report_free_page_work); >>> + report_free_page_cmd_id(vb); >>> + walk_free_mem_block(vb, 0, &virtio_balloon_send_free_pages); >>> + /* >>> + * The last few free page blocks that were added may not reach the >>> + * batch size, but need a kick to notify the device to handle >>> them. >&...
2017 Nov 15
3
[PATCH v17 6/6] virtio-balloon: VIRTIO_BALLOON_F_FREE_PAGE_VQ
..._vqs(vb->vdev, nvqs, vqs, callbacks, names, NULL); > + if (vb->report_free_page_stop) > + return; > + vb->report_free_page_stop = true; > + > + virtio_cwrite(vb->vdev, struct virtio_balloon_config, guest2host_cmd, > + &cmd); > +} > + > +static void report_free_page_cmd_id(struct virtio_balloon *vb) > +{ > + struct scatterlist sg; > + int err; > + > + virtio_cread(vb->vdev, struct virtio_balloon_config, free_page_cmd_id, > + &vb->free_page_cmd_id); > + sg_init_one(&sg, &vb->free_page_cmd_id, sizeof(uint32_t)); > + er...
2017 Nov 15
3
[PATCH v17 6/6] virtio-balloon: VIRTIO_BALLOON_F_FREE_PAGE_VQ
..._vqs(vb->vdev, nvqs, vqs, callbacks, names, NULL); > + if (vb->report_free_page_stop) > + return; > + vb->report_free_page_stop = true; > + > + virtio_cwrite(vb->vdev, struct virtio_balloon_config, guest2host_cmd, > + &cmd); > +} > + > +static void report_free_page_cmd_id(struct virtio_balloon *vb) > +{ > + struct scatterlist sg; > + int err; > + > + virtio_cread(vb->vdev, struct virtio_balloon_config, free_page_cmd_id, > + &vb->free_page_cmd_id); > + sg_init_one(&sg, &vb->free_page_cmd_id, sizeof(uint32_t)); > + er...
2017 Nov 18
1
[virtio-dev] Re: [PATCH v17 6/6] virtio-balloon: VIRTIO_BALLOON_F_FREE_PAGE_VQ
...; +static void report_free_page(struct work_struct *work) { > > > > > + struct virtio_balloon *vb; > > > > > + > > > > > + vb = container_of(work, struct virtio_balloon, > > > > > report_free_page_work); > > > > > + report_free_page_cmd_id(vb); > > > > > + walk_free_mem_block(vb, 0, &virtio_balloon_send_free_pages); > > > > > + /* > > > > > + * The last few free page blocks that were added may not reach the > > > > > + * batch size, but need a kick to notif...
2017 Nov 18
1
[virtio-dev] Re: [PATCH v17 6/6] virtio-balloon: VIRTIO_BALLOON_F_FREE_PAGE_VQ
...; +static void report_free_page(struct work_struct *work) { > > > > > + struct virtio_balloon *vb; > > > > > + > > > > > + vb = container_of(work, struct virtio_balloon, > > > > > report_free_page_work); > > > > > + report_free_page_cmd_id(vb); > > > > > + walk_free_mem_block(vb, 0, &virtio_balloon_send_free_pages); > > > > > + /* > > > > > + * The last few free page blocks that were added may not reach the > > > > > + * batch size, but need a kick to notif...
2017 Nov 03
0
[PATCH v17 6/6] virtio-balloon: VIRTIO_BALLOON_F_FREE_PAGE_VQ
...LOON_F_STATS_VQ) ? 3 : 2; - err = virtio_find_vqs(vb->vdev, nvqs, vqs, callbacks, names, NULL); + if (vb->report_free_page_stop) + return; + vb->report_free_page_stop = true; + + virtio_cwrite(vb->vdev, struct virtio_balloon_config, guest2host_cmd, + &cmd); +} + +static void report_free_page_cmd_id(struct virtio_balloon *vb) +{ + struct scatterlist sg; + int err; + + virtio_cread(vb->vdev, struct virtio_balloon_config, free_page_cmd_id, + &vb->free_page_cmd_id); + sg_init_one(&sg, &vb->free_page_cmd_id, sizeof(uint32_t)); + err = virtqueue_add_outbuf(vb->free_pag...
2017 Nov 13
3
[PATCH v17 6/6] virtio-balloon: VIRTIO_BALLOON_F_FREE_PAGE_VQ
..._vqs(vb->vdev, nvqs, vqs, callbacks, names, NULL); > + if (vb->report_free_page_stop) > + return; > + vb->report_free_page_stop = true; > + > + virtio_cwrite(vb->vdev, struct virtio_balloon_config, guest2host_cmd, > + &cmd); > +} > + > +static void report_free_page_cmd_id(struct virtio_balloon *vb) > +{ > + struct scatterlist sg; > + int err; > + > + virtio_cread(vb->vdev, struct virtio_balloon_config, free_page_cmd_id, > + &vb->free_page_cmd_id); > + sg_init_one(&sg, &vb->free_page_cmd_id, sizeof(uint32_t)); > + er...
2017 Nov 13
3
[PATCH v17 6/6] virtio-balloon: VIRTIO_BALLOON_F_FREE_PAGE_VQ
..._vqs(vb->vdev, nvqs, vqs, callbacks, names, NULL); > + if (vb->report_free_page_stop) > + return; > + vb->report_free_page_stop = true; > + > + virtio_cwrite(vb->vdev, struct virtio_balloon_config, guest2host_cmd, > + &cmd); > +} > + > +static void report_free_page_cmd_id(struct virtio_balloon *vb) > +{ > + struct scatterlist sg; > + int err; > + > + virtio_cread(vb->vdev, struct virtio_balloon_config, free_page_cmd_id, > + &vb->free_page_cmd_id); > + sg_init_one(&sg, &vb->free_page_cmd_id, sizeof(uint32_t)); > + er...
2017 Nov 13
0
[PATCH v17 6/6] virtio-balloon: VIRTIO_BALLOON_F_FREE_PAGE_VQ
...; > + return; > > + vb->report_free_page_stop = true; > > + > > + virtio_cwrite(vb->vdev, struct virtio_balloon_config, guest2host_cmd, > > + &cmd); Wouldn't it be easier to add a buffer in the queue? > > +} > > + > > +static void report_free_page_cmd_id(struct virtio_balloon *vb) > > +{ > > + struct scatterlist sg; > > + int err; > > + > > + virtio_cread(vb->vdev, struct virtio_balloon_config, free_page_cmd_id, > > + &vb->free_page_cmd_id); > > + sg_init_one(&sg, &vb->free_page_c...
2017 Nov 16
0
[virtio-dev] Re: [PATCH v17 6/6] virtio-balloon: VIRTIO_BALLOON_F_FREE_PAGE_VQ
...; Cc: Michal Hocko <mhocko at kernel.org> >> --- >> >> + >> +static void report_free_page(struct work_struct *work) >> +{ >> + struct virtio_balloon *vb; >> + >> + vb = container_of(work, struct virtio_balloon, report_free_page_work); >> + report_free_page_cmd_id(vb); >> + walk_free_mem_block(vb, 0, &virtio_balloon_send_free_pages); >> + /* >> + * The last few free page blocks that were added may not reach the >> + * batch size, but need a kick to notify the device to handle them. >> + */ >> + virtqueue_kick(vb-&gt...
2017 Nov 17
0
[virtio-dev] Re: [PATCH v17 6/6] virtio-balloon: VIRTIO_BALLOON_F_FREE_PAGE_VQ
...> +static void report_free_page(struct work_struct *work) > > > > +{ > > > > + struct virtio_balloon *vb; > > > > + > > > > + vb = container_of(work, struct virtio_balloon, > > > > report_free_page_work); > > > > + report_free_page_cmd_id(vb); > > > > + walk_free_mem_block(vb, 0, &virtio_balloon_send_free_pages); > > > > + /* > > > > + * The last few free page blocks that were added may not reach the > > > > + * batch size, but need a kick to notify the device to >...
2017 Nov 03
12
[PATCH v17 0/6] 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 03
12
[PATCH v17 0/6] 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