From: Mel Gorman <mel@csn.ul.ie>
To: Tejun Heo <tj@kernel.org>
Cc: Sachin Sant <sachinp@in.ibm.com>,
Pekka Enberg <penberg@cs.helsinki.fi>,
Nick Piggin <npiggin@suse.de>,
Christoph Lameter <cl@linux-foundation.org>,
heiko.carstens@de.ibm.com, linux-kernel@vger.kernel.org,
linux-mm@kvack.org, Andrew Morton <akpm@linux-foundation.org>,
Benjamin Herrenschmidt <benh@kernel.crashing.org>
Subject: Re: [PATCH 1/3] slqb: Do not use DEFINE_PER_CPU for per-node data
Date: Mon, 21 Sep 2009 14:57:33 +0100 [thread overview]
Message-ID: <20090921135733.GP12726@csn.ul.ie> (raw)
In-Reply-To: <4AB78385.6020900@kernel.org>
On Mon, Sep 21, 2009 at 10:45:41PM +0900, Tejun Heo wrote:
> Hello,
>
> Mel Gorman wrote:
> > This latter guess was close to the mark but not for the reasons I was
> > guessing. There isn't magic per-cpu-area-freeing going on. Once I examined
> > the implementation of per-cpu data, it was clear that the per-cpu areas for
> > the node IDs were never being allocated in the first place on PowerPC. It's
> > probable that this never worked but that it took a long time before SLQB
> > was run on a memoryless configuration.
>
> Ah... okay, so node id was being used to access percpu memory but the
> id wasn't in cpu_possible_map. Yeah, that will access weird places in
> between proper percpu areas.
Indeed
> I never thought about that. I'll add
> debug version of percpu access macros which check that the offset and
> cpu make sense so that things like this can be caught easier.
>
It would not hurt. I consider the per-node usage model to be rare but
it's possible there are issues with CPU hotplug and per-cpu data lurking
around that such a debug patch might catch.
> As Pekka suggested, using MAX_NUMNODES seems more appropriate tho
> although it's suboptimal in that it would waste memory and more
> importantly not use node-local memory. :-(
>
If the per-cpu macros are to be used for per-node data, it would need to
be generalised to encompass more IDs than what is in cpu_possible_map.
It depends on how much demand there is for per-node data and how much it
helps. I have no data on that.
> Sachin, does the hang you're seeing also disappear with Mel's patches?
>
Sachin should be enjoying his holiday and I'm hogging his machine at the
moment. However, I can report that with this patch applied as well as the
remote-free patch that the machine locks up after a random amount of time
has passed and doesn't respond to sysrq. Setting
CONFIG_RCU_CPU_STALL_DETECTOR=y didn't help throw up an error. Will
enable a few other debug options related to stall detection and see does
it pop out.
--
Mel Gorman
Part-time Phd Student Linux Technology Center
University of Limerick IBM Dublin Software Lab
WARNING: multiple messages have this Message-ID (diff)
From: Mel Gorman <mel@csn.ul.ie>
To: Tejun Heo <tj@kernel.org>
Cc: Sachin Sant <sachinp@in.ibm.com>,
Pekka Enberg <penberg@cs.helsinki.fi>,
Nick Piggin <npiggin@suse.de>,
Christoph Lameter <cl@linux-foundation.org>,
heiko.carstens@de.ibm.com, linux-kernel@vger.kernel.org,
linux-mm@kvack.org, Andrew Morton <akpm@linux-foundation.org>,
Benjamin Herrenschmidt <benh@kernel.crashing.org>
Subject: Re: [PATCH 1/3] slqb: Do not use DEFINE_PER_CPU for per-node data
Date: Mon, 21 Sep 2009 14:57:33 +0100 [thread overview]
Message-ID: <20090921135733.GP12726@csn.ul.ie> (raw)
In-Reply-To: <4AB78385.6020900@kernel.org>
On Mon, Sep 21, 2009 at 10:45:41PM +0900, Tejun Heo wrote:
> Hello,
>
> Mel Gorman wrote:
> > This latter guess was close to the mark but not for the reasons I was
> > guessing. There isn't magic per-cpu-area-freeing going on. Once I examined
> > the implementation of per-cpu data, it was clear that the per-cpu areas for
> > the node IDs were never being allocated in the first place on PowerPC. It's
> > probable that this never worked but that it took a long time before SLQB
> > was run on a memoryless configuration.
>
> Ah... okay, so node id was being used to access percpu memory but the
> id wasn't in cpu_possible_map. Yeah, that will access weird places in
> between proper percpu areas.
Indeed
> I never thought about that. I'll add
> debug version of percpu access macros which check that the offset and
> cpu make sense so that things like this can be caught easier.
>
It would not hurt. I consider the per-node usage model to be rare but
it's possible there are issues with CPU hotplug and per-cpu data lurking
around that such a debug patch might catch.
> As Pekka suggested, using MAX_NUMNODES seems more appropriate tho
> although it's suboptimal in that it would waste memory and more
> importantly not use node-local memory. :-(
>
If the per-cpu macros are to be used for per-node data, it would need to
be generalised to encompass more IDs than what is in cpu_possible_map.
It depends on how much demand there is for per-node data and how much it
helps. I have no data on that.
> Sachin, does the hang you're seeing also disappear with Mel's patches?
>
Sachin should be enjoying his holiday and I'm hogging his machine at the
moment. However, I can report that with this patch applied as well as the
remote-free patch that the machine locks up after a random amount of time
has passed and doesn't respond to sysrq. Setting
CONFIG_RCU_CPU_STALL_DETECTOR=y didn't help throw up an error. Will
enable a few other debug options related to stall detection and see does
it pop out.
--
Mel Gorman
Part-time Phd Student Linux Technology Center
University of Limerick IBM Dublin Software Lab
--
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:[~2009-09-21 13:57 UTC|newest]
Thread overview: 57+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-09-18 19:34 [RFC PATCH 0/3] Hatchet job for SLQB on memoryless configurations Mel Gorman
2009-09-18 19:34 ` Mel Gorman
2009-09-18 19:34 ` [PATCH 1/3] slqb: Do not use DEFINE_PER_CPU for per-node data Mel Gorman
2009-09-18 19:34 ` Mel Gorman
2009-09-20 8:45 ` Pekka Enberg
2009-09-20 8:45 ` Pekka Enberg
2009-09-20 10:00 ` Tejun Heo
2009-09-20 10:00 ` Tejun Heo
2009-09-20 10:12 ` Pekka Enberg
2009-09-20 10:12 ` Pekka Enberg
2009-09-20 15:55 ` Tejun Heo
2009-09-20 15:55 ` Tejun Heo
2009-09-21 6:24 ` Pekka Enberg
2009-09-21 6:24 ` Pekka Enberg
2009-09-21 8:46 ` Mel Gorman
2009-09-21 8:46 ` Mel Gorman
2009-09-21 8:30 ` Sachin Sant
2009-09-21 8:42 ` Mel Gorman
2009-09-21 8:42 ` Mel Gorman
2009-09-21 9:00 ` Tejun Heo
2009-09-21 9:00 ` Tejun Heo
2009-09-21 9:44 ` Mel Gorman
2009-09-21 9:44 ` Mel Gorman
2009-09-21 9:53 ` Tejun Heo
2009-09-21 9:53 ` Tejun Heo
2009-09-21 10:04 ` Mel Gorman
2009-09-21 10:04 ` Mel Gorman
2009-09-21 9:02 ` Sachin Sant
2009-09-21 9:02 ` Sachin Sant
2009-09-21 9:09 ` Mel Gorman
2009-09-21 9:09 ` Mel Gorman
2009-09-21 13:04 ` Mel Gorman
2009-09-21 13:04 ` Mel Gorman
2009-09-21 13:31 ` Pekka Enberg
2009-09-21 13:31 ` Pekka Enberg
2009-09-21 13:45 ` Tejun Heo
2009-09-21 13:45 ` Tejun Heo
2009-09-21 13:57 ` Mel Gorman [this message]
2009-09-21 13:57 ` Mel Gorman
2009-09-21 23:54 ` Benjamin Herrenschmidt
2009-09-21 23:54 ` Benjamin Herrenschmidt
2009-09-20 14:04 ` Mel Gorman
2009-09-20 14:04 ` Mel Gorman
2009-09-18 19:34 ` [PATCH 2/3] slqb: Treat pages freed on a memoryless node as local node Mel Gorman
2009-09-18 19:34 ` Mel Gorman
2009-09-18 21:01 ` Christoph Lameter
2009-09-18 21:01 ` Christoph Lameter
2009-09-19 11:46 ` Mel Gorman
2009-09-19 11:46 ` Mel Gorman
2009-09-21 17:34 ` Lee Schermerhorn
2009-09-21 17:34 ` Lee Schermerhorn
2009-09-22 13:33 ` Mel Gorman
2009-09-22 13:33 ` Mel Gorman
2009-09-22 18:29 ` Lee Schermerhorn
2009-09-22 18:29 ` Lee Schermerhorn
2009-09-18 19:34 ` [PATCH 3/3] slqb: Allow SLQB to be used on PPC and S390 Mel Gorman
2009-09-18 19:34 ` 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=20090921135733.GP12726@csn.ul.ie \
--to=mel@csn.ul.ie \
--cc=akpm@linux-foundation.org \
--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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.