David Hildenbrand
2020-Apr-17 10:31 UTC
[virtio-dev] Re: [PATCH] virtio-balloon: Disable free page hinting/reporting if page poison is disabled
On 17.04.20 12:29, Michael S. Tsirkin wrote:> On Fri, Apr 17, 2020 at 12:26:24PM +0200, David Hildenbrand wrote: >> On 17.04.20 12:19, Michael S. Tsirkin wrote: >>> On Fri, Apr 17, 2020 at 12:09:38PM +0200, David Hildenbrand wrote: >>>> > What do you call "hinting ends" though? The fact we put >>>>> a page in the VQ is not a guarantee that it's been consumed >>>>> by the hypervisor. >>>>> >>>> >>>> I'd say hinting ends once the hypervisor sets FREE_PAGE_REPORT_S_DONE. >>> >>> Can't find that one anywhere. what did I miss? >> >> Sorry, the QEMU implementation is confusing. FREE_PAGE_REPORT_S_DONE is >> translated to VIRTIO_BALLOON_CMD_ID_DONE > > Well VIRTIO_BALLOON_CMD_ID_DONE just means "don't give me any > more hints, I finished migration". > Guest will stop hinting even without that once it scans all > free memory.Yeah, that's the end of the whole process where you can be sure the host processed all requests definetly. -- Thanks, David / dhildenb
Michael S. Tsirkin
2020-Apr-17 11:02 UTC
[virtio-dev] Re: [PATCH] virtio-balloon: Disable free page hinting/reporting if page poison is disabled
On Fri, Apr 17, 2020 at 12:31:14PM +0200, David Hildenbrand wrote:> On 17.04.20 12:29, Michael S. Tsirkin wrote: > > On Fri, Apr 17, 2020 at 12:26:24PM +0200, David Hildenbrand wrote: > >> On 17.04.20 12:19, Michael S. Tsirkin wrote: > >>> On Fri, Apr 17, 2020 at 12:09:38PM +0200, David Hildenbrand wrote: > >>>> > What do you call "hinting ends" though? The fact we put > >>>>> a page in the VQ is not a guarantee that it's been consumed > >>>>> by the hypervisor. > >>>>> > >>>> > >>>> I'd say hinting ends once the hypervisor sets FREE_PAGE_REPORT_S_DONE. > >>> > >>> Can't find that one anywhere. what did I miss? > >> > >> Sorry, the QEMU implementation is confusing. FREE_PAGE_REPORT_S_DONE is > >> translated to VIRTIO_BALLOON_CMD_ID_DONE > > > > Well VIRTIO_BALLOON_CMD_ID_DONE just means "don't give me any > > more hints, I finished migration". > > Guest will stop hinting even without that once it scans all > > free memory. > > Yeah, that's the end of the whole process where you can be sure the host > processed all requests definetly.It's not guaranteed to happen :) Sending an interrupt at the end of each scan doubles the overhead ...> -- > Thanks, > > David / dhildenb
David Hildenbrand
2020-Apr-17 11:18 UTC
[virtio-dev] Re: [PATCH] virtio-balloon: Disable free page hinting/reporting if page poison is disabled
On 17.04.20 13:02, Michael S. Tsirkin wrote:> On Fri, Apr 17, 2020 at 12:31:14PM +0200, David Hildenbrand wrote: >> On 17.04.20 12:29, Michael S. Tsirkin wrote: >>> On Fri, Apr 17, 2020 at 12:26:24PM +0200, David Hildenbrand wrote: >>>> On 17.04.20 12:19, Michael S. Tsirkin wrote: >>>>> On Fri, Apr 17, 2020 at 12:09:38PM +0200, David Hildenbrand wrote: >>>>>> > What do you call "hinting ends" though? The fact we put >>>>>>> a page in the VQ is not a guarantee that it's been consumed >>>>>>> by the hypervisor. >>>>>>> >>>>>> >>>>>> I'd say hinting ends once the hypervisor sets FREE_PAGE_REPORT_S_DONE. >>>>> >>>>> Can't find that one anywhere. what did I miss? >>>> >>>> Sorry, the QEMU implementation is confusing. FREE_PAGE_REPORT_S_DONE is >>>> translated to VIRTIO_BALLOON_CMD_ID_DONE >>> >>> Well VIRTIO_BALLOON_CMD_ID_DONE just means "don't give me any >>> more hints, I finished migration". >>> Guest will stop hinting even without that once it scans all >>> free memory. >> >> Yeah, that's the end of the whole process where you can be sure the host >> processed all requests definetly. > > It's not guaranteed to happen :) Sending an interrupt at the end > of each scan doubles the overhead ...Yeah, AFAIKs you either get a VIRTIO_BALLOON_CMD_ID_STOP or a VIRTIO_BALLOON_CMD_ID_DONE at the end. And AFAIK both will guarantee that all previous hints were handled. ... but reconstructing this protocol from code is probably too much for a friday afternoon, lol -- Thanks, David / dhildenb
Possibly Parallel Threads
- [virtio-dev] Re: [PATCH] virtio-balloon: Disable free page hinting/reporting if page poison is disabled
- [virtio-dev] Re: [PATCH] virtio-balloon: Disable free page hinting/reporting if page poison is disabled
- [virtio-dev] Re: [PATCH] virtio-balloon: Disable free page hinting/reporting if page poison is disabled
- [virtio-dev] Re: [PATCH] virtio-balloon: Disable free page hinting/reporting if page poison is disabled
- [virtio-dev] Re: [PATCH] virtio-balloon: Disable free page hinting/reporting if page poison is disabled