On Tue, Apr 26, 2022 at 02:17:41AM +0300, Artyom wrote: > Yes, the original postcopy paper ( > https://kartikgopalan.github.io/publications/hines09postcopy_osr.pdf) > suggests optimizations. For example, prepaging uses hints from the VM's > page access patterns to reduce both the number of major network faults and > the duration of the migration phase. After examining the code in > migration/, I could not find any mention of these optimizations. Perhaps > the ideas from the paper have already been tried to implement in QEMU, but > they were abandoned?
They're partly implemented, afaict. See ram_find_and_save_block(), if we got a postcopy requested page we'll by default remember it in rs->last_page and we'll do forward-direction-only bubbling since we'll start to send follow up pages from there. We also have free page reportings too with virtio-balloon device's existance. I don't think we have double-direction bubbling, or multi-pivot bubbling. I'm not sure whether they were discussed/abandoned or not. I think Dave should know the best so I'll leave the rest to him.. -- Peter Xu