[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20080408020758.1ed570af.akpm@linux-foundation.org>
Date: Tue, 8 Apr 2008 02:07:58 -0700
From: Andrew Morton <akpm@...ux-foundation.org>
To: ego@...ibm.com
Cc: paulmck@...ux.vnet.ibm.com, linux-kernel@...r.kernel.org,
mathieu.desnoyers@...ymtl.ca, mingo@...e.hu, hch@...radead.org,
mmlnx@...ibm.com, dipankar@...ibm.com, dsmith@...hat.com,
rostedt@...dmis.org, adrian.bunk@...ial.fi, a.p.zijlstra@...llo.nl,
niv@...ibm.com, dvhltc@...ibm.com, rusty@....ibm.com,
jkenisto@...ux.vnet.ibm.com, oleg@...sign.ru
Subject: Re: [PATCH,RFC] Add call_rcu_sched()
On Tue, 8 Apr 2008 14:26:37 +0530 Gautham R Shenoy <ego@...ibm.com> wrote:
> On Tue, Apr 08, 2008 at 01:39:36AM -0700, Andrew Morton wrote:
> > On Tue, 8 Apr 2008 13:40:48 +0530 Gautham R Shenoy <ego@...ibm.com> wrote:
> >
> > > > > + rdp = RCU_DATA_CPU(cpu);
> > > <-- here ------\
> > > > > + spin_lock_irqsave(&rdp->lock, flags); |
> > > > > + |
> > > > > + /* |
> > > > > + * We are running on this CPU irq-disabled, so no |
> > > > > + * CPU can go offline until we re-enable irqs. |
> > > > |
> > > > but, but, but. The cpu at `cpu' could have gone offline just before we |
> > > > disabled local interrupts. |
> > > |
> > > In that case the CPU_DEAD callback should have migrated the rcu-lists to |
> > > a cpu which is online. |
> > |
> > But local variable rdp might be pointing at the now-offlined CPU's data? -------/
>
> Right. But then rdp wouldn't contain anything useful at this point.
> So, we may only end up taking the rdp->lock, observe that there's nothing to do,
> and move on.
>
> Is there something else that I am missing?
erm, I guess that'll work OK.
There were intentions to release the per-cpu memory during unplug, but
nobody has threatened to do that for a while.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists