All of lore.kernel.org
 help / color / mirror / Atom feed
From: Mark Rutland <mark.rutland@arm.com>
To: Geoff Levand <geoff@infradead.org>
Cc: Marc Zyngier <Marc.Zyngier@arm.com>,
	Catalin Marinas <Catalin.Marinas@arm.com>,
	Will Deacon <Will.Deacon@arm.com>,
	"linux-arm-kernel@lists.infradead.org"
	<linux-arm-kernel@lists.infradead.org>,
	"kexec@lists.infradead.org" <kexec@lists.infradead.org>,
	"christoffer.dall@linaro.org" <christoffer.dall@linaro.org>
Subject: Re: [PATCH 09/13] arm64/kexec: Kexec expects cpu_die
Date: Mon, 15 Sep 2014 20:10:17 +0100	[thread overview]
Message-ID: <20140915191017.GD14191@leverpostej> (raw)
In-Reply-To: <8760d3e11621065a78236e91724875f0e1cfadf4.1410302383.git.geoff@infradead.org>

On Tue, Sep 09, 2014 at 11:49:05PM +0100, Geoff Levand wrote:
> The arm64 implementation of kexec expects an operational cpu_die method of
> struct cpu_operations, so add defined(CONFIG_KEXEC) to the preprocessor
> conditional that enables cpu_die.

I very much do not like this, as I explained in previous postings and my
comments on other patches in this series.

Please use the hotplug infrastructure, and have kexec depend on
CPU_HOTPLUG || !SMP.

There is no reason for these files to have any knowledge of kexec
whatsoever.

Thanks,
Mark

> 
> Signed-off-by: Geoff Levand <geoff@infradead.org>
> ---
>  arch/arm64/include/asm/cpu_ops.h | 2 +-
>  arch/arm64/kernel/psci.c         | 4 ++--
>  2 files changed, 3 insertions(+), 3 deletions(-)
> 
> diff --git a/arch/arm64/include/asm/cpu_ops.h b/arch/arm64/include/asm/cpu_ops.h
> index d7b4b38..9fd7281 100644
> --- a/arch/arm64/include/asm/cpu_ops.h
> +++ b/arch/arm64/include/asm/cpu_ops.h
> @@ -50,7 +50,7 @@ struct cpu_operations {
>  	int		(*cpu_prepare)(unsigned int);
>  	int		(*cpu_boot)(unsigned int);
>  	void		(*cpu_postboot)(void);
> -#ifdef CONFIG_HOTPLUG_CPU
> +#if defined(CONFIG_HOTPLUG_CPU) || defined(CONFIG_KEXEC)
>  	int		(*cpu_disable)(unsigned int cpu);
>  	void		(*cpu_die)(unsigned int cpu);
>  	int		(*cpu_kill)(unsigned int cpu);
> diff --git a/arch/arm64/kernel/psci.c b/arch/arm64/kernel/psci.c
> index 5539547..81dbbc9 100644
> --- a/arch/arm64/kernel/psci.c
> +++ b/arch/arm64/kernel/psci.c
> @@ -380,7 +380,7 @@ static int cpu_psci_cpu_boot(unsigned int cpu)
>  	return err;
>  }
>  
> -#ifdef CONFIG_HOTPLUG_CPU
> +#if defined(CONFIG_HOTPLUG_CPU) || defined(CONFIG_KEXEC)
>  static int cpu_psci_cpu_disable(unsigned int cpu)
>  {
>  	/* Fail early if we don't have CPU_OFF support */
> @@ -442,7 +442,7 @@ const struct cpu_operations cpu_psci_ops = {
>  	.cpu_init	= cpu_psci_cpu_init,
>  	.cpu_prepare	= cpu_psci_cpu_prepare,
>  	.cpu_boot	= cpu_psci_cpu_boot,
> -#ifdef CONFIG_HOTPLUG_CPU
> +#if defined(CONFIG_HOTPLUG_CPU) || defined(CONFIG_KEXEC)
>  	.cpu_disable	= cpu_psci_cpu_disable,
>  	.cpu_die	= cpu_psci_cpu_die,
>  	.cpu_kill	= cpu_psci_cpu_kill,
> -- 
> 1.9.1
> 
> 
> 
> _______________________________________________
> linux-arm-kernel mailing list
> linux-arm-kernel@lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
> 

_______________________________________________
kexec mailing list
kexec@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/kexec

WARNING: multiple messages have this Message-ID (diff)
From: mark.rutland@arm.com (Mark Rutland)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 09/13] arm64/kexec: Kexec expects cpu_die
Date: Mon, 15 Sep 2014 20:10:17 +0100	[thread overview]
Message-ID: <20140915191017.GD14191@leverpostej> (raw)
In-Reply-To: <8760d3e11621065a78236e91724875f0e1cfadf4.1410302383.git.geoff@infradead.org>

On Tue, Sep 09, 2014 at 11:49:05PM +0100, Geoff Levand wrote:
> The arm64 implementation of kexec expects an operational cpu_die method of
> struct cpu_operations, so add defined(CONFIG_KEXEC) to the preprocessor
> conditional that enables cpu_die.

I very much do not like this, as I explained in previous postings and my
comments on other patches in this series.

Please use the hotplug infrastructure, and have kexec depend on
CPU_HOTPLUG || !SMP.

There is no reason for these files to have any knowledge of kexec
whatsoever.

Thanks,
Mark

> 
> Signed-off-by: Geoff Levand <geoff@infradead.org>
> ---
>  arch/arm64/include/asm/cpu_ops.h | 2 +-
>  arch/arm64/kernel/psci.c         | 4 ++--
>  2 files changed, 3 insertions(+), 3 deletions(-)
> 
> diff --git a/arch/arm64/include/asm/cpu_ops.h b/arch/arm64/include/asm/cpu_ops.h
> index d7b4b38..9fd7281 100644
> --- a/arch/arm64/include/asm/cpu_ops.h
> +++ b/arch/arm64/include/asm/cpu_ops.h
> @@ -50,7 +50,7 @@ struct cpu_operations {
>  	int		(*cpu_prepare)(unsigned int);
>  	int		(*cpu_boot)(unsigned int);
>  	void		(*cpu_postboot)(void);
> -#ifdef CONFIG_HOTPLUG_CPU
> +#if defined(CONFIG_HOTPLUG_CPU) || defined(CONFIG_KEXEC)
>  	int		(*cpu_disable)(unsigned int cpu);
>  	void		(*cpu_die)(unsigned int cpu);
>  	int		(*cpu_kill)(unsigned int cpu);
> diff --git a/arch/arm64/kernel/psci.c b/arch/arm64/kernel/psci.c
> index 5539547..81dbbc9 100644
> --- a/arch/arm64/kernel/psci.c
> +++ b/arch/arm64/kernel/psci.c
> @@ -380,7 +380,7 @@ static int cpu_psci_cpu_boot(unsigned int cpu)
>  	return err;
>  }
>  
> -#ifdef CONFIG_HOTPLUG_CPU
> +#if defined(CONFIG_HOTPLUG_CPU) || defined(CONFIG_KEXEC)
>  static int cpu_psci_cpu_disable(unsigned int cpu)
>  {
>  	/* Fail early if we don't have CPU_OFF support */
> @@ -442,7 +442,7 @@ const struct cpu_operations cpu_psci_ops = {
>  	.cpu_init	= cpu_psci_cpu_init,
>  	.cpu_prepare	= cpu_psci_cpu_prepare,
>  	.cpu_boot	= cpu_psci_cpu_boot,
> -#ifdef CONFIG_HOTPLUG_CPU
> +#if defined(CONFIG_HOTPLUG_CPU) || defined(CONFIG_KEXEC)
>  	.cpu_disable	= cpu_psci_cpu_disable,
>  	.cpu_die	= cpu_psci_cpu_die,
>  	.cpu_kill	= cpu_psci_cpu_kill,
> -- 
> 1.9.1
> 
> 
> 
> _______________________________________________
> linux-arm-kernel mailing list
> linux-arm-kernel at lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
> 

  reply	other threads:[~2014-09-15 19:10 UTC|newest]

Thread overview: 80+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-09-09 22:51 [PATCH 00/13] arm64 kexec kernel patches V2 Geoff Levand
2014-09-09 22:51 ` Geoff Levand
2014-09-09 22:49 ` [PATCH 02/13] arm64/kvm: Fix assembler compatibility of macros Geoff Levand
2014-09-09 22:49   ` Geoff Levand
2014-09-10  8:40   ` Ard Biesheuvel
2014-09-10  8:40     ` Ard Biesheuvel
2014-09-10 16:35     ` Geoff Levand
2014-09-10 16:35       ` Geoff Levand
2014-09-10 17:09       ` Ard Biesheuvel
2014-09-10 17:09         ` Ard Biesheuvel
2014-09-15 16:14         ` Mark Rutland
2014-09-15 16:14           ` Mark Rutland
2014-09-10 18:04   ` [PATCH V2 " Geoff Levand
2014-09-10 18:04     ` Geoff Levand
2014-09-09 22:49 ` [PATCH 04/13] arm64: Add new hcall HVC_CALL_FUNC Geoff Levand
2014-09-09 22:49   ` Geoff Levand
2014-09-10 17:07   ` Will Deacon
2014-09-10 17:07     ` Will Deacon
2014-09-10 17:23     ` Geoff Levand
2014-09-10 17:23       ` Geoff Levand
2014-09-10 17:35       ` Will Deacon
2014-09-10 17:35         ` Will Deacon
2014-09-10 18:11   ` [PATCH V2 " Geoff Levand
2014-09-10 18:11     ` Geoff Levand
2014-09-15 18:11   ` [PATCH " Mark Rutland
2014-09-15 18:11     ` Mark Rutland
2014-09-25  0:24     ` Geoff Levand
2014-09-25  0:24       ` Geoff Levand
2014-09-09 22:49 ` [PATCH 05/13] arm64: Add EL2 switch to soft_restart Geoff Levand
2014-09-09 22:49   ` Geoff Levand
2014-09-09 22:49 ` [PATCH 01/13] arm64: Add ESR_EL2_EC macros to hyp-stub Geoff Levand
2014-09-09 22:49   ` Geoff Levand
2014-09-15 16:10   ` Mark Rutland
2014-09-15 16:10     ` Mark Rutland
2014-09-22 21:45     ` Geoff Levand
2014-09-22 21:45       ` Geoff Levand
2014-09-09 22:49 ` [PATCH 07/13] arm64: Add new routine local_disable Geoff Levand
2014-09-09 22:49   ` Geoff Levand
2014-09-15 18:56   ` Mark Rutland
2014-09-15 18:56     ` Mark Rutland
2014-09-25  0:24     ` Geoff Levand
2014-09-25  0:24       ` Geoff Levand
2014-09-09 22:49 ` [PATCH 03/13] arm64: Convert hcalls to use ISS field Geoff Levand
2014-09-09 22:49   ` Geoff Levand
2014-09-11 16:14   ` Arun Chandran
2014-09-11 16:14     ` Arun Chandran
2014-09-15 17:57   ` Mark Rutland
2014-09-15 17:57     ` Mark Rutland
2014-09-22 21:46     ` Geoff Levand
2014-09-22 21:46       ` Geoff Levand
2014-09-09 22:49 ` [PATCH 06/13] arm64: Add new routine read_cpu_properties Geoff Levand
2014-09-09 22:49   ` Geoff Levand
2014-09-15 18:42   ` Mark Rutland
2014-09-15 18:42     ` Mark Rutland
2014-09-25  0:23     ` Geoff Levand
2014-09-25  0:23       ` Geoff Levand
2014-09-09 22:49 ` [PATCH 09/13] arm64/kexec: Kexec expects cpu_die Geoff Levand
2014-09-09 22:49   ` Geoff Levand
2014-09-15 19:10   ` Mark Rutland [this message]
2014-09-15 19:10     ` Mark Rutland
2014-09-09 22:49 ` [PATCH 08/13] arm64: Use cpu_ops for smp_stop Geoff Levand
2014-09-09 22:49   ` Geoff Levand
2014-09-15 19:06   ` Mark Rutland
2014-09-15 19:06     ` Mark Rutland
2014-09-25  0:24     ` Geoff Levand
2014-09-25  0:24       ` Geoff Levand
2014-09-09 22:49 ` [PATCH 13/13] arm64/kexec: Add kexec_ignore_compat_check param Geoff Levand
2014-09-09 22:49   ` Geoff Levand
2014-09-09 22:49 ` [PATCH 10/13] arm64/kexec: Revert change to machine_shutdown() Geoff Levand
2014-09-09 22:49   ` Geoff Levand
2014-09-15 19:20   ` Mark Rutland
2014-09-15 19:20     ` Mark Rutland
2014-09-09 22:49 ` [PATCH 12/13] arm64/kexec: Enable kexec in the arm64 defconfig Geoff Levand
2014-09-09 22:49   ` Geoff Levand
2014-09-09 22:49 ` [PATCH 11/13] arm64/kexec: Add core kexec support Geoff Levand
2014-09-09 22:49   ` Geoff Levand
2014-09-18  1:13   ` Mark Rutland
2014-09-18  1:13     ` Mark Rutland
2014-09-25  0:25     ` Geoff Levand
2014-09-25  0:25       ` Geoff Levand

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=20140915191017.GD14191@leverpostej \
    --to=mark.rutland@arm.com \
    --cc=Catalin.Marinas@arm.com \
    --cc=Marc.Zyngier@arm.com \
    --cc=Will.Deacon@arm.com \
    --cc=christoffer.dall@linaro.org \
    --cc=geoff@infradead.org \
    --cc=kexec@lists.infradead.org \
    --cc=linux-arm-kernel@lists.infradead.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.