universally apply our cflags (no vsx, no altivec..)
[glibc.git] / nptl / DESIGN-systemtap-probes.txt
1 Systemtap is a dynamic tracing/instrumenting tool available on Linux. Probes
2 that are not fired at run time have close to zero overhead.
3
4 The following probes are available for NPTL:
5
6 Thread creation & Join Probes
7 =============================
8 pthread_create - probe for pthread_create
9 arg1 = pointer (pthread_t*) to thread
10 arg2 = pointer (pthread_attr_t*) to attr
11 arg3 = pointer (void *) to start_routine
12 arg4 = arguments to start_routine
13 pthread_start - probe for actual thread creation
14 arg1 = struct pthread (members include thread ID, process ID)
15 arg2 = address of start_routine
16 arg3 = pointer to the list of arguments
17 pthread_join - probe for pthread_join
18 arg1 = thread ID
19 pthread_join_ret - probe for pthread_join return
20 arg1 = thread ID
21 arg2 = return value
22
23 Lock-related Probes
24 ===================
25 mutex_init - probe for pthread_mutex_init
26 arg1 = address of mutex lock
27 mutex_acquired - probe for succ. return of pthread_mutex_lock
28 arg1 = address of mutex lock
29 mutex_timedlock_acquired - probe for succ. return of pthread_mutex_timedlock
30 arg1 = address of mutex lock
31 mutex_entry - probe for entry to the pthread_mutex_lock function
32 arg1 = address of mutex lock
33 mutex_timedlock_entry - probe for entry to the pthread_mutex_timedlock function
34 arg1 = address of mutex lock, arg2 = address of timespec
35 mutex_clocklock_entry - probe for entry to the pthread_mutex_clocklock function
36 arg1 = address of mutex lock, arg2 = clockid,
37 arg3 = address of timespec
38 mutex_release - probe for pthread_mutex_unlock after the successful release of a
39 mutex lock
40 arg1 = address of mutex lock
41 mutex_destroy - probe for pthread_mutex_destroy
42 arg1 = address of mutex lock
43
44 wrlock_entry - probe for entry to the pthread_rwlock_wrlock function
45 arg1 = address of rw lock
46 rdlock_entry - probe for entry to the pthread_rwlock_rdlock function
47 arg1 = address of rw lock
48
49 rwlock_destroy - probe for pthread_rwlock_destroy
50 arg1 = address of rw lock
51 wrlock_acquire_write - probe for pthread_rwlock_wrlock (after getting the lock)
52 arg1 = address of rw lock
53 rdlock_acquire_read - probe for pthread_rwlock_rdlock after successfully getting
54 the lock
55 arg1 = address of rw lock
56 rwlock_unlock - probe for pthread_rwlock_unlock
57 arg1 = address of rw lock
58
59 Condition variable Probes
60 =========================
61 cond_init - probe for pthread_cond_init
62 arg1 = condition
63 arg2 = attr
64 cond_destroy - probe for pthread_cond_destroy
65 arg1 = cond
66 cond_wait - probe for pthread_cond_wait
67 arg1 = condition
68 arg2 = mutex lock
69 cond_timedwait - probe for pthread_cond_timedwait
70 arg1 = condition
71 arg2 = mutex lock
72 arg3 = timespec
73 cond_signal - probe for pthread_cond_signal
74 arg1 = condition
75 cond_broadcast - probe for pthread_cond_broadcast
76 arg1 = condition