From: Mel Gorman <mel@csn.ul.ie>
To: Nick Piggin <npiggin@suse.de>,
Pekka Enberg <penberg@cs.helsinki.fi>,
Christoph Lameter <cl@linux-foundation.org>
Cc: heiko.carstens@de.ibm.com, sachinp@in.ibm.com,
linux-kernel@vger.kernel.org, linux-mm@kvack.org,
Mel Gorman <mel@csn.ul.ie>, Tejun Heo <tj@kernel.org>,
Benjamin Herrenschmidt <benh@kernel.crashing.org>
Subject: [PATCH 0/3] Fix SLQB on memoryless configurations V3
Date: Tue, 22 Sep 2009 13:54:11 +0100 [thread overview]
Message-ID: <1253624054-10882-1-git-send-email-mel@csn.ul.ie> (raw)
Changelog since V2
o Turned out that allocating per-cpu areas for node ids on ppc64 just
wasn't stable. This series statically declares the per-node data. This
wastes memory but it appears to work.
Currently SLQB is not allowed to be configured on PPC and S390 machines as
CPUs can belong to memoryless nodes. SLQB does not deal with this very well
and crashes reliably.
These patches partially fix the memoryless node problem for SLQB. The
machine will boot successfully but is unstable under stress indicating
that SLQB has some serious problems when dealing with pages from remote
nodes. The remote node stability may be linked to the per-cpu stability
problem so should be treated as separate bugs.
Patch 1 statically defines some per-node structures instead of using a fun
hack with DEFINE_PER_CPU. The per-node areas are not always getting
initialised by the architecture which led to a crash.
Patch 2 notes that on memoryless configurations, memory is always freed
remotely but always allocates locally and falls back to the page
allocator on failure. This effectively is a memory leak. This patch
records in kmem_cache_cpu what node it considers local to be either
the real local node or the closest node available.
Patch 3 allows SLQB to be configured on PPC again and S390. These patches
address most of the memoryless node issues on PPC and the expectation
is that the remaining bugs in SLQB are to do with remote nodes,
per-cpu area allocation or both. This patch enables SLQB on S390
as it has been reported by Heiko Carstens that issues there have
been independently resolved.
I believe these are ready for merging although it would be preferred if
Nick signed-off. Christoph has suggested that SLQB should be disabled for
NUMA but I feel if it's disabled, the problem may never be resolved. Hence
I didn't patch accordingly but Pekka or Nick may feel different.
include/linux/slqb_def.h | 3 ++
init/Kconfig | 1 -
mm/slqb.c | 52 ++++++++++++++++++++++++++++-----------------
3 files changed, 35 insertions(+), 21 deletions(-)
--
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 reply other threads:[~2009-09-22 12:54 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-09-22 12:54 Mel Gorman [this message]
2009-09-22 12:54 ` [PATCH 1/4] slqb: Do not use DEFINE_PER_CPU for per-node data Mel Gorman
2009-09-22 18:55 ` Pekka Enberg
2009-09-22 12:54 ` [PATCH 2/4] slqb: Record what node is local to a kmem_cache_cpu Mel Gorman
2009-09-22 13:38 ` Pekka Enberg
2009-09-22 13:54 ` Mel Gorman
2009-09-22 18:54 ` Pekka Enberg
2009-09-22 18:56 ` Mel Gorman
2009-09-30 14:41 ` Mel Gorman
2009-09-30 15:06 ` Christoph Lameter
2009-09-30 22:05 ` Mel Gorman
2009-09-30 23:45 ` Christoph Lameter
2009-10-01 10:40 ` Mel Gorman
2009-10-01 14:32 ` Christoph Lameter
2009-10-01 15:03 ` Mel Gorman
2009-10-01 15:03 ` Christoph Lameter
2009-10-01 15:16 ` Mel Gorman
2009-10-04 12:06 ` Pekka Enberg
2009-10-05 9:49 ` Mel Gorman
2009-09-22 12:54 ` [PATCH 3/4] slqb: Allow SLQB to be used on PPC and S390 Mel Gorman
2009-09-22 13:21 ` [PATCH 0/3] Fix SLQB on memoryless configurations V3 Mel Gorman
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=1253624054-10882-1-git-send-email-mel@csn.ul.ie \
--to=mel@csn.ul.ie \
--cc=benh@kernel.crashing.org \
--cc=cl@linux-foundation.org \
--cc=heiko.carstens@de.ibm.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=npiggin@suse.de \
--cc=penberg@cs.helsinki.fi \
--cc=sachinp@in.ibm.com \
--cc=tj@kernel.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).