All of lore.kernel.org
 help / color / mirror / Atom feed
From: Juergen Gross <jgross@suse.com>
To: Jan Beulich <JBeulich@suse.com>
Cc: Wei Liu <wei.liu2@citrix.com>,
	George Dunlap <George.Dunlap@eu.citrix.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Dario Faggioli <dfaggioli@suse.com>,
	xen-devel <xen-devel@lists.xenproject.org>,
	Roger Pau Monne <roger.pau@citrix.com>
Subject: Re: [PATCH 1/6] xen/sched: call cpu_disable_scheduler() via cpu notifier
Date: Wed, 27 Mar 2019 17:45:00 +0100	[thread overview]
Message-ID: <0b849a5c-9af8-2b47-ced3-376af22c6141@suse.com> (raw)
In-Reply-To: <5C9BA336020000780022235B@suse.com>

On 27/03/2019 17:22, Jan Beulich wrote:
>>>> On 18.03.19 at 14:11, <jgross@suse.com> wrote:
>> @@ -1738,6 +1733,9 @@ static int cpu_schedule_callback(
>>          rc = cpu_schedule_up(cpu);
>>          break;
>>      case CPU_DEAD:
>> +        rcu_read_lock(&domlist_read_lock);
>> +        cpu_disable_scheduler(cpu);
>> +        rcu_read_unlock(&domlist_read_lock);
>>          SCHED_OP(sched, deinit_pdata, sd->sched_priv, cpu);
>>          /* Fallthrough */
>>      case CPU_UP_CANCELED:
> 
> cpu_disable_scheduler() has a return value (and hence means to
> fail) - is ignoring this here really appropriate?

You are right, I should handle those cases in cpu_disable_scheduler().
Without the complete series committed this will result in a case not
handled correctly: dom0 trying to pin a vcpu to a physical cpu other
than cpu 0 via SCHEDOP_pin_override and suspending in that state. I'm
not aware of any dom0 trying to do that.

> Also while indeed (as the description says) there's no need to
> run the function on the CPU itself, it's not obvious to me that
> it's safe to run it outside of stop_machine() context. Or to be
> more precise, it's not clear to me that leaving stop_machine()
> context with the adjustments not done yet is not going to
> lead to problems (due to the gap between leaving that context
> and acquiring the RCU lock). Could you clarify this in the
> description, please (if it indeed is fine this way)?

It is fine, as the chances are zero that any code will run on the cpu
just taken down and that cpu is not holding any locks we might need.

I'll add that to the commit message.


Juergen

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

  parent reply	other threads:[~2019-03-27 16:45 UTC|newest]

Thread overview: 46+ 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 [this message]
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
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
  -- strict thread matches above, loose matches on Subject: below --
2019-03-27 17:06 [PATCH 1/6] xen/sched: call cpu_disable_scheduler() via cpu notifier Juergen Gross
2019-03-27 23:05 ` Dario Faggioli
     [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=0b849a5c-9af8-2b47-ced3-376af22c6141@suse.com \
    --to=jgross@suse.com \
    --cc=George.Dunlap@eu.citrix.com \
    --cc=JBeulich@suse.com \
    --cc=andrew.cooper3@citrix.com \
    --cc=dfaggioli@suse.com \
    --cc=roger.pau@citrix.com \
    --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.