Re: [PATCH] powerpc: Export __spin_yield

2015-03-30 Thread Benjamin Herrenschmidt
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

2015-03-30 Thread Geert Uytterhoeven
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

2015-03-19 Thread Paul Mackerras
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

2015-02-24 Thread Benjamin Herrenschmidt
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

2015-02-24 Thread Suresh E. Warrier
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

2015-02-23 Thread Benjamin Herrenschmidt
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