# Identifying Contended User-Space Locks

WAR STORY: Futex contention http://sourceware.org/systemtap/wiki/WSFutexContention?highlight=((WarStories))

This section describes how to identify contended user-space locks throughout the system within a specific time period. The ability to identify contended user-space locks can help you investigate poor program performance that you suspect may be caused by `futex` contentions.

Simply put, `futex` contention occurs when multiple processes are trying to access the same lock variable at the same time. This can result in a poor performance because the lock serializes execution; one process obtains the lock while the other processes must wait for the lock variable to become available again.

The script probes the `futex` system call to show lock contention.

futexes.stp

needs to be manually stopped; upon exit, it prints the following information:

- Name and ID of the process responsible for a contention

- The location of the contested lock variable

- How many times the lock variable was contended

- Average time of contention throughout the probe

contains an excerpt from the output of upon exiting the script (after approximately 20 seconds).

Sample Output

    [...]
    automount[2825] lock 0x00bc7784 contended 18 times, 999931 avg us
    synergyc[3686] lock 0x0861e96c contended 192 times, 101991 avg us
    synergyc[3758] lock 0x08d98744 contended 192 times, 101990 avg us
    synergyc[3938] lock 0x0982a8b4 contended 192 times, 101997 avg us
    [...]

script examples identifying contended user-space locks (futex contentions)
examples of SystemTap scripts identifying contended user-space locks (futex contentions)
identifying contended user-space locks (futex contentions) examples of SystemTap scripts
contended user-space locks (futex contentions), identifying examples of SystemTap scripts
futex contentions, identifying examples of SystemTap scripts
futex contention, definition examples of SystemTap scripts
script examples futex (lock) contentions
examples of SystemTap scripts futex (lock) contentions
futex (lock) contentions examples of SystemTap scripts
script examples futex system call
examples of SystemTap scripts futex system call
futex system call examples of SystemTap scripts