1typedef struct _opaque_pthread_mutex_t pthread_mutex_t; 2typedef struct _opaque_pthread_rwlock_t pthread_rwlock_t; 3 4provider plockstat { 5 probe mutex__acquire(pthread_mutex_t *mutex, int recursive, int spin_count); 6 probe mutex__release(pthread_mutex_t *mutex, int recursive); 7 probe mutex__error(pthread_mutex_t *mutex, int errno); 8 probe mutex__block(pthread_mutex_t *mutex); 9 probe mutex__blocked(pthread_mutex_t *mutex, int successful); 10 probe mutex__spin(pthread_mutex_t *mutex); 11 probe mutex__spun(pthread_mutex_t *mutex, int successful, int spin_count); 12 13 probe rw__acquire(pthread_rwlock_t *rwlock, int write_lock); 14 probe rw__block(pthread_rwlock_t *rwlock, int write_lock); 15 probe rw__blocked(pthread_rwlock_t *rwlock, int write_lock, int successful); 16 probe rw__release(pthread_rwlock_t *rwlock, int write_lock); 17 probe rw__error(pthread_rwlock_t *rwlock, int write_lock, int error); 18}; 19 20#pragma D attributes Evolving/Evolving/ISA provider plockstat provider 21#pragma D attributes Private/Private/Unknown provider plockstat module 22#pragma D attributes Private/Private/Unknown provider plockstat function 23#pragma D attributes Evolving/Evolving/ISA provider plockstat name 24#pragma D attributes Evolving/Evolving/ISA provider plockstat args 25