ce426f
diff -pruN glibc-2.17-c758a686/nptl/sysdeps/unix/sysv/linux/lowlevellock.c glibc-2.17-c758a686/nptl/sysdeps/unix/sysv/linux/lowlevellock.c
ce426f
--- glibc-2.17-c758a686/nptl/sysdeps/unix/sysv/linux/lowlevellock.c	2012-12-25 08:32:13.000000000 +0530
ce426f
+++ glibc-2.17-c758a686/nptl/sysdeps/unix/sysv/linux/lowlevellock.c	2014-09-05 21:50:56.982975803 +0530
ce426f
@@ -21,11 +21,13 @@
ce426f
 #include <sysdep.h>
ce426f
 #include <lowlevellock.h>
ce426f
 #include <sys/time.h>
ce426f
+#include <stap-probe.h>
ce426f
 
ce426f
 
ce426f
 void
ce426f
 __lll_lock_wait_private (int *futex)
ce426f
 {
ce426f
+  LIBC_PROBE (lll_lock_wait_private, 1, futex);
ce426f
   if (*futex == 2)
ce426f
     lll_futex_wait (futex, 2, LLL_PRIVATE);
ce426f
 
ce426f
@@ -39,6 +42,7 @@ __lll_lock_wait_private (int *futex)
ce426f
 void
ce426f
 __lll_lock_wait (int *futex, int private)
ce426f
 {
ce426f
+  LIBC_PROBE (lll_lock_wait, 2, futex, FUTEX_WAIT | private);
ce426f
   if (*futex == 2)
ce426f
     lll_futex_wait (futex, 2, private);
ce426f
 
ce426f
diff -pruN glibc-2.17-c758a686/nptl/sysdeps/unix/sysv/linux/powerpc/lowlevellock.h glibc-2.17-c758a686/nptl/sysdeps/unix/sysv/linux/powerpc/lowlevellock.h
ce426f
--- glibc-2.17-c758a686/nptl/sysdeps/unix/sysv/linux/powerpc/lowlevellock.h	2012-12-25 08:32:13.000000000 +0530
ce426f
+++ glibc-2.17-c758a686/nptl/sysdeps/unix/sysv/linux/powerpc/lowlevellock.h	2014-09-05 21:51:58.722483631 +0530
ce426f
@@ -19,6 +19,8 @@
ce426f
 #ifndef _LOWLEVELLOCK_H
ce426f
 #define _LOWLEVELLOCK_H	1
ce426f
 
ce426f
+#include <stap-probe.h>
ce426f
+
ce426f
 #include <time.h>
ce426f
 #include <sys/param.h>
ce426f
 #include <bits/pthreadtypes.h>
ce426f
@@ -106,6 +108,7 @@
ce426f
     INTERNAL_SYSCALL_DECL (__err);					      \
ce426f
     long int __ret;							      \
ce426f
 									      \
ce426f
+    LIBC_PROBE (lll_futex_wake, 3, futexp, nr, private);		      \
ce426f
     __ret = INTERNAL_SYSCALL (futex, __err, 4, (futexp),		      \
ce426f
 			      __lll_private_flag (FUTEX_WAKE, private),	      \
ce426f
 			      (nr), 0);					      \
ce426f
diff -pruN glibc-2.17-c758a686/nptl/sysdeps/unix/sysv/linux/s390/lowlevellock.h glibc-2.17-c758a686/nptl/sysdeps/unix/sysv/linux/s390/lowlevellock.h
ce426f
--- glibc-2.17-c758a686/nptl/sysdeps/unix/sysv/linux/s390/lowlevellock.h	2012-12-25 08:32:13.000000000 +0530
ce426f
+++ glibc-2.17-c758a686/nptl/sysdeps/unix/sysv/linux/s390/lowlevellock.h	2014-09-05 21:51:58.722483631 +0530
ce426f
@@ -19,6 +19,8 @@
ce426f
 #ifndef _LOWLEVELLOCK_H
ce426f
 #define _LOWLEVELLOCK_H	1
ce426f
 
ce426f
+#include <stap-probe.h>
ce426f
+
ce426f
 #include <time.h>
ce426f
 #include <sys/param.h>
ce426f
 #include <bits/pthreadtypes.h>
ce426f
@@ -122,6 +124,7 @@
ce426f
     register unsigned long int __r4 asm ("4") = (unsigned long int) (nr);     \
ce426f
     register unsigned long int __result asm ("2");			      \
ce426f
 									      \
ce426f
+    LIBC_PROBE (lll_futex_wake, 3, futex, nr, private);			      \
ce426f
     __asm __volatile ("svc %b1"						      \
ce426f
 		      : "=d" (__result)					      \
ce426f
 		      : "i" (SYS_futex), "0" (__r2), "d" (__r3), "d" (__r4)   \