From: Andi Kleen <andi@firstfloor.org>
To: linux-mm@kvack.org
Cc: Andrea Arcangeli <aarcange@redhat.com>,
Rik van Riel <riel@redhat.com>,
tim.c.chen@linux.intel.com, torvalds@linux-foundation.org,
lwoodman@redhat.com, mel@csn.ul.ie
Subject: Batch locking for rmap fork/exit processing
Date: Thu, 5 May 2011 12:32:48 -0700 [thread overview]
Message-ID: <1304623972-9159-1-git-send-email-andi@firstfloor.org> (raw)
012f18004da33ba67 in 2.6.36 caused a significant performance regression in
fork/exit intensive workloads with a lot of sharing. The problem is that
fork/exit now contend heavily on the lock of the root anon_vma.
This patchkit attempts to lower this a bit by batching the lock acquisions.
Right now the lock is taken for every shared vma individually. This
patchkit batches this and only reaquires the lock when actually needed.
When multiple processes are doing this in parallel, they will now
spend much less time bouncing the lock cache line around. In addition
there should be also lower overhead in the uncontended case because
locks are relatively slow (not measured)
This doesn't completely fix the regression on a 4S system, but cuts
it down somewhat. One particular workload suffering from this gets
about 5% faster.
This is essentially a micro optimization that just tries to mitigate
the problem a bit.
Better would be to switch back to more local locking like .35 had, but I
guess then we would be back with the old deadlocks? I was thinking also of
adding some deadlock avoidance as an alternative.
-Andi
--
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/ .
Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
next reply other threads:[~2011-05-05 19:33 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-05-05 19:32 Andi Kleen [this message]
2011-05-05 19:32 ` [PATCH 1/4] VM/RMAP: Add infrastructure for batching the rmap chain locking Andi Kleen
2011-05-06 15:59 ` Rik van Riel
2011-05-09 21:43 ` Andrew Morton
2011-05-09 22:23 ` Andi Kleen
2011-05-09 22:28 ` Andrew Morton
2011-05-09 23:02 ` Andi Kleen
2011-05-09 23:16 ` Andrew Morton
2011-05-10 0:05 ` Andi Kleen
2011-05-10 1:26 ` Andrew Morton
2011-05-10 1:27 ` Rik van Riel
2011-05-10 1:48 ` Andrew Morton
2011-05-05 19:32 ` [PATCH 2/4] VM/RMAP: Batch anon vma chain root locking in fork Andi Kleen
2011-05-06 15:59 ` Rik van Riel
2011-05-05 19:32 ` [PATCH 3/4] VM/RMAP: Batch anon_vma_unlink in exit Andi Kleen
2011-05-06 16:48 ` Rik van Riel
2011-05-05 19:32 ` [PATCH 4/4] VM/RMAP: Move avc freeing outside the lock Andi Kleen
2011-05-06 16:52 ` Rik van Riel
2011-05-06 16:44 ` Batch locking for rmap fork/exit processing Linus Torvalds
2011-05-06 17:05 ` Andi Kleen
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=1304623972-9159-1-git-send-email-andi@firstfloor.org \
--to=andi@firstfloor.org \
--cc=aarcange@redhat.com \
--cc=linux-mm@kvack.org \
--cc=lwoodman@redhat.com \
--cc=mel@csn.ul.ie \
--cc=riel@redhat.com \
--cc=tim.c.chen@linux.intel.com \
--cc=torvalds@linux-foundation.org \
/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;
as well as URLs for NNTP newsgroup(s).