[lkml]   [2000]   [Feb]   [9]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
SubjectRe: [PATCH] spinlock metering (2.3.42)
Linus Torvalds wrote:
> On Tue, 8 Feb 2000, John Hawkes wrote:
> >
> > Please consider this SMP i386 patch against 2.3.42 to add a "spinlock
> > metering" enhancement. This patch is also found at:
> >
> Mind showing us an example of real-world usage and results? I'm loathe to
> apply this along with all the other changes I have pending, but I'd like
> to know how it looks and what the results are under some real usage, just
> as an example..?

I take a 4x500MHz Xeon running 2.3.28 and exercise it with what I call
a "modified AIM7" workload -- without three disk subtests that otherwise
produce 90% idle time because these synchronous subtests saturate my
disk spindle. My system thus becomes compute-bound, roughly 75% user
25% system.

Spinlock metering tells me that 4% of the available CPU cycles (160msec
the total of 4,000msec on the four CPUs, per second) are spent waiting
spinlocks, with the longest wait-time being over 14msec and the longest
hold-time being 15msec. This 4% is an improvement over the 8% exhibited
by 2.2.13.

The kernel_flag is still the biggest culprit in 2.3.28 and it accounts
almost all of the witnessed wait-time cycles (157msec of the 160msec
total). A call in ext2_get_block() accounts for 45msec of this 157msec.
The largest hold-time occurs in do_close() -- that 15msec mentioned
earlier -- with a mean hold-time of 59usec (microsec). Other long holds
are done by sys_unlink() (10msec max), sys_open() (5.5msec), and
sys_execvs() (2msec).

John Hawkes

To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to
Please read the FAQ at

 \ /
  Last update: 2005-03-22 13:56    [W:0.074 / U:40.996 seconds]
©2003-2018 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site