xen-devel.lists.xenproject.org archive mirror
 help / color / mirror / Atom feed
From: Dario Faggioli <dario.faggioli@citrix.com>
To: Ian Jackson <Ian.Jackson@eu.citrix.com>, Juergen Gross <jgross@suse.com>
Cc: Wei Liu <wei.liu2@citrix.com>, xen-devel@lists.xen.org
Subject: Re: [PATCH v4 2/3] libxl: print message how to recover from xl cpupool-cpu-remove errors
Date: Thu, 14 Apr 2016 19:10:36 +0200	[thread overview]
Message-ID: <1460653836.13871.176.camel@citrix.com> (raw)
In-Reply-To: <22287.49160.37423.898465@mariner.uk.xensource.com>


[-- Attachment #1.1: Type: text/plain, Size: 2187 bytes --]

On Thu, 2016-04-14 at 17:06 +0100, Ian Jackson wrote:
> Juergen Gross writes ("[PATCH v4 2/3] libxl: print message how to
> recover from xl cpupool-cpu-remove errors"):
> > 
> > An error occurring when calling "xl cpupool-cpu-remove" might leave
> > the system in a state where a cpu is neither completely free nor in
> > a cpupool.
> Surely this is a bug.  Can it not be avoided ?
> 
Not easily (and in general not with any patch that I'd consider
appropriate for this phase of the release process), as it depends on
transient situations in the hypervisor, such as lock contention on
scheduling data structures.

> > This can easily be repaired by adding the cpu via
> > "xl cpupool-cpu-add" to the cpupool where it was removed from
> > before.
> > Print a message telling this the user in case of an error.
> ...
> > 
> > -    if (libxl_cpupool_cpuremove_cpumap(ctx, poolid, &cpumap))
> > -        fprintf(stderr, "some cpus may not have been removed from
> > %s\n", pool);
> > +    if (libxl_cpupool_cpuremove_cpumap(ctx, poolid, &cpumap)) {
> > +        fprintf(stderr, "Some cpus may have not or only partially
> > been removed from '%s'.\n", pool);
> > +        fprintf(stderr, "If a cpu can't be added to another
> > cpupool, add it to '%s' again and retry.\n", pool);
> > +    }
> If it can't be avoided then I guess this will have to do but I remain
> to be convinced.
> 
And in fact, it's not something that is introduced by this series,
which is, with this patch, just taking the chance to document things
better (although, this series introduces one more way for the issue to
occur).

Doing some retries at levels lower than this would minimize the chance
of the user actually getting to deal with the problem. For eaxmple,
what's done in libxc... but as you pointed out, that introduces other
problems, so I'm not sure. :-/

Dario
-- 
<<This happens because I choose it to happen!>> (Raistlin Majere)
-----------------------------------------------------------------
Dario Faggioli, Ph.D, http://about.me/dario.faggioli
Senior Software Engineer, Citrix Systems R&D Ltd., Cambridge (UK)


[-- Attachment #1.2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 181 bytes --]

[-- Attachment #2: Type: text/plain, Size: 126 bytes --]

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

  reply	other threads:[~2016-04-14 17:10 UTC|newest]

Thread overview: 27+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-03-10  5:27 [PATCH v4 0/3] add hypercall option to temporarily pin a vcpu Juergen Gross
2016-03-10  5:27 ` [PATCH v4 1/3] libxc: do some retries in xc_cpupool_removecpu() for EBUSY case Juergen Gross
2016-03-10 10:26   ` Dario Faggioli
2016-03-10 17:16   ` Wei Liu
2016-04-12 13:02   ` Olaf Hering
2016-04-12 13:45     ` Juergen Gross
2016-04-12 13:50       ` Olaf Hering
2016-04-12 13:57       ` Wei Liu
2016-04-14 16:04   ` Ian Jackson
2016-03-10  5:27 ` [PATCH v4 2/3] libxl: print message how to recover from xl cpupool-cpu-remove errors Juergen Gross
2016-04-14 16:06   ` Ian Jackson
2016-04-14 17:10     ` Dario Faggioli [this message]
2016-04-14 17:22       ` Ian Jackson
2016-04-14 17:27         ` Dario Faggioli
2016-03-10  5:27 ` [PATCH v4 3/3] libxl: add force option for xl vcpu-pin Juergen Gross
2016-03-10 10:25   ` Dario Faggioli
2016-03-10 17:17   ` Wei Liu
2016-04-14 16:10   ` Ian Jackson
2016-04-14 17:18     ` Dario Faggioli
2016-03-22  7:36 ` [PATCH v4 0/3] add hypercall option to temporarily pin a vcpu Juergen Gross
2016-03-24 14:03   ` Wei Liu
2016-03-24 17:58     ` Juergen Gross
2016-03-24 19:41       ` Wei Liu
2016-03-30 10:28         ` Juergen Gross
2016-03-30 14:23           ` Konrad Rzeszutek Wilk
2016-04-14 16:11             ` Ian Jackson
2016-04-14 19:15               ` Konrad Rzeszutek Wilk

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=1460653836.13871.176.camel@citrix.com \
    --to=dario.faggioli@citrix.com \
    --cc=Ian.Jackson@eu.citrix.com \
    --cc=jgross@suse.com \
    --cc=wei.liu2@citrix.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).