From: David Vrabel <david.vrabel@citrix.com>
To: Dan Magenheimer <dan.magenheimer@oracle.com>
Cc: Keir Fraser <keir@xen.org>,
Ian Campbell <Ian.Campbell@citrix.com>,
Konrad Wilk <konrad.wilk@oracle.com>,
Andres Lagar-Cavilla <andreslc@gridcentric.ca>,
Matthew Daley <mattjd@gmail.com>, TimDeegan <tim@xen.org>,
xen-devel@lists.xen.org, Jan Beulich <JBeulich@suse.com>,
Zhigang Wang <zhigang.x.wang@oracle.com>
Subject: Re: [PATCH v8 1/2] hypervisor: XENMEM_claim_pages (subop of existing) hypercall
Date: Thu, 29 Nov 2012 11:25:43 +0000 [thread overview]
Message-ID: <50B74637.9030309@citrix.com> (raw)
In-Reply-To: <cd59ddd0-be45-47e3-b762-a5d630c2df43@default>
On 28/11/12 15:50, Dan Magenheimer wrote:
> This is patch 1of2 of an eighth cut of the patch of the proposed
> XENMEM_claim_pages hypercall/subop, taking into account review
> feedback from Jan and Keir and IanC and Matthew Daley, plus some
> fixes found via runtime debugging (using printk and privcmd only).
>
[...]
>
> Proposed:
> - call claim for mem=N amount of memory
> - if claim succeeds:
> call populate_physmap repeatedly to achieve mem=N memory (failsafe)
> else
> report -ENOMEM up the stack
> - claim is held until mem=N is achieved or the domain dies or
> the toolstack changes it to 0
> - memory is held until domain dies or the toolstack decreases it
There is no mechanism for per-NUMA node claim. Isn't this needed?
More fundamentally, doesn't this approach result in a worse user
experience? It's guaranteeing that a new VM can be started but at the
expense of existing VMs on that node.
When making a VM placement decision, the toolstack needs to consider the
future memory requirements of the new and existing VMs on the host and
not just the current (or more correctly, the recently) memory.
It seems more useful to me to have the toolstack (for example) to track
historical memory usage of a VM to allow it to make better predictions
about memory usage. With a better prediction, the number of failed VM
creates due to memory shortage will be minimized. Then, combined with
reducing the cost of a VM create by optimizing the allocator, the cost
of occasionally failing a create will be minimal.
For example, Sally starts her CAD application at 9am, tripling her
desktop VM instances memory usage. If at 0858, the toolstack claimed a
most of the remaining memory for a new VM, then Sally's VM is going to
grind to a halt as it swaps to death.
If the toolstack could predict that that desktop instances memory usage
was about to spike (because it had historical data showing his), it
could have selected a different host and Sally's VM would perform as
expected.
David
next prev parent reply other threads:[~2012-11-29 11:25 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-11-28 15:50 [PATCH v8 1/2] hypervisor: XENMEM_claim_pages (subop of existing) hypercall Dan Magenheimer
2012-11-28 16:19 ` Jan Beulich
2012-11-28 18:05 ` Dan Magenheimer
2012-11-29 8:07 ` Jan Beulich
2012-11-29 9:29 ` Keir Fraser
2012-11-29 11:25 ` David Vrabel [this message]
2012-12-03 21:28 ` Dan Magenheimer
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=50B74637.9030309@citrix.com \
--to=david.vrabel@citrix.com \
--cc=Ian.Campbell@citrix.com \
--cc=JBeulich@suse.com \
--cc=andreslc@gridcentric.ca \
--cc=dan.magenheimer@oracle.com \
--cc=keir@xen.org \
--cc=konrad.wilk@oracle.com \
--cc=mattjd@gmail.com \
--cc=tim@xen.org \
--cc=xen-devel@lists.xen.org \
--cc=zhigang.x.wang@oracle.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.