* [PATCH 06/12] parisc: Replace cpu_up/down with device_online/offline [not found] <20191030153837.18107-1-qais.yousef@arm.com> @ 2019-10-30 15:38 ` Qais Yousef 2019-11-20 11:09 ` Qais Yousef 0 siblings, 1 reply; 4+ messages in thread From: Qais Yousef @ 2019-10-30 15:38 UTC (permalink / raw) To: Thomas Gleixner, Greg Kroah-Hartman Cc: Qais Yousef, James E.J. Bottomley, Helge Deller, Richard Fontana, Armijn Hemel, linux-parisc, linux-kernel 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@arm.com> CC: "James E.J. Bottomley" <James.Bottomley@HansenPartnership.com> CC: Helge Deller <deller@gmx.de> CC: Richard Fontana <rfontana@redhat.com> CC: Armijn Hemel <armijn@tjaldur.nl> CC: Greg Kroah-Hartman <gregkh@linuxfoundation.org> CC: Thomas Gleixner <tglx@linutronix.de> CC: linux-parisc@vger.kernel.org CC: linux-kernel@vger.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..? 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 ^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PATCH 06/12] parisc: Replace cpu_up/down with device_online/offline 2019-10-30 15:38 ` [PATCH 06/12] parisc: Replace cpu_up/down with device_online/offline Qais Yousef @ 2019-11-20 11:09 ` Qais Yousef 2019-11-22 19:51 ` Helge Deller 0 siblings, 1 reply; 4+ messages in thread From: Qais Yousef @ 2019-11-20 11:09 UTC (permalink / raw) To: James E.J. Bottomley, Helge Deller Cc: Richard Fontana, Armijn Hemel, linux-parisc, linux-kernel, Thomas Gleixner, Greg Kroah-Hartman 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@arm.com> > CC: "James E.J. Bottomley" <James.Bottomley@HansenPartnership.com> > CC: Helge Deller <deller@gmx.de> > CC: Richard Fontana <rfontana@redhat.com> > CC: Armijn Hemel <armijn@tjaldur.nl> > CC: Greg Kroah-Hartman <gregkh@linuxfoundation.org> > CC: Thomas Gleixner <tglx@linutronix.de> > CC: linux-parisc@vger.kernel.org > CC: linux-kernel@vger.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 > ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH 06/12] parisc: Replace cpu_up/down with device_online/offline 2019-11-20 11:09 ` Qais Yousef @ 2019-11-22 19:51 ` Helge Deller 2019-11-24 10:20 ` Qais Yousef 0 siblings, 1 reply; 4+ messages in thread From: Helge Deller @ 2019-11-22 19:51 UTC (permalink / raw) To: Qais Yousef, James E.J. Bottomley Cc: Richard Fontana, Armijn Hemel, linux-parisc, linux-kernel, Thomas Gleixner, Greg Kroah-Hartman On 20.11.19 12:09, Qais Yousef wrote: > 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@arm.com> >> CC: "James E.J. Bottomley" <James.Bottomley@HansenPartnership.com> >> CC: Helge Deller <deller@gmx.de> >> CC: Richard Fontana <rfontana@redhat.com> >> CC: Armijn Hemel <armijn@tjaldur.nl> >> CC: Greg Kroah-Hartman <gregkh@linuxfoundation.org> >> CC: Thomas Gleixner <tglx@linutronix.de> >> CC: linux-parisc@vger.kernel.org >> CC: linux-kernel@vger.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. I pulled your cpu-hp-cleanup branch from git://linux-arm.org/linux-qy and compiled a 32- and a 64-bit parisc kernel. I faced one compile warning: linux-2.6/kernel/cpu.c: In function ‘hibernation_bringup_sleep_cpu’: linux-2.6/kernel/cpu.c:1237:1: warning: control reaches end of non-void function [-Wreturn-type] Other than that the 32- and 64-bit SMP kernel booted nicely. You may add to the series: Acked-by: Helge Deller <deller@gmx.de> # parisc Thanks, Helge >> >> 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 >> ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH 06/12] parisc: Replace cpu_up/down with device_online/offline 2019-11-22 19:51 ` Helge Deller @ 2019-11-24 10:20 ` Qais Yousef 0 siblings, 0 replies; 4+ messages in thread From: Qais Yousef @ 2019-11-24 10:20 UTC (permalink / raw) To: Helge Deller Cc: James E.J. Bottomley, Richard Fontana, Armijn Hemel, linux-parisc, linux-kernel, Thomas Gleixner, Greg Kroah-Hartman On 11/22/19 20:51, Helge Deller wrote: > On 20.11.19 12:09, Qais Yousef wrote: > > 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@arm.com> > >> CC: "James E.J. Bottomley" <James.Bottomley@HansenPartnership.com> > >> CC: Helge Deller <deller@gmx.de> > >> CC: Richard Fontana <rfontana@redhat.com> > >> CC: Armijn Hemel <armijn@tjaldur.nl> > >> CC: Greg Kroah-Hartman <gregkh@linuxfoundation.org> > >> CC: Thomas Gleixner <tglx@linutronix.de> > >> CC: linux-parisc@vger.kernel.org > >> CC: linux-kernel@vger.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. > > I pulled your cpu-hp-cleanup branch from git://linux-arm.org/linux-qy > and compiled a 32- and a 64-bit parisc kernel. > > I faced one compile warning: > linux-2.6/kernel/cpu.c: In function ‘hibernation_bringup_sleep_cpu’: > linux-2.6/kernel/cpu.c:1237:1: warning: control reaches end of non-void function [-Wreturn-type] > > Other than that the 32- and 64-bit SMP kernel booted nicely. > You may add to the series: > Acked-by: Helge Deller <deller@gmx.de> # parisc Great! Thanks for testing it and reporting the warning. Cheers -- Qais Yousef > > Thanks, > Helge > > > >> > >> 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 > >> > ^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2019-11-24 10:20 UTC | newest] Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- [not found] <20191030153837.18107-1-qais.yousef@arm.com> 2019-10-30 15:38 ` [PATCH 06/12] parisc: Replace cpu_up/down with device_online/offline Qais Yousef 2019-11-20 11:09 ` Qais Yousef 2019-11-22 19:51 ` Helge Deller 2019-11-24 10:20 ` Qais Yousef
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).