[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20180520005632.GA58902@joelaf.mtv.corp.google.com>
Date: Sat, 19 May 2018 17:56:54 -0700
From: Joel Fernandes <joel@...lfernandes.org>
To: "Paul E. McKenney" <paulmck@...ux.vnet.ibm.com>
Cc: rostedt@...dmis.org, byungchul.park@....com,
mathieu.desnoyers@...icios.com,
Josh Triplett <josh@...htriplett.org>,
Lai Jiangshan <jiangshanlai@...il.com>,
linux-kernel@...r.kernel.org, kernel-team@...roid.com
Subject: Re: Tasks RCU vs Preempt RCU
On Sat, May 19, 2018 at 05:49:38PM -0700, Paul E. McKenney wrote:
[...]
> > > And the problem with wrapping them with rcu_read_{lock,unlock} is that
> > > there would be a point before the trampoline executed rcu_read_lock()
> > > but while it was on the trampoline. Nothing good comes from this. ;-)
> >
> > Yes, I see what you're saying. The data being protected and freed in this
> > case is the code so relying on it to do the rcu_read_lock seems infeasible.
> > Conceptually atleast, I feel this can be fixed by cleverly implementing
> > trampolines such that the rcu_read_lock isn't done during the trampoline
> > execution. But I am not very experienced with how the trampolines work to say
> > definitely whether it is or isn't possible or worth it. But atleast I felt it
> > was a worthwhile food for thought ;)
>
> I suggested to Steven that the rcu_read_lock() and rcu_read_unlock() might
> be outside of the trampoline, but this turned out to be infeasible. Not
> that I remember why! ;-)
>
> > I actually want to trace out the trampoline executing as it pertains to RCU,
> > with your latest rcu/dev.. I think it will be fun :)
>
> Cool!
>
> In addition, if you are interested, it might be worth looking for fields
> in rcu_dynticks, rcu_data, rcu_node, and rcu_state that are no longer
> actually used. It might also be worth looking for RCU macros that are
> no longer used.
Yes, definitely interested. Will keep an eye out for such fields and macros.
thanks!
- Joel
Powered by blists - more mailing lists