public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* Re: [Fwd: [PATCH] ppc64: Fix CPU hot unplug deadlock]
       [not found] <1082266724.2500.327.camel@gaston>
@ 2004-04-18 16:50 ` Olaf Hering
  2004-04-18 22:45   ` Benjamin Herrenschmidt
  0 siblings, 1 reply; 2+ messages in thread
From: Olaf Hering @ 2004-04-18 16:50 UTC (permalink / raw)
  To: Benjamin Herrenschmidt; +Cc: akpm, linux-kernel

 On Sun, Apr 18, Benjamin Herrenschmidt wrote:

> My RTAS locking fixes incorrectly added a spinlock around the function
> used to stop a CPU, that function never returns, thus the lock becomes
> stale. The correct fix is to disable interrupts instead (the RTAS params
> beeing per-CPU, this should be safe enough)
> 
> Ben.
> 
> diff -urN linux-2.5/arch/ppc64/kernel/rtas.c ppc64-linux-2.5/arch/ppc64/kernel/rtas.c
> --- linux-2.5/arch/ppc64/kernel/rtas.c	2004-04-17 12:39:03.253986984 +1000
> +++ ppc64-linux-2.5/arch/ppc64/kernel/rtas.c	2004-04-18 15:35:41.871029480 +1000
> @@ -504,9 +504,9 @@
>  void rtas_stop_self(void)
>  {
>  	struct rtas_args *rtas_args = &(get_paca()->xRtas);
> -	unsigned long s;
>  
> -	spin_lock_irqsave(&rtas.lock, s);
> +	local_irq_disable(s);

did that compile ok for you?

-- 
USB is for mice, FireWire is for men!

sUse lINUX ag, nÜRNBERG

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [Fwd: [PATCH] ppc64: Fix CPU hot unplug deadlock]
  2004-04-18 16:50 ` [Fwd: [PATCH] ppc64: Fix CPU hot unplug deadlock] Olaf Hering
@ 2004-04-18 22:45   ` Benjamin Herrenschmidt
  0 siblings, 0 replies; 2+ messages in thread
From: Benjamin Herrenschmidt @ 2004-04-18 22:45 UTC (permalink / raw)
  To: Olaf Hering; +Cc: Andrew Morton, Linux Kernel list


> > 
> > diff -urN linux-2.5/arch/ppc64/kernel/rtas.c ppc64-linux-2.5/arch/ppc64/kernel/rtas.c
> > --- linux-2.5/arch/ppc64/kernel/rtas.c	2004-04-17 12:39:03.253986984 +1000
> > +++ ppc64-linux-2.5/arch/ppc64/kernel/rtas.c	2004-04-18 15:35:41.871029480 +1000
> > @@ -504,9 +504,9 @@
> >  void rtas_stop_self(void)
> >  {
> >  	struct rtas_args *rtas_args = &(get_paca()->xRtas);
> > -	unsigned long s;
> >  
> > -	spin_lock_irqsave(&rtas.lock, s);
> > +	local_irq_disable(s);
> 
> did that compile ok for you

Rah ! I sent the wrong one ! I'm really sick...

New fix on the way

Ben.



^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2004-04-18 22:52 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <1082266724.2500.327.camel@gaston>
2004-04-18 16:50 ` [Fwd: [PATCH] ppc64: Fix CPU hot unplug deadlock] Olaf Hering
2004-04-18 22:45   ` Benjamin Herrenschmidt

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox