[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20191120110933.wjtmpc4pmqmxhmma@e107158-lin.cambridge.arm.com>
Date: Wed, 20 Nov 2019 11:09:34 +0000
From: Qais Yousef <qais.yousef@....com>
To: "James E.J. Bottomley" <James.Bottomley@...senPartnership.com>,
Helge Deller <deller@....de>
Cc: Richard Fontana <rfontana@...hat.com>,
Armijn Hemel <armijn@...ldur.nl>, linux-parisc@...r.kernel.org,
linux-kernel@...r.kernel.org, Thomas Gleixner <tglx@...utronix.de>,
Greg Kroah-Hartman <gregkh@...uxfoundation.org>
Subject: Re: [PATCH 06/12] parisc: Replace cpu_up/down with
device_online/offline
On 10/30/19 15:38, Qais Yousef wrote:
> The core device API performs extra housekeeping bits that are missing
> from directly calling cpu_up/down.
>
> See commit a6717c01ddc2 ("powerpc/rtas: use device model APIs and
> serialization during LPM") for an example description of what might go
> wrong.
>
> This also prepares to make cpu_up/down a private interface for anything
> but the cpu subsystem.
>
> Signed-off-by: Qais Yousef <qais.yousef@....com>
> CC: "James E.J. Bottomley" <James.Bottomley@...senPartnership.com>
> CC: Helge Deller <deller@....de>
> CC: Richard Fontana <rfontana@...hat.com>
> CC: Armijn Hemel <armijn@...ldur.nl>
> CC: Greg Kroah-Hartman <gregkh@...uxfoundation.org>
> CC: Thomas Gleixner <tglx@...utronix.de>
> CC: linux-parisc@...r.kernel.org
> CC: linux-kernel@...r.kernel.org
> ---
>
> Couldn't compile test this one.
>
> I'm not confident that this is a correct patch to be honest. This __init
> indicates we're booting the secondary cpus and that might be too early in the
> process to use the core API..?
Helge, James
Do you have any comment on this? I have no means to test it and I'd
appreciate if you can spin it through one of your systems.
Thanks
--
Qais Yousef
>
>
> arch/parisc/kernel/processor.c | 4 +++-
> 1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/arch/parisc/kernel/processor.c b/arch/parisc/kernel/processor.c
> index 13f771f74ee3..4dde5fe78f0c 100644
> --- a/arch/parisc/kernel/processor.c
> +++ b/arch/parisc/kernel/processor.c
> @@ -212,7 +212,9 @@ static int __init processor_probe(struct parisc_device *dev)
> #ifdef CONFIG_SMP
> if (cpuid) {
> set_cpu_present(cpuid, true);
> - cpu_up(cpuid);
> + lock_device_hotplug();
> + device_online(get_cpu_device(cpuid));
> + unlock_device_hotplug();
> }
> #endif
>
> --
> 2.17.1
>
Powered by blists - more mailing lists