>> Issue 2: When called via the shrinker, (but also to fix Issue 1), it could be that >> we do have VIRTIO_BALLOON_F_MUST_TELL_HOST. > > I don't think it is an issue here. > MUST_TELL_HOST is for the ballooning pages, where pages are offered to host to _USE_. > For free page hint, as the name already suggests, it's just a _HINT_ , so in whatever use case, > the host should not take the page to use. So the guest doesn't need to tell host and wait. Yes, I agree with you. Yet, I am thinking about one (unlikely?impossible?) scenario. Can you refresh my brain why that cannot happen (IOW, why we don't have to wait for the host to process the request)? 1. Guest allocates a page and sends it to the host. 2. Shrinker gets active and releases that page again. 3. Some user in the guest allocates and modifies that page. After that, it is done using that page for the next hour. 4. The host processes the request and clears the bit in the dirty bitmap. 5. The guest is being migrated by the host. The modified page is not being migrated. -- Thanks, David / dhildenb