| debug.mutex.prof.enable |
| | Enable or disable the mutex profiling code. This defaults to 0 (off). |
| debug.mutex.prof.reset |
| | Reset the current mutex profiling buffers. |
| debug.mutex.prof.acquisitions |
| | The total number of mutex acquisitions recorded. |
| debug.mutex.prof.records |
| | The total number of acquisition points recorded. Note that only active acquisition points (i.e., points that have been reached at least once) are counted. |
| debug.mutex.prof.maxrecords |
| | The maximum number of acquisition points the profiling code is capable of monitoring. Since it would not be possible to call malloc(9) from within the mutex profiling code, this is a static limit. The number of records can be changed with the MPROF_BUFFERS kernel option. |
| debug.mutex.prof.rejected |
| | The number of acquisition points that were ignored after the table filled up. |
| debug.mutex.prof.hashsize |
| | The size of the hash table used to map acquisition points to statistics records. The hash size can be changed with the MPROF_HASH_SIZE kernel option. |
| debug.mutex.prof.collisions |
| | The number of hash collisions in the acquisition point hash table. |
| debug.mutex.prof.stats |
| | The actual profiling statistics in plain text. The columns are as follows, from left to right: |
|
| max | The longest continuous hold time in microseconds. |
| total | The total (accumulated) hold time in microseconds. |
| count | The total number of acquisitions. |
| avg | The average hold time in microseconds, derived from the total hold time and the number of acquisitions. |
| cnt_hold | The number of times the mutex was held and another thread attempted to lock the mutex. |
| cnt_lock | The number of times the mutex was already locked when this point was reached. |
| name | The name of the acquisition point, derived from the source file name and line number, followed by the name of the mutex in parentheses. |
|