From: Mathieu Desnoyers Date: Thu, 1 Jun 2017 18:24:11 +0000 (-0400) Subject: Fix: pid tracker should track "pgid" X-Git-Tag: v2.9.3~1 X-Git-Url: https://git.lttng.org./?a=commitdiff_plain;h=003aec1ebfe047c78a16b2edda705649eee8cd37;p=lttng-modules.git Fix: pid tracker should track "pgid" The "pid" notion exposed by LTTng translates to the "pgid" notion in the Linux kernel. Therefore using "current->pid" as argument to the PID tracker actually ends up behaving as a "tid" tracker, which does not match the intent nor the user-space tracer behavior. Signed-off-by: Mathieu Desnoyers --- diff --git a/probes/lttng-tracepoint-event-impl.h b/probes/lttng-tracepoint-event-impl.h index cd7af776..7ec0d757 100644 --- a/probes/lttng-tracepoint-event-impl.h +++ b/probes/lttng-tracepoint-event-impl.h @@ -1150,7 +1150,7 @@ static void __event_probe__##_name(void *__data, _proto) \ if (unlikely(!ACCESS_ONCE(__event->enabled))) \ return; \ __lpf = lttng_rcu_dereference(__session->pid_tracker); \ - if (__lpf && likely(!lttng_pid_tracker_lookup(__lpf, current->pid))) \ + if (__lpf && likely(!lttng_pid_tracker_lookup(__lpf, current->tgid))) \ return; \ __orig_dynamic_len_offset = this_cpu_ptr(<tng_dynamic_len_stack)->offset; \ __dynamic_len_idx = __orig_dynamic_len_offset; \