Blame nptl/DESIGN-systemtap-probes.txt

Packit 6c4009
Systemtap is a dynamic tracing/instrumenting tool available on Linux. Probes
Packit 6c4009
that are not fired at run time have close to zero overhead.
Packit 6c4009
Packit 6c4009
The following probes are available for NPTL:
Packit 6c4009
Packit 6c4009
Thread creation & Join Probes
Packit 6c4009
=============================
Packit 6c4009
pthread_create - probe for pthread_create
Packit 6c4009
               arg1 = pointer (pthread_t*) to thread
Packit 6c4009
               arg2 = pointer (pthread_attr_t*) to attr
Packit 6c4009
               arg3 = pointer (void *) to start_routine
Packit 6c4009
               arg4 = arguments to start_routine
Packit 6c4009
pthread_start - probe for actual thread creation
Packit 6c4009
              arg1 = struct pthread (members include thread ID, process ID)
Packit 6c4009
              arg2 = address of start_routine
Packit 6c4009
              arg3 = pointer to the list of arguments
Packit 6c4009
pthread_join - probe for pthread_join
Packit 6c4009
             arg1 = thread ID
Packit 6c4009
pthread_join_ret - probe for pthread_join return
Packit 6c4009
                 arg1 = thread ID
Packit 6c4009
                 arg2 = return value
Packit 6c4009
Packit 6c4009
Lock-related Probes
Packit 6c4009
===================
Packit 6c4009
mutex_init    - probe for pthread_mutex_init
Packit 6c4009
              arg1 = address of mutex lock
Packit 6c4009
mutex_acquired - probe for succ. return of pthread_mutex_lock
Packit 6c4009
               arg1 = address of mutex lock
Packit 6c4009
mutex_timedlock_acquired - probe for succ. return of pthread_mutex_timedlock
Packit 6c4009
                         arg1 = address of mutex lock
Packit 6c4009
mutex_entry   - probe for entry to the pthread_mutex_lock function
Packit 6c4009
              arg1 = address of mutex lock
Packit 6c4009
mutex_timedlock_entry - probe for entry to the pthread_mutex_timedlock function
Packit 6c4009
                      arg1 = address of mutex lock, arg2 = address of timespec
Packit 6c4009
mutex_release - probe for pthread_mutex_unlock after the successful release of a
Packit 6c4009
                mutex lock
Packit 6c4009
              arg1 = address of mutex lock
Packit 6c4009
mutex_destroy - probe for pthread_mutex_destroy
Packit 6c4009
              arg1 = address of mutex lock
Packit 6c4009
Packit 6c4009
wrlock_entry - probe for entry to the pthread_rwlock_wrlock function
Packit 6c4009
             arg1 = address of rw lock
Packit 6c4009
rdlock_entry - probe for entry to the pthread_rwlock_rdlock function
Packit 6c4009
             arg1 = address of rw lock
Packit 6c4009
Packit 6c4009
rwlock_destroy - probe for pthread_rwlock_destroy
Packit 6c4009
               arg1 = address of rw lock
Packit 6c4009
wrlock_acquire_write - probe for pthread_rwlock_wrlock (after getting the lock)
Packit 6c4009
                     arg1 = address of rw lock
Packit 6c4009
rdlock_acquire_read - probe for pthread_rwlock_rdlock after successfully getting
Packit 6c4009
                      the lock
Packit 6c4009
                    arg1 = address of rw lock
Packit 6c4009
rwlock_unlock - probe for pthread_rwlock_unlock
Packit 6c4009
              arg1 = address of rw lock
Packit 6c4009
Packit 6c4009
Condition variable Probes
Packit 6c4009
=========================
Packit 6c4009
cond_init - probe for pthread_cond_init
Packit 6c4009
          arg1 = condition
Packit 6c4009
          arg2 = attr
Packit 6c4009
cond_destroy - probe for pthread_cond_destroy
Packit 6c4009
             arg1 = cond
Packit 6c4009
cond_wait - probe for pthread_cond_wait
Packit 6c4009
          arg1 = condition
Packit 6c4009
          arg2 = mutex lock
Packit 6c4009
cond_timedwait - probe for pthread_cond_timedwait
Packit 6c4009
               arg1 = condition
Packit 6c4009
               arg2 = mutex lock
Packit 6c4009
               arg3 = timespec
Packit 6c4009
cond_signal - probe for pthread_cond_signal
Packit 6c4009
            arg1 = condition
Packit 6c4009
cond_broadcast - probe for pthread_cond_broadcast
Packit 6c4009
               arg1 = condition