]>
Commit | Line | Data |
---|---|---|
5acf7263 RM |
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 | |
9d20e22e MC |
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 | |
5acf7263 RM |
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 | ||
5acf7263 RM |
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 |