This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
Home Products Support Community News


RE: [Xen-devel] mem_sharing: summarized problems when domain is dying

Hi George:
  Appreciate for your kindly help.
 I think the page type should be changed inside mem_sharing_unshare_page() in shr_lock too
,to prevent someone might unshare the page again. So your patch and mine makes the whole solution.
As for my patch, it seems that use put_page_and_type(page); to clean the page is enough, and 
don't need to   BUG_ON(set_shared_p2m_entry_invalid(d, gfn)==0); ( which actually calls
set_p2m_entry(d, gfn, _mfn(INVALID_MFN), 0, p2m_invalid)  ), right?
One another thing is rcu_lock_domain_by_id(d->domain_id);  When someone hold this lock,
d->is_dying = 0, does this mean  d->is_dying will not be changed untill it call rcu_unlock_domain?
That is to say, the lock actually protects whole d structure?

> Date: Fri, 21 Jan 2011 16:41:47 +0000
> Subject: Re: [Xen-devel] mem_sharing: summarized problems when domain is dying
> From: George.Dunlap@xxxxxxxxxxxxx
> To: juihaochiang@xxxxxxxxx
> CC: Tim.Deegan@xxxxxxxxxx; tinnycloud@xxxxxxxxxxx; xen-devel@xxxxxxxxxxxxxxxxxxx
> Tim / Xiaoyun, do you think something like this might work?
> -George
> On Fri, Jan 21, 2011 at 4:32 PM, George Dunlap <dunlapg@xxxxxxxxx> wrote:
> > [sorry, accidentally sent too early]
> >
> > On Fri, Jan 21, 2011 at 4:29 PM, George Dunlap <dunlapg@xxxxxxxxx> wrote:
> >> I'm not sure the exact rationale behind the "cannot fail" flag; but it
> >> looks like in grant_table.c, both callers of gfn_to_mfn_unshare()
> >> handle the case where the returned p2m entry is just
> >
> > ...invalid.  I wonder if "unsharing" the page, but marking the entr y
> > invalid during death would help.
> >
> > I suppose the problem there is that if you're keeping the VM around
> > but paused for analysis, you'll have holes in your address space.  But
> > just returning an invalid entry to the callers who try to unshare
> > pages might work.
> >
> >  -George
> >
Xen-devel mailing list