All of lore.kernel.org
 help / color / mirror / Atom feed
From: Julien Grall <julien.grall@arm.com>
To: Mirela Simonovic <mirela.simonovic@aggios.com>
Cc: "Edgar E. Iglesias" <edgar.iglesias@xilinx.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Xen Devel <xen-devel@lists.xen.org>,
	Davorin Mista <dm@aggios.com>,
	Dario Faggioli <dfaggioli@suse.com>
Subject: Re: [PATCH v3 10/10] xen/arm: Enable errata for secondary CPU on hotplug after the boot
Date: Fri, 11 May 2018 14:08:24 +0100	[thread overview]
Message-ID: <26274a25-7135-9f0a-4d22-5d6b49e35653@arm.com> (raw)
In-Reply-To: <CAKPH-NgZ37E6J6fc17tV+XAfDeFO4bPpFTDkY01J4tzX1qH6nA@mail.gmail.com>



On 11/05/18 13:20, Mirela Simonovic wrote:
> Hi,
> 
> On Fri, May 11, 2018 at 2:07 PM, Mirela Simonovic
> <mirela.simonovic@aggios.com> wrote:
>> On Fri, May 11, 2018 at 12:54 PM, Julien Grall <julien.grall@arm.com> wrote:
>>> On 11/05/18 11:41, Mirela Simonovic wrote:
>>>> On Thu, May 10, 2018 at 6:24 PM, Dario Faggioli <dfaggioli@suse.com>
>>>> wrote:
>>>>> On Thu, 2018-05-10 at 17:49 +0200, Mirela Simonovic wrote:
>>> I am going to repeat the content of my answer to your last e-mail:
>>>
>>> I was aware about it since the beginning. The whole point of the
>>> conversation was we should avoid to take the decision at the lower level and
>>> let the upper layer decide what to do.
>>>
>>> If the system is failing today then that's fine and still fit what I said in
>>> my first e-mail of that thread. For reminder:
>>>
>>> "We should really avoid to use panic(...) if this is something the system
>>> can survive. In that specific case, it would only affect the current CPU. So
>>> it would be better to return an error and let the caller decide what to do."
>>>
>>> To summarize:
>>>          1) Notifiers should only report an error and let the upper caller
>>> (here notify_cpu_starting()) deciding what to do.
>>>          2) I am OK with the BUG_ON in notify_cpu_starting() for now.
>>
>> I agree with BUG_ON in notify_cpu_starting().
>>
>>>
>>
>> Let me just clarify consequence of your proposal according to my
>> understanding. If instead of stopping the CPU when enabling a
>> capability fails the notifier returns an error, the error will
>> propagate to notify_cpu_starting() and BUG_ON will crash the system.
>> The proposal with stop_cpu() in the enable_nonboot_cpu_caps() instead
>> of panic that is submitted in this patch would stop only the erroneous
>> CPU. The rest of the system will continue to work and I though that is
>> what's the goal since we don't want to panic/BUG_ON.
>>  From that perspective I believe stop_cpu() in
>> enable_nonboot_cpu_caps() is better compared to returning an error
>> from the notifier.
>>
>> You said above "I would be ok having stop_cpu called here" and I did
>> so (stop_cpu() in enable_nonboot_cpu_caps() instead of panic that
>> submitted in this patch).

My thoughts have evolved after Dario's discussion. He expressed 
concerned over your fix to make stop_cpu() working.

As you said I will maintain that code and this solution looks very error 
prone. If Stefano is happy with it, then fine.

>>
>> If you believe my understanding is not correct, if I missed something
>> or you have another proposal please let me know.
>>
> 
> Also, if you just want to convert panic from this patch into print I
> don't believe it's a good approach, but I can do that.

I would prefer to see the notifier reporting the error with a warning 
and returning it.

At the notifier level it does not make sense to take the decision to 
stop the CPU or kill the system. This is a decision that should be taken 
at higher level such as in notify_cpu_starting().

The whole idea here is we have only one place taking the decision and we 
don't spread BUG_ON()/panic/stop_cpu everywhere. The benefit is having 
only one place to fix over multiple one because very likely the decision 
is the same everywhere.

I agree that today it will end up to crashing the system because of the 
BUG_ON. But that's a separate topic.

Cheers,

> 
>> Thanks,
>> Mirela
>>
>>> Cheers,
>>>
>>> --
>>> Julien Grall

-- 
Julien Grall

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

  reply	other threads:[~2018-05-11 13:08 UTC|newest]

Thread overview: 53+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-04-27 17:12 [PATCH v3 00/10] xen/arm64: Suspend preconditions and CPU hotplug fixes Mirela Simonovic
2018-04-27 17:12 ` [PATCH v3 01/10] xen/arm64: Added handling of the trapped access to OSLSR register Mirela Simonovic
2018-04-27 17:12 ` [PATCH v3 02/10] xen/arm: Ignore write to GICD_ISACTIVERn registers (vgic-v2) Mirela Simonovic
2018-04-30 14:32   ` Julien Grall
2018-04-27 17:12 ` [PATCH v3 03/10] xen/arm: Implement CPU_OFF PSCI call (physical interface) Mirela Simonovic
2018-04-30 14:36   ` Julien Grall
2018-04-27 17:12 ` [PATCH v3 04/10] xen/arm: Remove __initdata and __init to enable CPU hotplug Mirela Simonovic
2018-04-27 17:12 ` [PATCH v3 05/10] xen/arm: Setup virtual paging for non-boot CPUs on hotplug/resume Mirela Simonovic
2018-04-30 14:47   ` Julien Grall
2018-05-07 14:55     ` Mirela Simonovic
2018-05-08 14:14       ` Julien Grall
2018-05-08 14:28         ` Mirela Simonovic
2018-05-09 10:32           ` Julien Grall
2018-04-27 17:12 ` [PATCH v3 06/10] xen/common: Restore IRQ affinity when hotplugging a pCPU Mirela Simonovic
2018-05-10  7:33   ` Dario Faggioli
2018-04-27 17:12 ` [PATCH v3 07/10] xen/arm: Release maintenance interrupt when CPU is hot-unplugged Mirela Simonovic
2018-04-30 14:51   ` Julien Grall
2018-04-27 17:12 ` [PATCH v3 08/10] xen/arm: Release timer interrupts " Mirela Simonovic
2018-04-30 15:58   ` Julien Grall
2018-05-07 15:33     ` Mirela Simonovic
2018-04-27 17:12 ` [PATCH v3 09/10] xen/arm: Free memory allocated for sibling/core maps on CPU hot-unplug Mirela Simonovic
2018-04-30 15:55   ` Julien Grall
2018-04-27 17:12 ` [PATCH v3 10/10] xen/arm: Enable errata for secondary CPU on hotplug after the boot Mirela Simonovic
2018-04-30 16:09   ` Julien Grall
2018-05-09 15:48     ` Mirela Simonovic
2018-05-09 16:32       ` Julien Grall
2018-05-10 11:57         ` Mirela Simonovic
2018-05-10 13:24           ` Mirela Simonovic
2018-05-10 13:29             ` Julien Grall
2018-05-10 14:12               ` Mirela Simonovic
2018-05-10 14:35                 ` Julien Grall
2018-05-10 14:25             ` Dario Faggioli
2018-05-10 15:00               ` Mirela Simonovic
2018-05-10 15:13                 ` Julien Grall
2018-05-10 15:49                   ` Mirela Simonovic
2018-05-10 16:02                     ` Julien Grall
2018-05-10 16:21                       ` Dario Faggioli
2018-05-10 16:24                     ` Dario Faggioli
2018-05-11 10:41                       ` Mirela Simonovic
2018-05-11 10:54                         ` Julien Grall
2018-05-11 12:07                           ` Mirela Simonovic
2018-05-11 12:20                             ` Mirela Simonovic
2018-05-11 13:08                               ` Julien Grall [this message]
2018-05-11 13:31                                 ` Dario Faggioli
     [not found]                                   ` <CAKPH-Nj2znmdcjZEfFf83WmrcBS_u4R33yPOxAPWw37RHVZ38g@mail.gmail.com>
2018-05-11 14:14                                     ` Dario Faggioli
2018-05-11 21:47                                   ` Stefano Stabellini
2018-05-14  9:44                                     ` Julien Grall
2018-05-14 16:59                                       ` Stefano Stabellini
2018-05-15 11:45                                         ` Mirela Simonovic
2018-05-11 13:12                           ` Dario Faggioli
2018-05-11 13:01                         ` Dario Faggioli
2018-05-10 16:12                   ` Dario Faggioli
2018-05-10 13:33           ` Dario Faggioli

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=26274a25-7135-9f0a-4d22-5d6b49e35653@arm.com \
    --to=julien.grall@arm.com \
    --cc=dfaggioli@suse.com \
    --cc=dm@aggios.com \
    --cc=edgar.iglesias@xilinx.com \
    --cc=mirela.simonovic@aggios.com \
    --cc=sstabellini@kernel.org \
    --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 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.