* [Lockmeter 2.5] BKL with 51ms hold time, prove me wrong
@ 2003-04-11 1:15 Hanna Linder
2003-04-11 1:50 ` Andrew Morton
2003-04-11 2:08 ` Dave Hansen
0 siblings, 2 replies; 5+ messages in thread
From: Hanna Linder @ 2003-04-11 1:15 UTC (permalink / raw)
To: akpm; +Cc: linux-kernel, hannal
My original purpose was to verify my lockmeter port is producing
valid data so I was comparing to readprofile results. However, I saw
these high hold times and wanted to show them to you. Here is the
whole lockmeter output file:
http://prdownloads.sourceforge.net/lse/lockmeter.rmapm
Below is a snippet of lockmeter data from running Andrew Morton's
rmap-test -m -i 10 -n 50 -s 600 -t 100 foo
on a 2-way PIII 256MB RAM 500MHz System
If my port of the lockmeter tool is correct then this high hold
time is a bad thing. If the lockmeter tool is incorrect please let
me know. Here is the link to a lockmeter patch (originally written
by John Hawkes, I simply ported it):
http://prdownloads.sourceforge.net/lse/lockmeter1.5-2.5.64-1.diff
Thanks.
Hanna
___________________________________________________________________________
System: Linux w-hlinder2 2.5.66-mjb2lm #3 SMP Thu Apr 10 18:58:09 PDT 2003 i686
Total counts
All (2) CPUs
Start time: Thu Apr 10 19:03:39 2003
End time: Thu Apr 10 19:08:19 2003
Delta Time: 280.24 sec.
Hash table slots in use: 217.
Global read lock slots in use: 161.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
SPINLOCKS HOLD WAIT
UTIL CON MEAN( MAX ) MEAN( MAX )(% CPU) TOTAL NOWAIT SPIN RJECT NAME
13.7% 2.4us( 51ms) 1.1us( 22ms)(0.15%) 6360789 86.3% 11.2% 2.6% *TOTAL*
0.12% 0% 0.3us( 22ms) 0us 1033785 100% 0% 0% journal_datalist_lock
0.04% 0% 2348us( 22ms) 0us 43 100% 0% 0% journal_commit_transaction+0x2a0
0.59% 0.82% 13us( 51ms) 89us( 22ms)(0.02%) 126172 99.2% 0.82% 0% kernel_flag
0.02% 0% 26ms( 51ms) 0us 2 100% 0% 0% ext3_delete_inode+0x34
0.06% 48.7% 79us( 22ms) 35us( 20ms)(0.01%) 2115 51.3% 48.7% 0% schedule+0x48c
0.00% 36.0% 2.9us( 12us) 1.1us( 3.0us)(0.00%) 25 64.0% 36.0% 0% runqueues
0.00% 36.0% 2.9us( 12us) 1.1us( 3.0us)(0.00%) 25 64.0% 36.0% 0% load_balance+0x148
0% 100% 0us 134325 0% 0% 100% cache_alloc_refill+0x15c
0% 100% 0us 14658 0% 0% 100% cache_alloc_refill+0x1f0
0.03% 0% 7.4us( 24us) 0us 10472 100% 0% 0% cache_alloc_refill+0x78
0% 100% 0us 14658 0% 0% 100% cache_alloc_refill+0xcc
0.62% 0% 5084us( 48ms) 0us 339 100% 0% 0% unmap_vmas+0x1c0
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [Lockmeter 2.5] BKL with 51ms hold time, prove me wrong
2003-04-11 1:15 [Lockmeter 2.5] BKL with 51ms hold time, prove me wrong Hanna Linder
@ 2003-04-11 1:50 ` Andrew Morton
2003-04-11 18:15 ` Hanna Linder
2003-04-11 2:08 ` Dave Hansen
1 sibling, 1 reply; 5+ messages in thread
From: Andrew Morton @ 2003-04-11 1:50 UTC (permalink / raw)
To: Hanna Linder; +Cc: linux-kernel
Hanna Linder <hannal@us.ibm.com> wrote:
>
>
> My original purpose was to verify my lockmeter port is producing
> valid data so I was comparing to readprofile results. However, I saw
> these high hold times and wanted to show them to you. Here is the
> whole lockmeter output file:
> http://prdownloads.sourceforge.net/lse/lockmeter.rmapm
>
> Below is a snippet of lockmeter data from running Andrew Morton's
> rmap-test -m -i 10 -n 50 -s 600 -t 100 foo
> on a 2-way PIII 256MB RAM 500MHz System
I'm a bit surprised that even slow machine like that would take 50
milliseconds to truncate 128MB of file, but it's not impossible I guess.
Truncate is not really a fastpath. ext3 in -mm doesn't have any lock_kernels
in it.
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [Lockmeter 2.5] BKL with 51ms hold time, prove me wrong
2003-04-11 1:15 [Lockmeter 2.5] BKL with 51ms hold time, prove me wrong Hanna Linder
2003-04-11 1:50 ` Andrew Morton
@ 2003-04-11 2:08 ` Dave Hansen
1 sibling, 0 replies; 5+ messages in thread
From: Dave Hansen @ 2003-04-11 2:08 UTC (permalink / raw)
To: Hanna Linder; +Cc: akpm, linux-kernel
Hanna Linder wrote:
> My original purpose was to verify my lockmeter port is producing
> valid data so I was comparing to readprofile results. However, I saw
> these high hold times and wanted to show them to you. Here is the
> whole lockmeter output file:
> http://prdownloads.sourceforge.net/lse/lockmeter.rmapm
>
> Below is a snippet of lockmeter data from running Andrew Morton's
> rmap-test -m -i 10 -n 50 -s 600 -t 100 foo
> on a 2-way PIII 256MB RAM 500MHz System
>
> If my port of the lockmeter tool is correct then this high hold
> time is a bad thing. If the lockmeter tool is incorrect please let
> me know. Here is the link to a lockmeter patch (originally written
> by John Hawkes, I simply ported it):
> http://prdownloads.sourceforge.net/lse/lockmeter1.5-2.5.64-1.diff
This isn't much of a surprise, nor is is likely a problem in your
lockmeter port. The offender is ext3_delete_inode. The BKL was only
taken here twice out of the 126172 lock_kernel() which were profiled.
The 51ms happened once and the other time, the lock was released much
more quickly.
SPINLOCKS HOLD WAIT
UTIL CON MEAN( MAX ) MEAN( MAX)(% CPU) TOTAL NOWAIT SPIN RJECT
0.02% 0% 26ms( 51ms) 0us 2 100% 0% 0%
The odds are that the 22ms wait in ext3_writepage and the 20ms wait in
schedule were due to this single hold. Actually, the schedule one could
very well be caused by the reacquisiton after ext3_delete_inode() hit
something that made it sleep with the BKL held.
I've thought that it would be helpful to have lockmeter special-case the
reacquire_kernel() in schedule, to properly attribute the time to the
original offender.
--
Dave Hansen
haveblue@us.ibm.com
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [Lockmeter 2.5] BKL with 51ms hold time, prove me wrong
2003-04-11 1:50 ` Andrew Morton
@ 2003-04-11 18:15 ` Hanna Linder
2003-04-11 21:49 ` Andrew Morton
0 siblings, 1 reply; 5+ messages in thread
From: Hanna Linder @ 2003-04-11 18:15 UTC (permalink / raw)
To: Andrew Morton; +Cc: Hanna Linder, linux-kernel
--On Thursday, April 10, 2003 06:50:06 PM -0700 Andrew Morton <akpm@digeo.com> wrote:
> I'm a bit surprised that even slow machine like that would take 50
> milliseconds to truncate 128MB of file, but it's not impossible I guess.
> Truncate is not really a fastpath. ext3 in -mm doesn't have any lock_kernels
> in it.
Sure enough. I ported lockmeter to 2.5.67-mm1 and ran the same rmap-test
and lo and behold all the ext3 issues went away. However, the one remaining
long hold time moved to the top (unmap_vmas):
___________________________________________________________________________________________
System: Linux w-hlinder2 2.5.67-mm1 #1 SMP Fri Apr 11 12:31:38 PDT 2003 i686
SPINLOCKS HOLD WAIT
UTIL CON MEAN( MAX ) MEAN( MAX )(% CPU) TOTAL NOWAIT SPIN RJECT NAME
19.2% 2.0us( 49ms) 1.1us(9767us)(0.58%) 5506902 80.8% 16.6% 2.5% *TOTAL*
0.30% 0.00% 0.4us(9728us) 2598us(3751us)(0.01%) 672210 100% 0.00% 0% journal_datalist_lock
0.26% 0.01% 1.1us(9759us) 4116us(9767us)(0.04%) 211510 100% 0.01% 0% kernel_flag
0.00% 10.9% 2.2us( 14us) 1.0us( 1.9us)(0.00%) 137 89.1% 10.9% 0% runqueues
0.00% 42.9% 1.6us( 14us) 1.0us( 1.9us)(0.00%) 35 57.1% 42.9% 0% load_balance+0x138
0.00% 0% 2.3us( 3.9us) 0us 102 100% 0% 0% wake_up_forked_process+0x3c
3.1% 0% 11ms( 49ms) 0us 245 100% 0% 0% unmap_vmas+0x1c0
------------
Here is the port of lockmeter to the 2.5.67-mm1 kernel. If you would consider
putting it in your tree that would be great and I would work on porting the
rest of the architectures.
http://prdownloads.sourceforge.net/lse/lockmeter1.5-2.5.67-mm1.patch?download
Here is also the whole locmeter output of this run if
you are interested.
http://prdownloads.sourceforge.net/lse/lockstat-mm1.rmapm?download
Thanks a lot!
Hanna Linder
IBM Linux Technology Center
hannal@us.ibm.com
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [Lockmeter 2.5] BKL with 51ms hold time, prove me wrong
2003-04-11 18:15 ` Hanna Linder
@ 2003-04-11 21:49 ` Andrew Morton
0 siblings, 0 replies; 5+ messages in thread
From: Andrew Morton @ 2003-04-11 21:49 UTC (permalink / raw)
To: Hanna Linder; +Cc: linux-kernel
Hanna Linder <hannal@us.ibm.com> wrote:
>
>
> Sure enough. I ported lockmeter to 2.5.67-mm1 and ran the same rmap-test
> and lo and behold all the ext3 issues went away. However, the one remaining
> long hold time moved to the top (unmap_vmas):
Ah, but the unmap_vmas lock was not kernel_flag, was it? It'll be
page_table_lock.
That's OK I think. The only time this is likely to bite anyone is if you
have a threaded application in which one thread it doing a massive munmap()
while another one is handling a pagefault, running mmap(), etc. And given
that _establishing_ that large mapping in the first place takes tons of CPU,
the relative loss from the long hold time is small.
Famous last words.
>
> Here is the port of lockmeter to the 2.5.67-mm1 kernel. If you would consider
> putting it in your tree that would be great and I would work on porting the
> rest of the architectures.
>
> http://prdownloads.sourceforge.net/lse/lockmeter1.5-2.5.67-mm1.patch?download
OK, that's pretty unintrusive.
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2003-04-11 21:38 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2003-04-11 1:15 [Lockmeter 2.5] BKL with 51ms hold time, prove me wrong Hanna Linder
2003-04-11 1:50 ` Andrew Morton
2003-04-11 18:15 ` Hanna Linder
2003-04-11 21:49 ` Andrew Morton
2003-04-11 2:08 ` Dave Hansen
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox