From: George Dunlap <george.dunlap@eu.citrix.com>
To: Elena Ufimtseva <ufimtseva@gmail.com>
Cc: msw@linux.com, dario.faggioli@citrix.com,
stefano.stabellini@eu.citrix.com, lccycc123@gmail.com,
xen-devel@lists.xen.org
Subject: Re: [PATCH v2 7/7] xl: docs for xl config vnuma options
Date: Thu, 14 Nov 2013 23:31:41 +0000 [thread overview]
Message-ID: <52855D5D.2000902@eu.citrix.com> (raw)
In-Reply-To: <1384399656-24203-1-git-send-email-ufimtseva@gmail.com>
On 11/14/2013 03:27 AM, Elena Ufimtseva wrote:
> Documentation added to xl command regarding usage of vnuma
> configuration options.
>
> Signed-off-by: Elena Ufimtseva <ufimtseva@gmail.com>
> ---
> docs/man/xl.cfg.pod.5 | 55 +++++++++++++++++++++++++++++++++++++++++++++++++
> 1 file changed, 55 insertions(+)
>
> diff --git a/docs/man/xl.cfg.pod.5 b/docs/man/xl.cfg.pod.5
> index d2d8921..db25521 100644
> --- a/docs/man/xl.cfg.pod.5
> +++ b/docs/man/xl.cfg.pod.5
> @@ -216,6 +216,61 @@ if the values of B<memory=> and B<maxmem=> differ.
> A "pre-ballooned" HVM guest needs a balloon driver, without a balloon driver
> it will crash.
>
> +=item B<vnuma_nodes=N>
> +
> +Number of vNUMA nodes the guest will be initialized with on boot. In general case,
> +this is the only required option. If only this option is given, all other
> +vNUMA topology parameters will be taken as default.
> +
> +=item B<vnuma_mem=[vmem1, vmem2, ...]>
> +
> +The vnode memory sizes defined in MBytes. If the sum of all vnode memories
> +does not match the domain memory or not all the nodes defined here, the total
> +memory will be equally split between vnodes.
So the general approach here -- "invalid or empty configurations go to
default" -- isn't quite right. Invalid configurations should throw an
error that stops guest creation. Only unspecified configurations should
go to the default; and the text should say something like, "If
unspecified, the default will be the total memory split equally between
vnodes."
Same with the other options, with one exception...
> +
> +Example: vnuma_mem=[1024, 1024, 2048, 2048]
> +
> +=item B<vdistance=[d1, d2, ... ,dn]>
> +
> +Defines the distance table for vNUMA nodes. Distance for NUMA machines usually
> + represented by two dimensional array and all distance may be spcified in one
> +line here, by rows. In short, distance can be specified as two numbers [d1, d2],
> +where d1 is same node distance, d2 is a value for all other distances.
> +If vdistance was specified with errors, the defaul distance in use, e.g. [10, 20].
> +
> +Examples:
> +vnodes = 3
> +vdistance=[10, 20]
> +will expand to this distance table (this is default setting as well):
> +[10, 20, 20]
> +[20, 10, 20]
> +[20, 20, 10]
> +
> +=item B<vnuma_vcpumap=[vcpu1, vcpu2, ...]>
> +
> +Defines vcpu to vnode mapping as a string of integers, representing node
> +numbers. If not defined, the vcpus are interleaved over the virtual nodes.
> +Current limitation: vNUMA nodes have to have at least one vcpu, otherwise
> +default vcpu_to_vnode will be used.
> +Example:
> +to map 4 vcpus to 2 nodes - 0,1 vcpu -> vnode1, 2,3 vcpu -> vnode2:
> +vnuma_vcpumap = [0, 0, 1, 1]
> +
> +=item B<vnuma_vnodemap=[p1, p2, ..., pn]>
> +
> +vnode to pnode mapping. Can be configured if manual vnode allocation
> +required. Will be only taken into effect on real NUMA machines and if
> +memory or other constraints do not prevent it. If the mapping is fine,
> +automatic NUMA placement will be disabled. If the mapping incorrect,
> +automatic NUMA placement will be taken into account when selecting
> +physical nodes for allocation, or mask will not be used on non-NUMA
> +machines or if automatic allocation fails.
I think by default, if a vnode->pnode mapping is given that can't be
satisfied, we should throw an error. But it may make sense to add a
flag, either in the config file or on the command-line, that will allow
a "fall-back" to the automatic placement if the specified placement
can't be satisfied. (If this is complicated, it can wait to be added in
later.)
-George
prev parent reply other threads:[~2013-11-14 23:31 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-11-14 3:27 [PATCH v2 7/7] xl: docs for xl config vnuma options Elena Ufimtseva
2013-11-14 23:31 ` George Dunlap [this message]
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=52855D5D.2000902@eu.citrix.com \
--to=george.dunlap@eu.citrix.com \
--cc=dario.faggioli@citrix.com \
--cc=lccycc123@gmail.com \
--cc=msw@linux.com \
--cc=stefano.stabellini@eu.citrix.com \
--cc=ufimtseva@gmail.com \
--cc=xen-devel@lists.xen.org \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).