From: "Dr. David Alan Gilbert" <dgilbert@redhat.com>
To: Andrea Arcangeli <aarcange@redhat.com>
Cc: "Kirill A. Shutemov" <kirill@shutemov.name>,
"Li, Liang Z" <liang.z.li@intel.com>,
"kirill.shutemov@linux.intel.com"
<kirill.shutemov@linux.intel.com>,
Amit Shah <amit.shah@redhat.com>,
"qemu-devel@nongnu.org" <qemu-devel@nongnu.org>,
"quintela@redhat.com" <quintela@redhat.com>,
"linux-mm@kvack.org" <linux-mm@kvack.org>
Subject: Re: post-copy is broken?
Date: Thu, 21 Apr 2016 20:21:10 +0100 [thread overview]
Message-ID: <20160421192110.GA27954@work-vm> (raw)
In-Reply-To: <20160420172754.GJ2263@work-vm>
Hi Andrea,
I'm wondering if this bug is the opposite way around from what I originally
thought it was - I don't think the problem is 0 pages on the destination; I think
it's more subtle.
I added some debug to print the source VMs memory and also
the byte in the destination's 1st page (this is in the nest):
nhp_range: block: pc.ram @ 0x7fc59a800000
Destination 1st byte: e8,df <stop> df
OK, so that tells us that the destination is running OK, and that it
stops running when we tell it to.
Memory content inconsistency at f79000 first_byte = df last_byte = de current = 9 hit_edge = 1 src_byte = 9
'src_byte' is saying that the source VM had the byte 9 in that page (we've still got the source VMs memory - it's
paused at this point in the test)
so adding the start of pc.ram we get that being a host address of 0x7FC59B779000 and in the logs I see:
postcopy_place_page: 0x55ba64503f7d->0x7fc59b779000 copy=4096 1stbyte=9/9
OK, so that shows that when the destination received the page it was also '9' and after the uffdio_copy
it read as 9 - so the page made it into RAM; it wasn't 0.
But that also means, that page hasn't changed *after* migration; why not?
We can see that the other pages are changing (that Destination 1st byte
line shows the 1st byte of the test memory changed) - so the incrementer
loop has apparently incremented every byte of the test memory multiple
times - except these pages are still stuck at the '9' it got when we
placed the page into it atomically.
I've been unable to trigger this bug in a standalone test case that ran
without kvm.
Is it possible that the guest KVM CPU isn't noticing some change to
the mapping?
Dave
--
Dr. David Alan Gilbert / dgilbert@redhat.com / Manchester, UK
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
WARNING: multiple messages have this Message-ID (diff)
From: "Dr. David Alan Gilbert" <dgilbert@redhat.com>
To: Andrea Arcangeli <aarcange@redhat.com>
Cc: "Kirill A. Shutemov" <kirill@shutemov.name>,
"Li, Liang Z" <liang.z.li@intel.com>,
"kirill.shutemov@linux.intel.com"
<kirill.shutemov@linux.intel.com>,
Amit Shah <amit.shah@redhat.com>,
"qemu-devel@nongnu.org" <qemu-devel@nongnu.org>,
"quintela@redhat.com" <quintela@redhat.com>,
"linux-mm@kvack.org" <linux-mm@kvack.org>
Subject: Re: [Qemu-devel] post-copy is broken?
Date: Thu, 21 Apr 2016 20:21:10 +0100 [thread overview]
Message-ID: <20160421192110.GA27954@work-vm> (raw)
In-Reply-To: <20160420172754.GJ2263@work-vm>
Hi Andrea,
I'm wondering if this bug is the opposite way around from what I originally
thought it was - I don't think the problem is 0 pages on the destination; I think
it's more subtle.
I added some debug to print the source VMs memory and also
the byte in the destination's 1st page (this is in the nest):
nhp_range: block: pc.ram @ 0x7fc59a800000
Destination 1st byte: e8,df <stop> df
OK, so that tells us that the destination is running OK, and that it
stops running when we tell it to.
Memory content inconsistency at f79000 first_byte = df last_byte = de current = 9 hit_edge = 1 src_byte = 9
'src_byte' is saying that the source VM had the byte 9 in that page (we've still got the source VMs memory - it's
paused at this point in the test)
so adding the start of pc.ram we get that being a host address of 0x7FC59B779000 and in the logs I see:
postcopy_place_page: 0x55ba64503f7d->0x7fc59b779000 copy=4096 1stbyte=9/9
OK, so that shows that when the destination received the page it was also '9' and after the uffdio_copy
it read as 9 - so the page made it into RAM; it wasn't 0.
But that also means, that page hasn't changed *after* migration; why not?
We can see that the other pages are changing (that Destination 1st byte
line shows the 1st byte of the test memory changed) - so the incrementer
loop has apparently incremented every byte of the test memory multiple
times - except these pages are still stuck at the '9' it got when we
placed the page into it atomically.
I've been unable to trigger this bug in a standalone test case that ran
without kvm.
Is it possible that the guest KVM CPU isn't noticing some change to
the mapping?
Dave
--
Dr. David Alan Gilbert / dgilbert@redhat.com / Manchester, UK
next prev parent reply other threads:[~2016-04-21 19:21 UTC|newest]
Thread overview: 51+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-04-12 9:23 [Qemu-devel] post-copy is broken? Li, Liang Z
2016-04-12 9:37 ` Dr. David Alan Gilbert
2016-04-12 17:55 ` Dr. David Alan Gilbert
2016-04-13 0:43 ` Li, Liang Z
2016-04-13 2:28 ` Li, Liang Z
2016-04-13 8:06 ` Dr. David Alan Gilbert
2016-04-13 11:41 ` Dr. David Alan Gilbert
2016-04-13 12:50 ` Dr. David Alan Gilbert
2016-04-13 20:51 ` Andrea Arcangeli
2016-04-14 10:13 ` Dr. David Alan Gilbert
2016-04-14 12:34 ` Dr. David Alan Gilbert
2016-04-14 16:22 ` Andrea Arcangeli
2016-04-14 16:22 ` [Qemu-devel] " Andrea Arcangeli
2016-04-15 12:52 ` Kirill A. Shutemov
2016-04-15 12:52 ` [Qemu-devel] " Kirill A. Shutemov
2016-04-15 13:42 ` Dr. David Alan Gilbert
2016-04-15 13:42 ` [Qemu-devel] " Dr. David Alan Gilbert
2016-04-15 15:23 ` Kirill A. Shutemov
2016-04-15 15:23 ` [Qemu-devel] " Kirill A. Shutemov
2016-04-15 16:34 ` Dr. David Alan Gilbert
2016-04-15 16:34 ` [Qemu-devel] " Dr. David Alan Gilbert
2016-04-18 9:50 ` Li, Liang Z
2016-04-18 9:50 ` [Qemu-devel] " Li, Liang Z
2016-04-18 9:55 ` Dr. David Alan Gilbert
2016-04-18 9:55 ` [Qemu-devel] " Dr. David Alan Gilbert
2016-04-18 10:06 ` Li, Liang Z
2016-04-18 10:06 ` [Qemu-devel] " Li, Liang Z
2016-04-18 10:15 ` Dr. David Alan Gilbert
2016-04-18 10:15 ` [Qemu-devel] " Dr. David Alan Gilbert
2016-04-18 10:33 ` Li, Liang Z
2016-04-18 10:33 ` [Qemu-devel] " Li, Liang Z
2016-04-18 13:23 ` Dr. David Alan Gilbert
2016-04-18 13:23 ` [Qemu-devel] " Dr. David Alan Gilbert
2016-04-18 17:18 ` Dr. David Alan Gilbert
2016-04-18 17:18 ` [Qemu-devel] " Dr. David Alan Gilbert
2016-04-20 17:27 ` Dr. David Alan Gilbert
2016-04-20 17:27 ` [Qemu-devel] " Dr. David Alan Gilbert
2016-04-21 19:21 ` Dr. David Alan Gilbert [this message]
2016-04-21 19:21 ` Dr. David Alan Gilbert
2016-04-27 14:47 ` Andrea Arcangeli
2016-04-27 14:47 ` [Qemu-devel] " Andrea Arcangeli
2016-04-28 2:59 ` Li, Liang Z
2016-04-28 2:59 ` [Qemu-devel] " Li, Liang Z
2016-04-28 8:03 ` Dr. David Alan Gilbert
2016-04-28 8:03 ` [Qemu-devel] " Dr. David Alan Gilbert
2016-04-15 22:19 ` Andrea Arcangeli
2016-04-15 22:19 ` [Qemu-devel] " Andrea Arcangeli
2016-04-18 9:40 ` Dr. David Alan Gilbert
2016-04-18 9:40 ` [Qemu-devel] " Dr. David Alan Gilbert
2016-04-18 9:58 ` Li, Liang Z
2016-04-18 9:58 ` [Qemu-devel] " Li, Liang Z
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20160421192110.GA27954@work-vm \
--to=dgilbert@redhat.com \
--cc=aarcange@redhat.com \
--cc=amit.shah@redhat.com \
--cc=kirill.shutemov@linux.intel.com \
--cc=kirill@shutemov.name \
--cc=liang.z.li@intel.com \
--cc=linux-mm@kvack.org \
--cc=qemu-devel@nongnu.org \
--cc=quintela@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.