[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH] libxc: refactor memory allocation functions



On Tue, Dec 01, 2015 at 11:58:44AM +0000, Ian Campbell wrote:
> On Tue, 2015-12-01 at 11:39 +0000, Wei Liu wrote:
> > There were some problems with the original memory allocation functions:
> > 1. xc_dom_alloc_segment and xc_dom_alloc_pad ended up calling
> >    xc_dom_chk_alloc_pages while xc_dom_alloc_page open-coded everything.
> > 2. xc_dom_alloc_pad didn't call dom->allocate.
> > 
> > Refactor the code so that:
> > 1. xc_dom_alloc_{segment,pad,page} end up calling
> >    xc_dom_chk_alloc_pages.
> > 2. xc_dom_chk_alloc_pages calls dom->allocate.
> > 
> > This way we avoid scattering dom->allocate over multiple locations and
> > open-coding.
> > 
> > Also change the return type of xc_dom_alloc_page to xen_pfn_t and return
> > an invalid pfn when xc_dom_chk_alloc_pages fails.
> 
> Given this presumably the handful of callers ought to gain some error
> handling in a followup patch?
> 

Yes, that's for sure.

> xc_dom_chk_alloc_pages does log, so at least the callers needn't bother
> with that.
> 
> > Signed-off-by: Wei Liu <wei.liu2@xxxxxxxxxx>
> 
> Acked-by: Ian Campbell <ian.campbell@xxxxxxxxxx>
> 
> > ---
> > Cc: Ian Campbell <ian.campbell@xxxxxxxxxx>
> > Cc: Ian Jackson <ian.jackson@xxxxxxxxxxxxx>
> > Cc: Juergen Gross <jgross@xxxxxxxx>
> > 
> > We don't have INVALID_PFN, maybe we need one?
> 
> We have INVALID_MFN and INVALID_P2M_ENTRY, not sure if the latter fits the
> bill (or if not how it is distinct from the former).
> 

Yeah, I'm aware of those but they don't seem to fit because they are
used in MFN space.

> > 
> > Tested with Jessie with 64 bit pvgrub, Wheezy with 64 bit pvgrub, Wheezy
> > pv
> > guest, Wheezy HVM guest, Wheezy HVM with qemu stubdom.
> 
> Also by me in my previously failing environment =>
> 
> Tested-by: Ian Campbell <ian.campbell@xxxxxxxxxx>
> 
> I think there are two more fixes in this space:
>     libxc: correct domain builder for 64 bit guest with 32 bit tools
>     libxc: use correct return type for do_memory_op()
> 
> I intend to pick up all three for commit in a moment, prod me if there are
> others.
> 

This one and the other two are all that I'm aware of at the moment.

Wei.

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.