X-Git-Url: http://git.liburcu.org/?a=blobdiff_plain;f=lttng-context-ppid.c;h=58ff3fe719200bf9c8bf964feb47eb72e5f65c4d;hb=1638c9b4fa42c188ffa962552146537f8fb3d26e;hp=058190484d75350ab181f9096e9f20a1e295a3d0;hpb=3d0d43dbac505d33994f5a57f4f11021410fa417;p=lttng-modules.git diff --git a/lttng-context-ppid.c b/lttng-context-ppid.c index 05819048..58ff3fe7 100644 --- a/lttng-context-ppid.c +++ b/lttng-context-ppid.c @@ -46,6 +46,15 @@ void ppid_record(struct lttng_ctx_field *field, { pid_t ppid; + + /* + * TODO: when we eventually add RCU subsystem instrumentation, + * taking the rcu read lock here will trigger RCU tracing + * recursively. We should modify the kernel synchronization so + * it synchronizes both for RCU and RCU sched, and rely on + * rcu_read_lock_sched_notrace. + */ + rcu_read_lock(); ppid = task_tgid_nr(current->real_parent); rcu_read_unlock();