title: Tracing Contention on Big Kernel Lock
name: bkl.stp
version: 1.0
keywords: locking 
subsystem: locking
author: Flavio Leitner
status: production
exit: user-controlled
output: trace
scope: system-wide
description: The bkl.stp script can help determine whether the Big Kernel Lock (BKL) is causing serialization on a multiprocessor system due to excessive contention of the BKL. The bkl.stp script takes one argument which is the number of processes waiting for the Big Kernel Lock (BKL). When the number of processes waiting for the BKL is reached or exceeded, the script will print a time stamp, the number of processes waiting for the BKL, the holder of the BKL, and the amount of time the BKL was held.
test_support: stap -l 'kernel.function("lock_kernel").return'
test_check: stap -p4 bkl.stp 1
test_installcheck: stap bkl.stp -c "sleep 0.2" 1
