|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] Claim mode and HVM PoD interact badly
>>> On 10.01.14 at 17:07, Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx> wrote:
> On Fri, Jan 10, 2014 at 03:52:08PM +0000, Jan Beulich wrote:
>> >>> On 10.01.14 at 16:41, Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx>
>> >>> wrote:
>> > On Fri, Jan 10, 2014 at 03:10:48PM +0000, Wei Liu wrote:
>> >> On Fri, Jan 10, 2014 at 09:58:07AM -0500, Konrad Rzeszutek Wilk wrote:
>> >> > --- a/tools/libxc/xc_hvm_build_x86.c
>> >> > +++ b/tools/libxc/xc_hvm_build_x86.c
>> >> > @@ -335,7 +335,12 @@ static int setup_guest(xc_interface *xch,
>> >> >
>> >> > /* try to claim pages for early warning of insufficient memory
> available */
>> >> > if ( claim_enabled ) {
>> >> > - rc = xc_domain_claim_pages(xch, dom, nr_pages - cur_pages);
>> >> > + unsigned long nr = nr_pages - cur_pages;
>> >> > +
>> >> > + if ( pod_mode )
>> >> > + nr = target_pages - 0x20;
>> >> > +
>> >>
>> >> Yes it should work because this makes nr smaller than d->tot_pages and
>> >> d->max_pages. But according to the comment you pasted above this looks
>> >> like wrong fix...
>> >
>> > It should be:
>> >
>> > tot_pages = 128MB
>> > max_pages = 256MB
>> > nr = 256MB - 0x20.
>> >
>> > So tot_pages < max_pages > nr && nr > tot_pages
>> >
>> > If I got my variables right.
>> > Which means that 'nr' is greater than tot_pages but less than max_pages.
>>
>> But that seems conceptually wrong: As was said before, the guest
>> should only get 128Mb allocated, hence it would be wrong to claim
>> almost 256Mb for it.
>
> At the start of the day (that is when the guest starts) it would only have
> 128MB allocated to it. But before then it needs 256MB (at least that is
> based on looking at the code).
>
> I do agree it is seems odd that the cache allocates memory, then
> frees it. But I might also be reading the code wrong.
I'm afraid you do - Xen would refuse to allocate more than the
current memory target to a domain, i.e. in the example here
more than 128Mb. All of the rest of the guest memory must be
fake (zeroed) pages.
Jan
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |