George Dunlap
2009-Sep-23 14:08 UTC
[Xen-devel] Synchronous scrubbing for alloc_domheap_pages()
I''m running into an issue where alloc_domheap_pages() fails, even though there is free memory, because the memory hasn''t been scrubbed yet. The context of this is when ballooning down one VM in order to start a second VM: the balloon driver on the first VM has reached its target, but creation of the second VM fails because the freed memory hasn''t been scrubbed yet. In the situation where there is no memory on the free list, but memory on the "to-be-srubbed" list, is there any reason why we don''t do syncronous scrubbing? The alternative would be to teach the control tools to look at unscrubbed vs free memory, and wait until there was enough to start the VM; but that seems a bit more hackish. I chatted with Tim Deegan about this, and the only issue he could see would be making sure that hypercalls which called alloc_domheap_pages() yielded reasonably. Thoughts? -George _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
George Dunlap
2009-Sep-23 14:40 UTC
[Xen-devel] Re: Synchronous scrubbing for alloc_domheap_pages()
Cancel that... the real problem was that set_pod_target() was trying to allocate superpages, but not falling back to 4k pages if that failed. -George On Wed, Sep 23, 2009 at 3:08 PM, George Dunlap <George.Dunlap@eu.citrix.com> wrote:> I''m running into an issue where alloc_domheap_pages() fails, even > though there is free memory, because the memory hasn''t been scrubbed > yet. The context of this is when ballooning down one VM in order to > start a second VM: the balloon driver on the first VM has reached its > target, but creation of the second VM fails because the freed memory > hasn''t been scrubbed yet. > > In the situation where there is no memory on the free list, but memory > on the "to-be-srubbed" list, is there any reason why we don''t do > syncronous scrubbing? > > The alternative would be to teach the control tools to look at > unscrubbed vs free memory, and wait until there was enough to start > the VM; but that seems a bit more hackish. > > I chatted with Tim Deegan about this, and the only issue he could see > would be making sure that hypercalls which called > alloc_domheap_pages() yielded reasonably. > > Thoughts? > -George >_______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
Keir Fraser
2009-Sep-23 15:17 UTC
[Xen-devel] Re: Synchronous scrubbing for alloc_domheap_pages()
And in fact page scrubbing *is* entirely synchronous in xen-unstable now (but not in any stable branch, as yet). -- Keir On 23/09/2009 15:40, "George Dunlap" <George.Dunlap@eu.citrix.com> wrote:> Cancel that... the real problem was that set_pod_target() was trying > to allocate superpages, but not falling back to 4k pages if that > failed. > > -George > > On Wed, Sep 23, 2009 at 3:08 PM, George Dunlap > <George.Dunlap@eu.citrix.com> wrote: >> I''m running into an issue where alloc_domheap_pages() fails, even >> though there is free memory, because the memory hasn''t been scrubbed >> yet. The context of this is when ballooning down one VM in order to >> start a second VM: the balloon driver on the first VM has reached its >> target, but creation of the second VM fails because the freed memory >> hasn''t been scrubbed yet. >> >> In the situation where there is no memory on the free list, but memory >> on the "to-be-srubbed" list, is there any reason why we don''t do >> syncronous scrubbing? >> >> The alternative would be to teach the control tools to look at >> unscrubbed vs free memory, and wait until there was enough to start >> the VM; but that seems a bit more hackish. >> >> I chatted with Tim Deegan about this, and the only issue he could see >> would be making sure that hypercalls which called >> alloc_domheap_pages() yielded reasonably. >> >> Thoughts? >> -George >>_______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel