[ltt-dev] why annotate some rcu related code?

Robert rsm219 at gmail.com
Tue May 17 05:07:48 EDT 2011


Hi list,

I am new to rcu/ust, and trying to figure out how to use ust to trace
programs.
I don't know if it is right to post my problems here, since I didn't find
any user mailing list.

I am using ust-0.12 and urcu-0.5.4 under linux 2.6.24 ubuntu 8.04.4
There are 3 problems:

1. Why in source code like *marker.c* file, some rcu related code are
annotated?
  e.g.,

*/* Make sure the call_rcu has been executed */*
*//ust// if (e->rcu_pending)*
*//ust//         rcu_barrier_sched();*

   Then how ust do synchronization?

2. I am trying to trace some simple programs like pbzip2. I just find
pthread_create call, and  insert trace_mark() into the function that is
invoked by pthread_create. But then I get segmentation fault. I cannot
figure out why.
The code is like:
*trace_mark(ust, newevent, "ret is %d", 100);*

3. Actually I am not sure how to use libust. The manual as well as some
other documents say that it is easy, just insert things like
*trace_mark(ust, myevent, "firstarg %d secondarg %s", v, st);*
into the code. But before that should I register or claim something?
Specially, where can I find the definition of ust and myevent?

These are silly questions, but I cannot solve them.
Thanks in advance.

-- robert
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.casi.polymtl.ca/pipermail/lttng-dev/attachments/20110517/63a6667b/attachment-0003.htm>


More information about the lttng-dev mailing list