[PATCH] 2.3.15 spinlock metering

John Hawkes (hawkes@cthulhu.engr.sgi.com)
Fri, 03 Sep 1999 11:20:57 -0700


This is a multi-part message in MIME format.
--------------08472561E014A7EE78128218
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit

Please consider this SMP i386 patch against 2.3.15 for spinlock
"metering". Also attached is a new command, "lockstat", that tells the
kernel to turn the metering on or off, and to read the metering data and
display it in a human-readable form.

Spinlock metering is the runtime recording of data about spinlock usage
-- how often each spinlock is acquired by each locker, how often an
acquisition faced contention and had to wait because someone else owned
that spinlock, and how much time passed before the contention went away.

After the kernel patch is applied to the kernel, a new config variable
(in the "Kernel hacking" subsection) controls whether or not
lockmetering gets compiled into the kernel. A lockmeter-capable kernel
has essentially the same size as a non-lockmeter-capable kernel -- even
smaller, in fact -- because the non-metered kernel's inline locking code
gets replaced by procedure calls, and the multiple-reader-single-writer
locks gets significantly smaller. A lockmeter-capable kernel is
negligibly slower than a normal non-lockmeter-capable kernel when
metering is turned off, and is 1-2% slower when metering (the act of
collecting the data itself) is turned on.

Care has been taken to minimize runtime performance impact of
lockmetering. For example, the data structures that record the counts
and times are separated per-CPU, which means there is no cache coherency
overhead when different CPUs update counts for the same spinlock being
called by the same caller.

As an example of the usefulness of this lockmetering code, I exercised
2x, 3x, and 4xCPU (4x400 MHz Xeon) configurations with an AIM7 workload
that had been modified to remove three synchronous disk subtests that
otherwise would contend on a single disk spindle and produce substantial
idle time. My test workload ran with effectively zero idle time, about
75% user and 25% system time.

My test results:

The 4xCPU 2.3.11 kernel performs about 6-8% faster than the 2.2.10
kernel at the highest loads. The 2.3.x kernel did almost 3x the number
of spinlocks-per-second vs. the 2.2.10 kernel, due to the finer
granularity of 2.3's locking scheme, but 2.3 exhibits lock contention on
2% of these calls vs. 18% in 2.2. When 2.3 does contend, the mean
wait-times are almost 2x those in 2.2. One likely hypothesis for the
longer mean wait-times is that 2.3 has eliminated the quick, trivial
contentions, leaving the longer contentions to raise the mean.

With this workload on this 4xCPU Xeon hardware, spinlock contention in
2.2.10 consumed about 8% of theoretically available CPU cycles (340
milliseconds/second of waiting per 4,000 milliseconds/second
theoretically available) vs. about 2% in 2.3 (95 milliseconds of waiting
per 4,000 milliseconds).

The kernel_flag usage is still significant in 2.3, but its contention is
greatly reduced. In 2.2 I saw contention on 40% of the 41K-per-second
acquisitions, vs. 10% of the 19K-per-second acquisitions done in the 2.3
kernel. Despite the almost 2x increase in mean wait-time on the
kernel_flag in 2.3, the overall number of kernel_flag contention cycles
is about 3x higher in 2.2 vs. 2.3. That is, the 2.3 kernel goes after
kernel_flag much less frequently and sees much less contention on it;
but when there is contention, that contention results in a mean wait
that is twice as long as in 2.2.

Further investigation (using a hacked, unreleased version of the
lockmetering code) shows that the biggest kernel_flag pig in 2.3 is
sys_close(), which holds the kernel_flag for as long as 10-13
milliseconds (on a 400 MHz Xeon CPU) on a regular basis.

A broader discussion of spinlock metering is available at the SGI Open
Source website:
http://oss.sgi.com/projects/lockmeter
as well as a patch against 2.2.10.

John Hawkes
(hawkes@engr.sgi.com)
--------------08472561E014A7EE78128218
Content-Type: application/x-gzip;
name="lockmeter1.0.1-2.3.15.gz"
Content-Transfer-Encoding: base64
Content-Disposition: inline;
filename="lockmeter1.0.1-2.3.15.gz"

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
--------------08472561E014A7EE78128218
Content-Type: application/x-gzip;
name="lockstat-1.0.tar.gz"
Content-Transfer-Encoding: base64
Content-Disposition: inline;
filename="lockstat-1.0.tar.gz"

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
1VM91VM91VM91VM93+j5PykmkI8AoAAA
--------------08472561E014A7EE78128218--

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/