RCU, reference counts

Ananth N Mavinakayanahalli ananth at in.ibm.com
Wed Aug 6 05:22:02 UTC 2008


On Tue, Aug 05, 2008 at 07:20:42PM -0700, Roland McGrath wrote:
> > Yes!
> [...]
> > What is the use case for a utrace client to do a utrace_engine_get/put()?
> > Wouldn't it be more robust if utrace implicitly handles refcounts as
> > you've detailed below?
> 
> If the only operations that affect this "count" are implicit, then I assume
> you must mean those are attach and detach.  What today's utrace has now is
> an "implicit count": it's 1 when attached, and 0 when not.  It's perfectly
> robust as described.  Since it's implicit, you have to observe all those
> squirrelly rules about synchronizing with UTRACE_DETACH that I've been
> talking about.
> 
> If there is no utrace_engine_put, then what difference are you saying an
> enthusiastic "Yes!" to?  Explain what you have in mind that would be
> somehow different from what we already had, but have no utrace_engine_put.

My initial opinion was that you were moving away from RCU to also rid
the task_struct->utrace assertion failure, which IIRC from some of the
investigations at the time, were mostly for RCU lifetime reasons.

Ananth




More information about the utrace-devel mailing list