[libvirt] [PATCH v3] conf: Ignore emulatorpin if vcpu placement is auto

Martin Kletzander mkletzan at redhat.com
Fri Oct 12 14:56:49 UTC 2012


On 10/12/2012 04:44 PM, Osier Yang wrote:
> When vcpu placement is "auto", the domain process will be pinned
> to advisory nodeset from querying numad, While emulatorpin will
> override the pinning. That means both of them are to set the
> pinning policy for domain process, but conflicts with each other.
> 
> This patch ingore emulatorpin if vcpu placement is "auto", because

s/ingore/ignores/

> <vcpu> placement can't be simply ignored for <numatune> placement
> could default to it. See more details in PATCH 1/7.
> ---
>  src/conf/domain_conf.c |    7 ++++++-
>  1 files changed, 6 insertions(+), 1 deletions(-)
> 
> diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c
> index b0b1d08..6668819 100644
> --- a/src/conf/domain_conf.c
> +++ b/src/conf/domain_conf.c
> @@ -8872,7 +8872,12 @@ static virDomainDefPtr virDomainDefParseXML(virCapsPtr caps,
>          goto error;
>      }
>  
> -    if (n) {
> +    /* Ignore emulatorpin if <vcpu> placement is "auto", they
> +     * conflicts with each other, and <vcpu> placement can't be
> +     * simply ignored, as <numatune>'s placement defaults to it.
> +     */
> +    if (n &&
> +        (def->placement_mode != VIR_DOMAIN_CPU_PLACEMENT_MODE_AUTO)) {
>          if (n > 1) {
>              virReportError(VIR_ERR_XML_ERROR, "%s",
>                             _("only one emulatorpin is supported"));
> 

I neglected to mention I wanted to have VIR_WARN there (as with the
[2/7]), sorry for that.  I still think it should be there, though, so
ACK, but with that warn in there.

Martin




More information about the libvir-list mailing list