X-Git-Url: http://git.liburcu.org/?a=blobdiff_plain;f=lttng-context-ppid.c;h=58ff3fe719200bf9c8bf964feb47eb72e5f65c4d;hb=b93de86fedd7081ebc2a587c8fdefadceb33bc08;hp=058190484d75350ab181f9096e9f20a1e295a3d0;hpb=886d51a3d7ed5fa6b41d7f19b3e14ae6c535a44c;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();