[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20140804135224.GA18824@linux.vnet.ibm.com>
Date: Mon, 4 Aug 2014 06:52:24 -0700
From: "Paul E. McKenney" <paulmck@...ux.vnet.ibm.com>
To: Oleg Nesterov <oleg@...hat.com>
Cc: Lai Jiangshan <laijs@...fujitsu.com>, linux-kernel@...r.kernel.org,
mingo@...nel.org, dipankar@...ibm.com, akpm@...ux-foundation.org,
mathieu.desnoyers@...icios.com, josh@...htriplett.org,
tglx@...utronix.de, peterz@...radead.org, rostedt@...dmis.org,
dhowells@...hat.com, edumazet@...gle.com, dvhart@...ux.intel.com,
fweisbec@...il.com, bobby.prani@...il.com
Subject: Re: [PATCH v3 tip/core/rcu 1/9] rcu: Add call_rcu_tasks()
On Mon, Aug 04, 2014 at 06:51:04AM -0700, Paul E. McKenney wrote:
> On Mon, Aug 04, 2014 at 03:25:25PM +0200, Oleg Nesterov wrote:
> > On 08/03, Paul E. McKenney wrote:
> > >
> > > On Mon, Aug 04, 2014 at 08:37:37AM +0800, Lai Jiangshan wrote:
> > > > An alternative solution:
> > > > srcu_read_lock() before exit_notify(), srcu_read_unlock() after the last preempt_disable()
> > > > in the do_exit, and synchronize_srcu() in rcu_tasks_kthread().
> > >
> > > That is a good way to synchronize with the exiting tasks, and I will
> > > probably that that approach.
> > >
> > > I -thought- that Oleg was concerned about safely building the list to
> > > start with, though.
> >
> > But for_each_process_thread() under rcu_read_lock() should work except
> > it can miss the exiting tasks.
> >
> > So it seems that the clever Lai's trick should solve the problem.
>
> Cool! Lai's trick seems to be doing well in early testing, so keeping
> fingers firmly crossed. ;-)
And the horrible thing is that my plan had been to use per-CPU reference
counts for this purpose, which would of course have been sort of like
re-implementing a special case of SRCU.
So we should all be thankful to Lai for his suggestion! ;-)
Thanx, Paul
--
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