Re: [PATCH] powerpc: Export __spin_yield
On Mon, 2015-03-30 at 12:17 +0200, Geert Uytterhoeven wrote: > Hi Ben, > > On Fri, Mar 20, 2015 at 12:08 AM, Paul Mackerras wrote: > > On Wed, Feb 25, 2015 at 05:23:53PM -0600, Suresh E. Warrier wrote: > >> Export __spin_yield so that the arch_spin_unlock() function can > >> be invoked from a module. This will be required for modules where > >> we want to take a lock that is also is acquired in hypervisor > >> real mode. Because we want to avoid running any lockdep code > >> (which may not be safe in real mode), this lock needs to be > >> an arch_spinlock_t instead of a normal spinlock. > >> > >> Signed-off-by: Suresh Warrier > > > > Acked-by: Paul Mackerras > > Something went wrong when applying this, as it ended up as: Ugh, weird. I must have fucked up something when rebasing. I don't want to rebase that branch now that it's out, I know of at least one series based on it. We'll live with it. > commit 1f8c82ab1b0bc7e24601c0fca411fd27b9c883ef > Author: Geert Uytterhoeven > Date: Wed Mar 4 12:56:20 2015 +0100 > > cpufreq/ppc: Add missing #include > > If CONFIG_SMP=n, does not include , causing: > > drivers/cpufreq/ppc-corenet-cpufreq.c: In function > 'corenet_cpufreq_cpu_init > drivers/cpufreq/ppc-corenet-cpufreq.c:173:3: error: implicit declaration > of > X-Patchwork-Id: 443703 > Message-Id: <54ee5989.7010...@linux.vnet.ibm.com> > To: linuxppc-...@ozlabs.org > Date: Wed, 25 Feb 2015 17:23:53 -0600 > > Export __spin_yield so that the arch_spin_unlock() function can > be invoked from a module. This will be required for modules where > we want to take a lock that is also is acquired in hypervisor > real mode. Because we want to avoid running any lockdep code > (which may not be safe in real mode), this lock needs to be > an arch_spinlock_t instead of a normal spinlock. > > Signed-off-by: Suresh Warrier > Acked-by: Paul Mackerras > Signed-off-by: Benjamin Herrenschmidt > > Gr{oetje,eeting}s, > > Geert > > -- > Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- > ge...@linux-m68k.org > > In personal conversations with technical people, I call myself a hacker. But > when I'm talking to journalists I just say "programmer" or something like > that. > -- Linus Torvalds ___ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev
Re: [PATCH] powerpc: Export __spin_yield
Hi Ben, On Fri, Mar 20, 2015 at 12:08 AM, Paul Mackerras wrote: > On Wed, Feb 25, 2015 at 05:23:53PM -0600, Suresh E. Warrier wrote: >> Export __spin_yield so that the arch_spin_unlock() function can >> be invoked from a module. This will be required for modules where >> we want to take a lock that is also is acquired in hypervisor >> real mode. Because we want to avoid running any lockdep code >> (which may not be safe in real mode), this lock needs to be >> an arch_spinlock_t instead of a normal spinlock. >> >> Signed-off-by: Suresh Warrier > > Acked-by: Paul Mackerras Something went wrong when applying this, as it ended up as: commit 1f8c82ab1b0bc7e24601c0fca411fd27b9c883ef Author: Geert Uytterhoeven Date: Wed Mar 4 12:56:20 2015 +0100 cpufreq/ppc: Add missing #include If CONFIG_SMP=n, does not include , causing: drivers/cpufreq/ppc-corenet-cpufreq.c: In function 'corenet_cpufreq_cpu_init drivers/cpufreq/ppc-corenet-cpufreq.c:173:3: error: implicit declaration of X-Patchwork-Id: 443703 Message-Id: <54ee5989.7010...@linux.vnet.ibm.com> To: linuxppc-...@ozlabs.org Date: Wed, 25 Feb 2015 17:23:53 -0600 Export __spin_yield so that the arch_spin_unlock() function can be invoked from a module. This will be required for modules where we want to take a lock that is also is acquired in hypervisor real mode. Because we want to avoid running any lockdep code (which may not be safe in real mode), this lock needs to be an arch_spinlock_t instead of a normal spinlock. Signed-off-by: Suresh Warrier Acked-by: Paul Mackerras Signed-off-by: Benjamin Herrenschmidt Gr{oetje,eeting}s, Geert -- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- ge...@linux-m68k.org In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that. -- Linus Torvalds ___ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev
Re: [PATCH] powerpc: Export __spin_yield
On Wed, Feb 25, 2015 at 05:23:53PM -0600, Suresh E. Warrier wrote: > Export __spin_yield so that the arch_spin_unlock() function can > be invoked from a module. This will be required for modules where > we want to take a lock that is also is acquired in hypervisor > real mode. Because we want to avoid running any lockdep code > (which may not be safe in real mode), this lock needs to be > an arch_spinlock_t instead of a normal spinlock. > > Signed-off-by: Suresh Warrier Acked-by: Paul Mackerras ___ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev
Re: [PATCH] powerpc: Export __spin_yield
On Tue, 2015-02-24 at 10:37 -0600, Suresh E. Warrier wrote: > On 02/23/2015 09:38 PM, Benjamin Herrenschmidt wrote: > > On Mon, 2015-02-23 at 18:10 -0600, Suresh E. Warrier wrote: > >> Export __spin_yield so that the arch_spin_unlock() function > >> can be invoked from a module. > > > > Make it EXPORT_SYMBOL_GPL. Also explain why a module might need it > > > > Sure, I will change that to EXPORT_SYMBOL_GPL. Just curious, though, > there is another symbol arch_spin_unlock_wait that is exported from > the file without the _GPL prefix. Any idea why? Nope. Not sure how come we did that. > I have mentioned that this needs to be exported to call the > arch_spin_unlock() function from a module. What additional information > do you think will be useful here ? Are you looking at something > that explains why a module might need to call arch_spin_unlock()? What kind of module might need it... Cheers, Ben. ___ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev
Re: [PATCH] powerpc: Export __spin_yield
On 02/23/2015 09:38 PM, Benjamin Herrenschmidt wrote: > On Mon, 2015-02-23 at 18:10 -0600, Suresh E. Warrier wrote: >> Export __spin_yield so that the arch_spin_unlock() function >> can be invoked from a module. > > Make it EXPORT_SYMBOL_GPL. Also explain why a module might need it > Sure, I will change that to EXPORT_SYMBOL_GPL. Just curious, though, there is another symbol arch_spin_unlock_wait that is exported from the file without the _GPL prefix. Any idea why? I have mentioned that this needs to be exported to call the arch_spin_unlock() function from a module. What additional information do you think will be useful here ? Are you looking at something that explains why a module might need to call arch_spin_unlock()? Thanks. -suresh ___ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev
Re: [PATCH] powerpc: Export __spin_yield
On Mon, 2015-02-23 at 18:10 -0600, Suresh E. Warrier wrote: > Export __spin_yield so that the arch_spin_unlock() function > can be invoked from a module. Make it EXPORT_SYMBOL_GPL. Also explain why a module might need it > Signed-off-by: Suresh Warrier > --- > arch/powerpc/lib/locks.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/arch/powerpc/lib/locks.c b/arch/powerpc/lib/locks.c > index bb7cfec..d100de8 100644 > --- a/arch/powerpc/lib/locks.c > +++ b/arch/powerpc/lib/locks.c > @@ -41,6 +41,7 @@ void __spin_yield(arch_spinlock_t *lock) > plpar_hcall_norets(H_CONFER, > get_hard_smp_processor_id(holder_cpu), yield_count); > } > +EXPORT_SYMBOL(__spin_yield); > > /* > * Waiting for a read lock or a write lock on a rwlock... ___ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev