search for: report_free_page_end

Displaying 20 results from an estimated 21 matches for "report_free_page_end".

2017 Nov 17
3
[virtio-dev] Re: [PATCH v17 6/6] virtio-balloon: VIRTIO_BALLOON_F_FREE_PAGE_VQ
...gt;>> + /* >>> + * 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->free_page_vq); >>> + report_free_page_end(vb); >>> +} >>> + >> I think there's an issue here: if pages are poisoned and hypervisor >> subsequently drops them, testing them after allocation will >> trigger a false positive. >> >> The specific configuration: >> >> PAGE_POISONING...
2017 Nov 17
3
[virtio-dev] Re: [PATCH v17 6/6] virtio-balloon: VIRTIO_BALLOON_F_FREE_PAGE_VQ
...gt;>> + /* >>> + * 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->free_page_vq); >>> + report_free_page_end(vb); >>> +} >>> + >> I think there's an issue here: if pages are poisoned and hypervisor >> subsequently drops them, testing them after allocation will >> trigger a false positive. >> >> The specific configuration: >> >> PAGE_POISONING...
2017 Nov 15
3
[PATCH v17 6/6] virtio-balloon: VIRTIO_BALLOON_F_FREE_PAGE_VQ
...aque; > + void *addr = (void *)pfn_to_kaddr(pfn); > + uint32_t len = nr_pages << PAGE_SHIFT; > + > + if (vb->report_free_page_stop) > + return false; > + > + send_free_page_sg(vb->free_page_vq, addr, len); > > + return true; > +} > + > +static void report_free_page_end(struct virtio_balloon *vb) > +{ > + u32 cmd = VIRTIO_BALLOON_CMD_REPORT_FREE_PAGE_STOP; > /* > - * We expect two virtqueues: inflate and deflate, and > - * optionally stat. > + * The host may have already requested to stop the reporting before we > + * finish, so no need...
2017 Nov 15
3
[PATCH v17 6/6] virtio-balloon: VIRTIO_BALLOON_F_FREE_PAGE_VQ
...aque; > + void *addr = (void *)pfn_to_kaddr(pfn); > + uint32_t len = nr_pages << PAGE_SHIFT; > + > + if (vb->report_free_page_stop) > + return false; > + > + send_free_page_sg(vb->free_page_vq, addr, len); > > + return true; > +} > + > +static void report_free_page_end(struct virtio_balloon *vb) > +{ > + u32 cmd = VIRTIO_BALLOON_CMD_REPORT_FREE_PAGE_STOP; > /* > - * We expect two virtqueues: inflate and deflate, and > - * optionally stat. > + * The host may have already requested to stop the reporting before we > + * finish, so no need...
2017 Nov 18
1
[virtio-dev] Re: [PATCH v17 6/6] virtio-balloon: VIRTIO_BALLOON_F_FREE_PAGE_VQ
...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->free_page_vq); > > > > > + report_free_page_end(vb); > > > > > +} > > > > > + > > > > I think there's an issue here: if pages are poisoned and > > > > hypervisor subsequently drops them, testing them after allocation > > > > will trigger a false positive. > > > > &...
2017 Nov 18
1
[virtio-dev] Re: [PATCH v17 6/6] virtio-balloon: VIRTIO_BALLOON_F_FREE_PAGE_VQ
...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->free_page_vq); > > > > > + report_free_page_end(vb); > > > > > +} > > > > > + > > > > I think there's an issue here: if pages are poisoned and > > > > hypervisor subsequently drops them, testing them after allocation > > > > will trigger a false positive. > > > > &...
2017 Sep 05
0
[PATCH v15 5/5] virtio-balloon: VIRTIO_BALLOON_F_CTRL_VQ
...is is necessary because the input cmd buffers are lost > + * after live migration. The device needs to rewind all of > + * them from the ctrl_vq. > + */ > + ctrlq_add_cmd(vq, &vb->free_page_cmd_in, true); > + } > + virtqueue_kick(vq); > +} > + > +static void report_free_page_end(struct virtio_balloon *vb) { > /* > - * We expect two virtqueues: inflate and deflate, and > - * optionally stat. > + * The host may have already requested to stop the reporting before we > + * finish, so no need to notify the host in this case. > */ > - nvqs = virtio_...
2017 Sep 05
0
[PATCH v15 5/5] virtio-balloon: VIRTIO_BALLOON_F_CTRL_VQ
...is is necessary because the input cmd buffers are lost > + * after live migration. The device needs to rewind all of > + * them from the ctrl_vq. > + */ > + ctrlq_add_cmd(vq, &vb->free_page_cmd_in, true); > + } > + virtqueue_kick(vq); > +} > + > +static void report_free_page_end(struct virtio_balloon *vb) { > /* > - * We expect two virtqueues: inflate and deflate, and > - * optionally stat. > + * The host may have already requested to stop the reporting before we > + * finish, so no need to notify the host in this case. > */ > - nvqs = virtio_...
2017 Sep 30
0
[PATCH v16 5/5] virtio-balloon: VIRTIO_BALLOON_F_CTRL_VQ
...ut cmd buffers are replenished here. + * This is necessary because the input cmd buffers are lost + * after live migration. The device needs to rewind all of + * them from the ctrl_vq. + */ + ctrlq_add_cmd(vq, &vb->free_page_cmd_in, true); + } + virtqueue_kick(vq); +} +static void report_free_page_end(struct virtio_balloon *vb) +{ /* - * We expect two virtqueues: inflate and deflate, and - * optionally stat. + * The host may have already requested to stop the reporting before we + * finish, so no need to notify the host in this case. */ - nvqs = virtio_has_feature(vb->vdev, VIRTIO_BA...
2017 Nov 03
0
[PATCH v17 6/6] virtio-balloon: VIRTIO_BALLOON_F_FREE_PAGE_VQ
...s; + struct virtio_balloon *vb = (struct virtio_balloon *)opaque; + void *addr = (void *)pfn_to_kaddr(pfn); + uint32_t len = nr_pages << PAGE_SHIFT; + + if (vb->report_free_page_stop) + return false; + + send_free_page_sg(vb->free_page_vq, addr, len); + return true; +} + +static void report_free_page_end(struct virtio_balloon *vb) +{ + u32 cmd = VIRTIO_BALLOON_CMD_REPORT_FREE_PAGE_STOP; /* - * We expect two virtqueues: inflate and deflate, and - * optionally stat. + * The host may have already requested to stop the reporting before we + * finish, so no need to notify the host in this case....
2017 Nov 13
3
[PATCH v17 6/6] virtio-balloon: VIRTIO_BALLOON_F_FREE_PAGE_VQ
...que; > + void *addr = (void *)pfn_to_kaddr(pfn); > + uint32_t len = nr_pages << PAGE_SHIFT; > + > + if (vb->report_free_page_stop) > + return false; > + > + send_free_page_sg(vb->free_page_vq, addr, len); > > + return true; > +} > + > +static void report_free_page_end(struct virtio_balloon *vb) > +{ > + u32 cmd = VIRTIO_BALLOON_CMD_REPORT_FREE_PAGE_STOP; > /* > - * We expect two virtqueues: inflate and deflate, and > - * optionally stat. > + * The host may have already requested to stop the reporting before we > + * finish, so no need...
2017 Nov 13
3
[PATCH v17 6/6] virtio-balloon: VIRTIO_BALLOON_F_FREE_PAGE_VQ
...que; > + void *addr = (void *)pfn_to_kaddr(pfn); > + uint32_t len = nr_pages << PAGE_SHIFT; > + > + if (vb->report_free_page_stop) > + return false; > + > + send_free_page_sg(vb->free_page_vq, addr, len); > > + return true; > +} > + > +static void report_free_page_end(struct virtio_balloon *vb) > +{ > + u32 cmd = VIRTIO_BALLOON_CMD_REPORT_FREE_PAGE_STOP; > /* > - * We expect two virtqueues: inflate and deflate, and > - * optionally stat. > + * The host may have already requested to stop the reporting before we > + * finish, so no need...
2017 Nov 13
0
[PATCH v17 6/6] virtio-balloon: VIRTIO_BALLOON_F_FREE_PAGE_VQ
...a kaddr? > > + uint32_t len = nr_pages << PAGE_SHIFT; > > + > > + if (vb->report_free_page_stop) > > + return false; > > + > > + send_free_page_sg(vb->free_page_vq, addr, len); > > + return true; > > +} > > + > > +static void report_free_page_end(struct virtio_balloon *vb) > > +{ > > + u32 cmd = VIRTIO_BALLOON_CMD_REPORT_FREE_PAGE_STOP; > > /* > > - * We expect two virtqueues: inflate and deflate, and > > - * optionally stat. > > + * The host may have already requested to stop the reporting before w...
2017 Nov 16
0
[virtio-dev] Re: [PATCH v17 6/6] virtio-balloon: VIRTIO_BALLOON_F_FREE_PAGE_VQ
...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->free_page_vq); >> + report_free_page_end(vb); >> +} >> + > I think there's an issue here: if pages are poisoned and hypervisor > subsequently drops them, testing them after allocation will > trigger a false positive. > > The specific configuration: > > PAGE_POISONING on > PAGE_POISONING_NO_SANITY of...
2017 Nov 17
0
[virtio-dev] Re: [PATCH v17 6/6] virtio-balloon: VIRTIO_BALLOON_F_FREE_PAGE_VQ
...* 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->free_page_vq); > > > > + report_free_page_end(vb); > > > > +} > > > > + > > > I think there's an issue here: if pages are poisoned and hypervisor > > > subsequently drops them, testing them after allocation will > > > trigger a false positive. > > > > > > The specific co...
2017 Oct 01
2
[PATCH v16 5/5] virtio-balloon: VIRTIO_BALLOON_F_CTRL_VQ
...at and why is it a good idea? And how do you know this is migration even? Looks like all you know is you got free page end. Could be any reason for this. > + */ > + ctrlq_add_cmd(vq, &vb->free_page_cmd_in, true); > + } > + virtqueue_kick(vq); > +} > > +static void report_free_page_end(struct virtio_balloon *vb) > +{ > /* > - * We expect two virtqueues: inflate and deflate, and > - * optionally stat. > + * The host may have already requested to stop the reporting before we > + * finish, so no need to notify the host in this case. > */ > - nvqs = v...
2017 Oct 01
2
[PATCH v16 5/5] virtio-balloon: VIRTIO_BALLOON_F_CTRL_VQ
...at and why is it a good idea? And how do you know this is migration even? Looks like all you know is you got free page end. Could be any reason for this. > + */ > + ctrlq_add_cmd(vq, &vb->free_page_cmd_in, true); > + } > + virtqueue_kick(vq); > +} > > +static void report_free_page_end(struct virtio_balloon *vb) > +{ > /* > - * We expect two virtqueues: inflate and deflate, and > - * optionally stat. > + * The host may have already requested to stop the reporting before we > + * finish, so no need to notify the host in this case. > */ > - nvqs = v...
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
2017 Sep 30
12
[PATCH v16 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 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