From: Michael Jeanson Date: Fri, 2 Mar 2018 22:36:26 +0000 (-0500) Subject: Fix: cache the result of getpid() internally X-Git-Tag: v2.10.2~6 X-Git-Url: https://git.lttng.org./?a=commitdiff_plain;h=208345b28c540f2eb9323307055218c99c916ce0;p=lttng-ust.git Fix: cache the result of getpid() internally On Linux we called getpid() directly on each tracepoint and relied on the glibc pid cache. However, in glibc 2.25, released on 2017-02-05, the pid cache was removed which results in a getpid syscall on each event when the vpid context is enabled. Remove the Linux specific case and use our internal cache all the time. Signed-off-by: Michael Jeanson Signed-off-by: Mathieu Desnoyers --- diff --git a/liblttng-ust/lttng-context-vpid.c b/liblttng-ust/lttng-context-vpid.c index 5e5ed145..53fb314b 100644 --- a/liblttng-ust/lttng-context-vpid.c +++ b/liblttng-ust/lttng-context-vpid.c @@ -27,17 +27,6 @@ #include #include -#ifdef __linux__ -static inline -pid_t wrapper_getpid(void) -{ - return getpid(); -} - -void lttng_context_vpid_reset(void) -{ -} -#else /* * We cache the result to ensure we don't trigger a system call for * each event. @@ -60,7 +49,6 @@ void lttng_context_vpid_reset(void) { cached_vpid = 0; } -#endif static size_t vpid_get_size(struct lttng_ctx_field *field, size_t offset)