From: Lee Schermerhorn <Lee.Schermerhorn@hp.com>
To: Christoph Lameter <clameter@sgi.com>
Cc: Andi Kleen <ak@suse.de>,
Andrew Morton <akpm@linux-foundation.org>,
linux-mm <linux-mm@kvack.org>
Subject: Minor [?] page migration bug in check_pte_range()
Date: Tue, 14 Aug 2007 11:25:48 -0400 [thread overview]
Message-ID: <1187105148.6281.38.camel@localhost> (raw)
I was testing memory policy and page migration with memtoy commands,
something like this:
# create/map an 8 page anon segment
anon a1 8p
map a1
# write to fault in new pages with default/local policy
touch a1 w
# on what node do the pages get allocated?
where a1
# attempt to install interleave policy and migrate pages
mbind a1 interleave+move <node-list>
# where <node-list> includes the node where the pages reside
# what happened?
where a1
What I see is that when you attempt to install an interleave policy and
migrate the pages to match that policy, any pages on nodes included in
the interleave node mask will not be migrated to match policy. This
occurs because of the clever, but overly simplistic test in
check_pte_range():
if (node_isset(nid, *nodes) == !!(flags & MPOL_MF_INVERT))
continue;
Fixing this would, I think, involve checking each page against the
location dictated by the new policy. Altho' I don't think this is a
performance critical path, it is the inner-most loop of check_range().
Is this worth addressing, do you think?
Lee
--
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:[~2007-08-14 15:25 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-08-14 15:25 Lee Schermerhorn [this message]
2007-08-14 19:33 ` Christoph Lameter
2007-08-14 20:21 ` Lee Schermerhorn
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=1187105148.6281.38.camel@localhost \
--to=lee.schermerhorn@hp.com \
--cc=ak@suse.de \
--cc=akpm@linux-foundation.org \
--cc=clameter@sgi.com \
--cc=linux-mm@kvack.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