FYI, a new Lockmeter version 1.4.11 is now available against the 2.4.16 kernel:
http://oss.sgi.com/projects/lockmeter/download/lockmeter1.4.11-2.4.16.diff.gz
Version 1.4.10 inlined a "slow" version of atomic_dec_and_lock(), which meant
that the callers of atomic_dec_and_lock() were credited with the underlying
spin_lock() calls, instead of having the various different spinlocks be
grossly aggregated and credited to the generic atomic_dec_and_lock().
Unfortunately, that version 1.4.10 overemphasized the number of spin_lock()
calls because it was no longer using the common "fast path" of the i386
atomic_dec_and_lock().
This new version 1.4.11 remedies this shortcoming. The ia64 implementation
continues to use a "slow path" inline implementation of atomic_dec_and_lock().
The sparc64 and alpha implementations continue to use the standard non-inline
version of atomic_dec_and_lock(), which means (I believe) that the underlying
spin_lock() calls aggregate to atomic_dec_and_lock(), rather than be broken
up and credited to the callers of atomic_dec_and_lock().
John Hawkes
hawkes@xxxxxxx
|