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