From: Christoph Lameter <christoph@engr.sgi.com>
To: Andrew Morton <akpm@osdl.org>
Cc: nickpiggin@yahoo.com.au, linux-mm@vger.kernel.org
Subject: Re: Avoid excessive time spend on concurrent slab shrinking
Date: Fri, 31 Mar 2006 15:17:10 -0800 (PST) [thread overview]
Message-ID: <Pine.LNX.4.64.0603311507130.8617@schroedinger.engr.sgi.com> (raw)
In-Reply-To: <20060331150120.21fad488.akpm@osdl.org>
On Fri, 31 Mar 2006, Andrew Morton wrote:
> Christoph Lameter <clameter@sgi.com> wrote:
> >
> > We experienced that concurrent slab shrinking on 2.6.16 can slow down a
> > system excessively due to lock contention.
>
> How much?
System sluggish in general. cscope takes 20 minutes to start etc. Dropping
the caches restored performance.
> Which lock(s)?
Seems to be mainly iprune_sem. So its inode reclaim.
> > Slab shrinking is a global
> > operation so it does not make sense for multiple slab shrink operations
> > to be ongoing at the same time.
>
> That's how it used to be - it was a semaphore and we baled out if
> down_trylock() failed. If we're going to revert that change then I'd
> prefer to just go back to doing it that way (only with a mutex).
No problem with that. Seems that the behavior <2.6.9 was okay. This showed
up during beta testing of a new major distribution release.
> The reason we made that change in 2.6.9:
>
> Use an rwsem to protect the shrinker list instead of a regular
> semaphore. Modifications to the list are now done under the write lock,
> shrink_slab takes the read lock, and access to shrinker->nr becomes racy
> (which is no concurrent.
>
> Previously, having the slab scanner get preempted or scheduling while
> holding the semaphore would cause other tasks to skip putting pressure on
> the slab.
>
> Also, make shrink_icache_memory return -1 if it can't do anything in
> order to hold pressure on this cache and prevent useless looping in
> shrink_slab.
Shrink_icache_memory() never returns -1.
> Note the lack of performance numbers? How are we to judge which the
> regression which your proposal introduces is outweighed by the (unmeasured)
> gain it provides?
We just noticed general sluggishness and took some stackdumps to see what
the system was up to. Do we have a benchmark for slab shrinking?
> We need a *lot* of testing results with varied workloads and varying
> machine types before we can say that changes like this are of aggregate
> benefit and do not introduce bad corner-case regressions.
The slowdown of the system running concurrent slab reclaim is pretty
severe. Machine is basically unusable until you manually trigger the
dropping of the caches.
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
next prev parent reply other threads:[~2006-03-31 23:22 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-03-31 22:44 Christoph Lameter
[not found] ` <20060331150120.21fad488.akpm@osdl.org>
2006-03-31 23:17 ` Christoph Lameter [this message]
2006-03-31 23:46 ` Andrew Morton
[not found] ` <20060331153235.754deb0c.akpm@osdl.org>
2006-03-31 23:48 ` Christoph Lameter
2006-04-01 0:00 ` Andrew Morton
2006-04-01 0:14 ` Andrew Morton
2006-04-01 0:22 ` Christoph Lameter
2006-04-01 1:25 ` Andrew Morton
2006-04-01 2:34 ` Nick Piggin
2006-04-01 5:59 ` Nathan Scott
2006-04-01 18:30 ` David Chinner
2006-04-01 18:49 ` Christoph Lameter
2006-04-01 18:24 ` David Chinner
2006-03-31 23:45 ` Andrew Morton
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=Pine.LNX.4.64.0603311507130.8617@schroedinger.engr.sgi.com \
--to=christoph@engr.sgi.com \
--cc=akpm@osdl.org \
--cc=linux-mm@vger.kernel.org \
--cc=nickpiggin@yahoo.com.au \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox