From: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
To: Andrew Morton <akpm@linux-foundation.org>
Cc: bo-liu@hotmail.com, linux-mm@kvack.org, mel@csn.ul.ie,
cl@linux-foundation.org
Subject: Re: [PATCH] mv clear node_load[] to __build_all_zonelists()
Date: Tue, 18 Aug 2009 09:12:03 +0900 [thread overview]
Message-ID: <20090818091203.20341635.kamezawa.hiroyu@jp.fujitsu.com> (raw)
In-Reply-To: <20090817143447.b1ecf5c6.akpm@linux-foundation.org>
On Mon, 17 Aug 2009 14:34:47 -0700
Andrew Morton <akpm@linux-foundation.org> wrote:
> On Thu, 6 Aug 2009 19:50:37 +0900
> KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com> wrote:
>
> > On Thu, 6 Aug 2009 18:44:40 +0800
> > Bo Liu <bo-liu@hotmail.com> wrote:
> >
> > >
> > > If node_load[] is cleared everytime build_zonelists() is called,node_load[]
> > > will have no help to find the next node that should appear in the given node's
> > > fallback list.
> > > Signed-off-by: Bob Liu
> >
> > nice catch. (my old bug...sorry
> >
> > Reviewed-by: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
> >
> > BTW, do you have special reasons to hide your mail address in commit log ?
> >
> > I added proper CC: list.
> > Hmm, I think it's necessary to do total review/rewrite this function again..
> >
> >
> > > ---
> > > mm/page_alloc.c | 2 +-
> > > 1 files changed, 1 insertions(+), 1 deletions(-)
> > >
> > > diff --git a/mm/page_alloc.c b/mm/page_alloc.c
> > > index d052abb..72f7345 100644
> > > --- a/mm/page_alloc.c
> > > +++ b/mm/page_alloc.c
> > > @@ -2544,7 +2544,6 @@ static void build_zonelists(pg_data_t *pgdat)
> > > prev_node = local_node;
> > > nodes_clear(used_mask);
> > >
> > > - memset(node_load, 0, sizeof(node_load));
> > > memset(node_order, 0, sizeof(node_order));
> > > j = 0;
> > >
> > > @@ -2653,6 +2652,7 @@ static int __build_all_zonelists(void *dummy)
> > > {
> > > int nid;
> > >
> > > + memset(node_load, 0, sizeof(node_load));
> > > for_each_online_node(nid) {
> > > pg_data_t *pgdat = NODE_DATA(nid);
>
> What are the consequences of this bug?
>
> Is the fix needed in 2.6.31? Earlier?
>
I think this should be on fast-track as bugfix.
By this bug, zonelist's node_order is not calculated as expected.
This bug affects on big machine, which has asynmetric node distance.
[synmetric NUMA's node distance]
0 1 2
0 10 12 12
1 12 10 12
2 12 12 10
[asynmetric NUMA's node distance]
0 1 2
0 10 12 20
1 12 10 14
2 20 14 10
This (my bug) is very old..but no one have reported this for a long time.
Maybe because the number of asynmetric NUMA is very small and they use cpuset
for customizing node memory allocation fallback.
Thanks,
-Kame
--
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-08-18 0:13 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-08-06 10:44 Bo Liu
2009-08-06 10:50 ` KAMEZAWA Hiroyuki
2009-08-17 21:34 ` Andrew Morton
2009-08-18 0:12 ` KAMEZAWA Hiroyuki [this message]
2009-08-18 9:28 ` Bo Liu
2009-08-06 10:49 [PATCH] mv clear node_load[] to __build_all_zonelists() Bob Liu
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=20090818091203.20341635.kamezawa.hiroyu@jp.fujitsu.com \
--to=kamezawa.hiroyu@jp.fujitsu.com \
--cc=akpm@linux-foundation.org \
--cc=bo-liu@hotmail.com \
--cc=cl@linux-foundation.org \
--cc=linux-mm@kvack.org \
--cc=mel@csn.ul.ie \
/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