On 06/12/2017 01:34 PM, Michael S. Tsirkin wrote:Right. By the way, ready-only is one of the dirty page logging
On Mon, Jun 12, 2017 at 09:42:36AM -0700, Dave Hansen wrote:OK, so the migration starts and marks everything read-only. All the
On 06/12/2017 09:28 AM, Michael S. Tsirkin wrote:Yes, and specifically, this is how it works for migration. Normally you
That makes sense. I'm struggling to imagine how the hypervisor makesThe hypervisor is going to throw away the contents of these pages,It should be careful and only throw away contents that was there before
right?
report_unused_page_block was invoked. Hypervisor is responsible for not
corrupting guest memory. But that's not something an mm patch should
worry about.
use of this information, though. Does it make the pages read-only
before this, and then it knows if there has not been a write *and* it
gets notified via this new mechanism that it can throw the page away?
start by migrating all of memory, then send updates incrementally if
pages have been modified. This mechanism allows skipping some pages in
the 1st stage, if they get changed they will be migrated in the 2nd
stage.
pages now have read-only valuable data, or read-only worthless data in
the case that the page is in the free lists. In order for a page to
become non-worthless, it has to have a write done to it, which the
hypervisor obviously knows about.
With this mechanism, the hypervisor knows it can discard pages which
have not had a write since they were known to have worthless contents.
Correct?
If necessary, I think it's better to keep the introduction at high-level:
That also seems like pretty good information to include in the
changelog. Otherwise, folks are going to be left wondering what good
the mechanism is. It's pretty non-trivial to figure out. :)