From: Ian Campbell <Ian.Campbell@citrix.com>
To: Juergen Gross <jgross@suse.com>
Cc: Wei Liu <wei.liu2@citrix.com>,
Andrew Cooper <andrew.cooper3@citrix.com>,
Tim Deegan <tim@xen.org>,
Xen-devel List <xen-devel@lists.xen.org>,
David Vrabel <david.vrabel@citrix.com>,
Jan Beulich <JBeulich@suse.com>,
Shriram Rajagopalan <rshriram@cs.ubc.ca>,
Hongyang Yang <yanghy@cn.fujitsu.com>,
Ian Jackson <Ian.Jackson@eu.citrix.com>
Subject: Re: Buggy interaction of live migration and p2m updates
Date: Fri, 21 Nov 2014 11:24:07 +0000 [thread overview]
Message-ID: <1416569047.26869.25.camel@citrix.com> (raw)
In-Reply-To: <546F2000.9020802@suse.com>
On Fri, 2014-11-21 at 12:20 +0100, Juergen Gross wrote:
> On 11/21/2014 12:15 PM, Ian Campbell wrote:
> > On Fri, 2014-11-21 at 11:07 +0000, Andrew Cooper wrote:
> >> On 21/11/14 10:46, Ian Campbell wrote:
> >>> On Fri, 2014-11-21 at 10:24 +0000, Andrew Cooper wrote:
> >>>> On 21/11/14 09:43, Ian Campbell wrote:
> >>>>> I don't see any (explicit) mention of the pfn_to_mfn_frame_list_list
> >>>>> here, where does that fit in?
> >>>>>
> >>>> It is referenced several times, although not by its exact name.
> >>> Hence no explicit mention.
> >>>
> >>> It's ambiguous when you refer to "higher level frames" (which I presume
> >>> are the reference you are referring to) because some kernels (perhaps
> >>> only historic ones, I've not been keeping up) keep both an N-level tree
> >>> of their own internally and the toolstack visible frame_list_list
> >>> (sometimes partially overlapping at some level). Is every reference to
> >>> "higher level frames" actually intended to be a reference to
> >>> pfn_to_mfn_frame_list_list or not?
> >>
> >> "higher level frames" would be the toolstack-abi-defined first and
> >> second level lists. The logdirty infrastructure can be used to detect
> >> writes to these frames, and therefore detect structural changes to the p2m.
> >>
> >> I would like to hope that every kernel out there keeps this information
> >> correctly up-to-date and updates it in an appropriate order...
> >>
> >>>
> >>> It seems like sometimes you are talking at times about tracking the
> >>> kernel's internal structure and not just pfn_to_mfn_frame_list_list and
> >>> I'm not sure why that would be.
> >>
> >> I apologise for giving this impression. It was not intended.
> >
> > Great, I just wanted to be sure we were all on the same page, since
> > scrobbling around in the kernel's internal data structures would clearly
> > be mad...
> >
> >>
> >>> I'm also not sure why
> >>> pfn_to_mfn_frame_list_list is apparently discounted in the linear case,
> >>> AFAIK the guest is still obliged to keep that up to date regardless of
> >>> the scheme it uses internally for accessing the p2m.
> >>
> >> There are two reasons for the virtual linear p2m, the primary one being
> >> to break the hard 512GB limit given the old 3-level table.
> >>
> >> A 64bit PV guest cannot possibly use the pfn_to_mfn_frame_list_list if
> >> it needs to actually exceed 512GB of RAM. Therefore, to signal the use
> >> the virtual linear method, a PV guest explicitly sets
> >> pfn_to_mfn_frame_list_list to INVALID_MFN, and fills in the brand new
> >> adjacent information.
> >
> > Oh, I hadn't realised this linear p2m stuff involved a guest ABI change.
> > Have I somehow completely missed the xen.git side of these patches? I
> > thought I'd only seen linux.git ones (and hence wasn't looking very
> > closely).
>
> V1 of the patches suggesting such a change have been posted a week ago:
>
> http://lists.xen.org/archives/html/xen-devel/2014-11/msg01276.html
Ah, thanks. I had indeed ignored that as "just another iteration of the
linux patches", oops!
> The linear p2m stuff is a prerequisite for this change, not the reason
> for it.
Ian.
next prev parent reply other threads:[~2014-11-21 11:24 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-11-20 18:28 Buggy interaction of live migration and p2m updates Andrew Cooper
2014-11-21 5:41 ` Juergen Gross
2014-11-21 10:32 ` Andrew Cooper
2014-11-27 15:14 ` Tim Deegan
2014-11-21 9:43 ` Ian Campbell
2014-11-21 10:24 ` Andrew Cooper
2014-11-21 10:46 ` Ian Campbell
2014-11-21 11:07 ` Andrew Cooper
2014-11-21 11:15 ` Ian Campbell
2014-11-21 11:20 ` Juergen Gross
2014-11-21 11:24 ` Ian Campbell [this message]
2014-11-21 12:15 ` Jan Beulich
2014-11-21 12:20 ` Jürgen Groß
2014-11-21 10:43 ` Jan Beulich
2014-11-21 10:54 ` Andrew Cooper
2014-11-27 15:00 ` Tim Deegan
2014-11-27 15:16 ` Andrew Cooper
2014-11-27 15:28 ` Tim Deegan
2014-11-27 15:41 ` Andrew Cooper
2014-12-01 14:38 ` David Vrabel
2014-12-01 16:58 ` Andrew Cooper
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=1416569047.26869.25.camel@citrix.com \
--to=ian.campbell@citrix.com \
--cc=Ian.Jackson@eu.citrix.com \
--cc=JBeulich@suse.com \
--cc=andrew.cooper3@citrix.com \
--cc=david.vrabel@citrix.com \
--cc=jgross@suse.com \
--cc=rshriram@cs.ubc.ca \
--cc=tim@xen.org \
--cc=wei.liu2@citrix.com \
--cc=xen-devel@lists.xen.org \
--cc=yanghy@cn.fujitsu.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.