All of lore.kernel.org
 help / color / mirror / Atom feed
From: Qais Yousef <qais.yousef@arm.com>
To: Russell King - ARM Linux admin <linux@armlinux.org.uk>
Cc: "Paul E . McKenney" <paulmck@kernel.org>,
	linux-arm-kernel@lists.infradead.org,
	linux-kernel@vger.kernel.org,
	Thomas Gleixner <tglx@linutronix.de>
Subject: Re: [PATCH v3 04/15] arm: Don't use disable_nonboot_cpus()
Date: Fri, 20 Mar 2020 13:41:29 +0000	[thread overview]
Message-ID: <20200320134129.5udel4nplzgcfzwc@e107158-lin.cambridge.arm.com> (raw)
In-Reply-To: <20200320130700.GR25745@shell.armlinux.org.uk>

On 03/20/20 13:07, Russell King - ARM Linux admin wrote:
> On Fri, Mar 20, 2020 at 11:04:31AM +0000, Qais Yousef wrote:
> > On 02/23/20 19:29, Qais Yousef wrote:
> > > disable_nonboot_cpus() is not safe to use when doing machine_down(),
> > > because it relies on freeze_secondary_cpus() which in turn is
> > > a suspend/resume related freeze and could abort if the logic detects any
> > > pending activities that can prevent finishing the offlining process.
> > > 
> > > Beside disable_nonboot_cpus() is dependent on CONFIG_PM_SLEEP_SMP which
> > > is an othogonal config to rely on to ensure this function works
> > > correctly.
> > > 
> > > Use `reboot_cpu` variable instead of hardcoding 0 as the reboot cpu.
> 
> I think that should be a separate change - you have two separate
> changes in this patch:
> 
> 1. to switch to using the new helper.
> 2. to change the CPU that we potentially use for the final steps of
>    shutdown
> 
> These should be two seperate changes, so if (2) causes a regression
> it can be reverted independently of (1).

Okay will do.

Thanks

--
Qais Yousef

> 
> > > 
> > > Signed-off-by: Qais Yousef <qais.yousef@arm.com>
> > > CC: Russell King <linux@armlinux.org.uk>
> > > CC: linux-arm-kernel@lists.infradead.org
> > > CC: linux-kernel@vger.kernel.org
> > > ---
> > 
> > Hi Russel
> > 
> > Does the updated version look good to you now?
> > 
> > Thanks
> > 
> > --
> > Qais Yousef
> > 
> > >  arch/arm/kernel/reboot.c | 4 ++--
> > >  1 file changed, 2 insertions(+), 2 deletions(-)
> > > 
> > > diff --git a/arch/arm/kernel/reboot.c b/arch/arm/kernel/reboot.c
> > > index bb18ed0539f4..0ce388f15422 100644
> > > --- a/arch/arm/kernel/reboot.c
> > > +++ b/arch/arm/kernel/reboot.c
> > > @@ -88,11 +88,11 @@ void soft_restart(unsigned long addr)
> > >   * to execute e.g. a RAM-based pin loop is not sufficient. This allows the
> > >   * kexec'd kernel to use any and all RAM as it sees fit, without having to
> > >   * avoid any code or data used by any SW CPU pin loop. The CPU hotplug
> > > - * functionality embodied in disable_nonboot_cpus() to achieve this.
> > > + * functionality embodied in smp_shutdown_nonboot_cpus() to achieve this.
> > >   */
> > >  void machine_shutdown(void)
> > >  {
> > > -	disable_nonboot_cpus();
> > > +	smp_shutdown_nonboot_cpus(reboot_cpu);
> > >  }
> > >  
> > >  /*
> > > -- 
> > > 2.17.1
> > > 
> > 
> 
> -- 
> RMK's Patch system: https://www.armlinux.org.uk/developer/patches/
> FTTC broadband for 0.8mile line in suburbia: sync at 10.2Mbps down 587kbps up

WARNING: multiple messages have this Message-ID (diff)
From: Qais Yousef <qais.yousef@arm.com>
To: Russell King - ARM Linux admin <linux@armlinux.org.uk>
Cc: Thomas Gleixner <tglx@linutronix.de>,
	linux-arm-kernel@lists.infradead.org,
	"Paul E . McKenney" <paulmck@kernel.org>,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH v3 04/15] arm: Don't use disable_nonboot_cpus()
Date: Fri, 20 Mar 2020 13:41:29 +0000	[thread overview]
Message-ID: <20200320134129.5udel4nplzgcfzwc@e107158-lin.cambridge.arm.com> (raw)
In-Reply-To: <20200320130700.GR25745@shell.armlinux.org.uk>

On 03/20/20 13:07, Russell King - ARM Linux admin wrote:
> On Fri, Mar 20, 2020 at 11:04:31AM +0000, Qais Yousef wrote:
> > On 02/23/20 19:29, Qais Yousef wrote:
> > > disable_nonboot_cpus() is not safe to use when doing machine_down(),
> > > because it relies on freeze_secondary_cpus() which in turn is
> > > a suspend/resume related freeze and could abort if the logic detects any
> > > pending activities that can prevent finishing the offlining process.
> > > 
> > > Beside disable_nonboot_cpus() is dependent on CONFIG_PM_SLEEP_SMP which
> > > is an othogonal config to rely on to ensure this function works
> > > correctly.
> > > 
> > > Use `reboot_cpu` variable instead of hardcoding 0 as the reboot cpu.
> 
> I think that should be a separate change - you have two separate
> changes in this patch:
> 
> 1. to switch to using the new helper.
> 2. to change the CPU that we potentially use for the final steps of
>    shutdown
> 
> These should be two seperate changes, so if (2) causes a regression
> it can be reverted independently of (1).

Okay will do.

Thanks

--
Qais Yousef

> 
> > > 
> > > Signed-off-by: Qais Yousef <qais.yousef@arm.com>
> > > CC: Russell King <linux@armlinux.org.uk>
> > > CC: linux-arm-kernel@lists.infradead.org
> > > CC: linux-kernel@vger.kernel.org
> > > ---
> > 
> > Hi Russel
> > 
> > Does the updated version look good to you now?
> > 
> > Thanks
> > 
> > --
> > Qais Yousef
> > 
> > >  arch/arm/kernel/reboot.c | 4 ++--
> > >  1 file changed, 2 insertions(+), 2 deletions(-)
> > > 
> > > diff --git a/arch/arm/kernel/reboot.c b/arch/arm/kernel/reboot.c
> > > index bb18ed0539f4..0ce388f15422 100644
> > > --- a/arch/arm/kernel/reboot.c
> > > +++ b/arch/arm/kernel/reboot.c
> > > @@ -88,11 +88,11 @@ void soft_restart(unsigned long addr)
> > >   * to execute e.g. a RAM-based pin loop is not sufficient. This allows the
> > >   * kexec'd kernel to use any and all RAM as it sees fit, without having to
> > >   * avoid any code or data used by any SW CPU pin loop. The CPU hotplug
> > > - * functionality embodied in disable_nonboot_cpus() to achieve this.
> > > + * functionality embodied in smp_shutdown_nonboot_cpus() to achieve this.
> > >   */
> > >  void machine_shutdown(void)
> > >  {
> > > -	disable_nonboot_cpus();
> > > +	smp_shutdown_nonboot_cpus(reboot_cpu);
> > >  }
> > >  
> > >  /*
> > > -- 
> > > 2.17.1
> > > 
> > 
> 
> -- 
> RMK's Patch system: https://www.armlinux.org.uk/developer/patches/
> FTTC broadband for 0.8mile line in suburbia: sync at 10.2Mbps down 587kbps up

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

  reply	other threads:[~2020-03-20 13:41 UTC|newest]

Thread overview: 42+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-02-23 19:29 [PATCH v3 00/15] Convert cpu_up/down to device_online/offline Qais Yousef
2020-02-23 19:29 ` [Xen-devel] " Qais Yousef
2020-02-23 19:29 ` [PATCH v3 01/15] cpu: Add new {add,remove}_cpu() functions Qais Yousef
2020-02-23 19:29   ` [Xen-devel] [PATCH v3 01/15] cpu: Add new {add, remove}_cpu() functions Qais Yousef
2020-02-23 19:29   ` [PATCH v3 01/15] cpu: Add new {add,remove}_cpu() functions Qais Yousef
2020-02-23 19:29   ` Qais Yousef
2020-02-23 19:29   ` Qais Yousef
2020-02-23 19:29 ` [PATCH v3 02/15] smp: Create a new function to shutdown nonboot cpus Qais Yousef
2020-02-23 19:29   ` Qais Yousef
2020-02-23 19:29   ` Qais Yousef
2020-02-23 19:29 ` [PATCH v3 03/15] ia64: Replace cpu_down with smp_shutdown_nonboot_cpus() Qais Yousef
2020-02-23 19:29 ` [PATCH v3 04/15] arm: Don't use disable_nonboot_cpus() Qais Yousef
2020-02-23 19:29   ` Qais Yousef
2020-03-20 11:04   ` Qais Yousef
2020-03-20 11:04     ` Qais Yousef
2020-03-20 13:07     ` Russell King - ARM Linux admin
2020-03-20 13:07       ` Russell King - ARM Linux admin
2020-03-20 13:41       ` Qais Yousef [this message]
2020-03-20 13:41         ` Qais Yousef
2020-02-23 19:29 ` [PATCH v3 05/15] arm64: " Qais Yousef
2020-02-23 19:29   ` Qais Yousef
2020-03-17 11:21   ` Catalin Marinas
2020-03-17 11:21     ` Catalin Marinas
2020-03-20 14:07     ` Qais Yousef
2020-03-20 14:07       ` Qais Yousef
2020-02-23 19:29 ` [PATCH v3 06/15] arm64: hibernate.c: Create a new function to handle cpu_up(sleep_cpu) Qais Yousef
2020-02-23 19:29   ` Qais Yousef
2020-03-17 11:21   ` Catalin Marinas
2020-03-17 11:21     ` Catalin Marinas
2020-02-23 19:29 ` [PATCH v3 07/15] x86: Replace cpu_up/down with add/remove_cpu Qais Yousef
2020-02-23 19:29 ` [PATCH v3 08/15] powerpc: " Qais Yousef
2020-02-23 19:29   ` Qais Yousef
2020-02-23 19:29 ` [PATCH v3 09/15] sparc: " Qais Yousef
2020-02-23 19:29 ` [PATCH v3 10/15] parisc: " Qais Yousef
2020-02-23 19:29 ` [PATCH v3 11/15] driver: xen: Replace cpu_up/down with device_online/offline Qais Yousef
2020-02-23 19:29   ` [Xen-devel] " Qais Yousef
2020-02-23 19:29 ` [PATCH v3 12/15] firmware: psci: Replace cpu_up/down with add/remove_cpu Qais Yousef
2020-02-23 19:29   ` Qais Yousef
2020-02-23 19:29 ` [PATCH v3 13/15] torture: " Qais Yousef
2020-02-24  2:53   ` Paul E. McKenney
2020-02-23 19:29 ` [PATCH v3 14/15] smp: Create a new function to bringup nonboot cpus online Qais Yousef
2020-02-23 19:29 ` [PATCH v3 15/15] cpu: Hide cpu_up/down Qais Yousef

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=20200320134129.5udel4nplzgcfzwc@e107158-lin.cambridge.arm.com \
    --to=qais.yousef@arm.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux@armlinux.org.uk \
    --cc=paulmck@kernel.org \
    --cc=tglx@linutronix.de \
    /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.