* 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