All of lore.kernel.org
 help / color / mirror / Atom feed
From: Juergen Gross <jgross@suse.com>
To: Dario Faggioli <dfaggioli@suse.com>, xen-devel@lists.xenproject.org
Cc: Stefano Stabellini <sstabellini@kernel.org>,
	Wei Liu <wei.liu2@citrix.com>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	George Dunlap <George.Dunlap@eu.citrix.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Ian Jackson <ian.jackson@eu.citrix.com>, Tim Deegan <tim@xen.org>,
	Julien Grall <julien.grall@arm.com>,
	Jan Beulich <jbeulich@suse.com>
Subject: Re: [PATCH 3/6] xen: add new cpu notifier action CPU_RESUME_FAILED
Date: Mon, 25 Mar 2019 13:29:30 +0100	[thread overview]
Message-ID: <ded64901-abf7-ee07-a7d5-105697d60795@suse.com> (raw)
In-Reply-To: <37954eb9e9efb9b95c603458b298bc1a51b6354f.camel@suse.com>

On 25/03/2019 13:21, Dario Faggioli wrote:
> On Mon, 2019-03-18 at 14:11 +0100, Juergen Gross wrote:
>> --- a/xen/include/xen/cpu.h
>> +++ b/xen/include/xen/cpu.h
>> @@ -32,23 +32,25 @@ void register_cpu_notifier(struct notifier_block
>> *nb);
>>   *  (a) A CPU is going down; or (b) CPU_UP_CANCELED
>>   */
>>  /* CPU_UP_PREPARE: Preparing to bring CPU online. */
>> -#define CPU_UP_PREPARE   (0x0001 | NOTIFY_FORWARD)
>> +#define CPU_UP_PREPARE    (0x0001 | NOTIFY_FORWARD)
>>
> In the comment block before these definitions, there's this:
> 
>  * Possible event sequences for a given CPU:
>  *  CPU_UP_PREPARE -> CPU_UP_CANCELLED           -- failed CPU up
>  *  CPU_UP_PREPARE -> CPU_STARTING -> CPU_ONLINE -- successful CPU up
>  *  CPU_DOWN_PREPARE -> CPU_DOWN_FAILED          -- failed CPU down
>  *  CPU_DOWN_PREPARE -> CPU_DYING -> CPU_DEAD    -- successful CPU down
> 
> Shouldn't we add a line for this new hook? Something, IIUIC, like:
> 
>  CPU_UP_PREPARE -> CPU_UP_CANCELLED -> CPU_RESUME_FAILED --CPU not resuming

Fine with me.

> 
> With this, FWIW,
> 
> Reviewed-by: Dario Faggioli <dfaggioli@suse.com>
> 
> One more (minor) thing...
> 
>>  /* CPU_REMOVE: CPU was removed. */
>> -#define CPU_REMOVE       (0x0009 | NOTIFY_REVERSE)
>> +#define CPU_REMOVE        (0x0009 | NOTIFY_REVERSE)
>> +/* CPU_RESUME_FAILED: CPU failed to come up in resume, all other CPUs up. */
>> +#define CPU_RESUME_FAILED (0x000a | NOTIFY_REVERSE)
>>  
> ... technically, when we're dealing with CPU_RESUME_FAILED on one CPU,
> we don't know if _all_ others really went up, so I think I'd remove
> what follows the ','.

The point is that for the CPU_RESUME_FAILED case we can be sure that no
cpu will come up due to resume just a little bit later. So we can test
for e.g. a cpupool suddenly having no more cpus available. This is in
contrast to CPU_UP_CANCELLED being signalled just after the one cpu
failing to come up, but before the next cpu is triggered to come up.


Juergen

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel

  reply	other threads:[~2019-03-25 12:29 UTC|newest]

Thread overview: 44+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-03-18 13:11 [PATCH 0/6] xen: simplify suspend/resume handling Juergen Gross
2019-03-18 13:11 ` [PATCH 1/6] xen/sched: call cpu_disable_scheduler() via cpu notifier Juergen Gross
2019-03-27 15:34   ` Andrew Cooper
2019-03-27 15:35   ` George Dunlap
2019-03-27 16:22   ` Jan Beulich
2019-03-27 16:24   ` Dario Faggioli
2019-03-27 16:31     ` Juergen Gross
2019-03-27 16:51       ` Dario Faggioli
2019-03-27 16:53         ` Juergen Gross
     [not found]   ` <5C9BA336020000780022235B@suse.com>
2019-03-27 16:45     ` Juergen Gross
2019-03-27 16:58       ` Jan Beulich
2019-03-18 13:11 ` [PATCH 2/6] xen: add helper for calling notifier_call_chain() to common/cpu.c Juergen Gross
2019-03-25 11:56   ` Dario Faggioli
2019-03-27 12:25   ` George Dunlap
2019-03-27 15:39   ` Andrew Cooper
2019-03-27 16:05     ` Juergen Gross
2019-03-18 13:11 ` [PATCH 3/6] xen: add new cpu notifier action CPU_RESUME_FAILED Juergen Gross
2019-03-25 12:21   ` Dario Faggioli
2019-03-25 12:29     ` Juergen Gross [this message]
2019-03-27 15:54       ` Dario Faggioli
2019-03-27 15:49   ` George Dunlap
2019-03-27 16:29   ` Jan Beulich
     [not found]   ` <5C9BA5010200007800222375@suse.com>
2019-03-27 16:32     ` Juergen Gross
2019-03-18 13:11 ` [PATCH 4/6] xen: don't free percpu areas during suspend Juergen Gross
2019-03-25 18:14   ` Dario Faggioli
2019-03-27 15:55   ` Andrew Cooper
2019-03-27 16:18     ` Juergen Gross
2019-03-27 16:38       ` Jan Beulich
     [not found]       ` <5C9BA70E02000078002223A3@suse.com>
2019-03-27 16:52         ` Juergen Gross
2019-03-28  6:59           ` Juergen Gross
2019-03-28  8:03             ` Jan Beulich
2019-04-11  9:49               ` Jan Beulich
2019-04-11  9:49                 ` [Xen-devel] " Jan Beulich
     [not found]             ` <5C9C7FD202000078002225AB@suse.com>
2019-03-28  8:35               ` Juergen Gross
2019-03-28  9:36                 ` Jan Beulich
2019-03-28  7:46   ` Jan Beulich
     [not found]   ` <5C9C7BF1020000780022258F@suse.com>
2019-03-28  7:53     ` Juergen Gross
2019-03-28  8:04       ` Jan Beulich
2019-03-18 13:11 ` [PATCH 5/6] xen/cpupool: simplify suspend/resume handling Juergen Gross
2019-03-27 15:56   ` George Dunlap
2019-03-27 16:32   ` Dario Faggioli
2019-03-18 13:11 ` [PATCH 6/6] xen/sched: don't disable scheduler on cpus during suspend Juergen Gross
2019-03-27 23:10   ` Dario Faggioli
2019-03-28  5:41     ` Juergen Gross
     [not found] <20190318131155.29450*1*jgross@suse.com>
     [not found] ` <20190318131155.29450*5*jgross@suse.com>
     [not found] <20190318131155.29450****1****jgross@suse.com>
     [not found] ` <20190318131155.29450****5****jgross@suse.com>
     [not found]   ` <e10c14cd****54ac****8d8c****2d5c****db4adbd39d07@citrix.com>

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=ded64901-abf7-ee07-a7d5-105697d60795@suse.com \
    --to=jgross@suse.com \
    --cc=George.Dunlap@eu.citrix.com \
    --cc=andrew.cooper3@citrix.com \
    --cc=dfaggioli@suse.com \
    --cc=ian.jackson@eu.citrix.com \
    --cc=jbeulich@suse.com \
    --cc=julien.grall@arm.com \
    --cc=konrad.wilk@oracle.com \
    --cc=sstabellini@kernel.org \
    --cc=tim@xen.org \
    --cc=wei.liu2@citrix.com \
    --cc=xen-devel@lists.xenproject.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 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.