From: Lee Schermerhorn <Lee.Schermerhorn@hp.com>
To: Avi Kivity <avi@redhat.com>
Cc: linux-numa@vger.kernel.org, akpm@linux-foundation.org,
Mel Gorman <mel@csn.ul.ie>,
cl@linux-foundation.org, Nick Piggin <npiggin@kernel.dk>,
Hugh Dickins <hughd@google.com>,
KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>,
andi@firstfloor.org, David Rientjes <rientjes@google.com>,
Andrea Arcangeli <aarcange@redhat.com>
Subject: Re: [PATCH/RFC 0/8] numa - Migrate-on-Fault
Date: Wed, 17 Nov 2010 12:34:14 -0500 [thread overview]
Message-ID: <1290015254.3786.168.camel@zaphod> (raw)
In-Reply-To: <4CE40C78.7060509@redhat.com>
On Wed, 2010-11-17 at 19:10 +0200, Avi Kivity wrote:
> On 11/11/2010 09:44 PM, Lee Schermerhorn wrote:
> > This series of patches implements page migration in the fault path.
> >
> > !!! N.B., Need to consider iteraction with KSM and Transparent Huge
> > !!! Pages.
> >
> > The basic idea is that when a fault handler such as do_swap_page()
> > finds a cached page with zero mappings that is otherwise "stable"--
> > e.g., no I/O in progress--this is a good opportunity to check whether the
> > page resides on the node indicated by the mempolicy in the current context.
> >
> > We only attempt to migrate when there are zero mappings because 1) we can
> > easily migrate the page--don't have to go through the effort of removing
> > all mappings and 2) default policy--a common case--can give different
> > answers from different tasks running on different nodes. Checking the
> > policy when there are zero mappings effectively implements a "first touch"
> > placement policy.
>
> A couple of kvm-related notes:
> - kvm page faults are significantly more expensive than ordinary page
> faults; this will affect the cost/benefit tradeoff
> - kvm faults go through get_user_pages_fast(), not the ordinary fault
> path. Will the code handle this?
Don't know, Avi. These patches pre-date all of the kvm, ksm,
transparent huge pages work. I wasn't running any of these on the tests
I ran last week before posting. When I rebased to the 9nov mmotm, I
attempted to test on a RHEL6.0 install, so probably transparent
hugepages and maybe ksm daemons were running. Certainly libvirtd was
running, but I don't think I had any guests running. But, it occurs to
me that the null pointer deref I saw on this config could have been the
result of interactions with newer virt features in RHEL6.
That said, the 'migrate-on-fault' mechanism which is at the heart of
lazy migration is currently hooked [only] into do_swap_page(). So, when
get_user_pages(_fast)() calls the page fault handler, the pages should
be migrated if they're found in the correct state and are "misplaced".
The interactions I'm more worried about are in the filtering of pages
selected for automigration--probably want to skip THPs and KSM'd pages.
Lee
prev parent reply other threads:[~2010-11-17 17:34 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-11-11 19:44 [PATCH/RFC 0/8] numa - Migrate-on-Fault Lee Schermerhorn
2010-11-11 19:44 ` [PATCH/RFC 1/8] numa - Migrate-on-Fault - add Kconfig option Lee Schermerhorn
2010-11-11 19:45 ` [PATCH/RFC 2/8] numa - Migrate-on-Fault - add cpuset control Lee Schermerhorn
2010-11-11 19:45 ` [PATCH/RFC 3/8] numa - Migrate-on-Fault - check for misplaced page Lee Schermerhorn
2010-11-11 19:45 ` [PATCH/RFC 4/8] numa - Migrate-on-Fault - migrate misplaced pages Lee Schermerhorn
2010-11-11 19:45 ` [PATCH/RFC 5/8] numa - Migrate-on-Fault - migrate misplaced anon pages Lee Schermerhorn
2010-11-11 19:45 ` [PATCH/RFC 6/8] numa - Migrate-on-Fault - add mbind() MPOL_MF_LAZY flag Lee Schermerhorn
2010-11-11 19:45 ` [PATCH/RFC 7/8] numa - Migrate-on-Fault - mbind() NOOP policy Lee Schermerhorn
2010-11-11 19:45 ` [PATCH/RFC 8/8] numa - Migrate-on-Fault - add statistics Lee Schermerhorn
2010-11-14 6:37 ` [PATCH/RFC 0/8] numa - Migrate-on-Fault KOSAKI Motohiro
2010-11-15 14:13 ` Christoph Lameter
2010-11-15 14:21 ` Andi Kleen
2010-11-15 14:21 ` Andi Kleen
2010-11-15 14:37 ` Andrea Arcangeli
2010-11-15 14:33 ` Andrea Arcangeli
2010-11-17 17:03 ` Lee Schermerhorn
2010-11-17 21:27 ` Andrea Arcangeli
2010-11-16 4:54 ` KOSAKI Motohiro
2010-11-16 4:54 ` KOSAKI Motohiro
2010-11-17 14:45 ` Lee Schermerhorn
2010-11-17 17:10 ` Avi Kivity
2010-11-17 17:34 ` Lee Schermerhorn [this message]
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=1290015254.3786.168.camel@zaphod \
--to=lee.schermerhorn@hp.com \
--cc=aarcange@redhat.com \
--cc=akpm@linux-foundation.org \
--cc=andi@firstfloor.org \
--cc=avi@redhat.com \
--cc=cl@linux-foundation.org \
--cc=hughd@google.com \
--cc=kosaki.motohiro@jp.fujitsu.com \
--cc=linux-numa@vger.kernel.org \
--cc=mel@csn.ul.ie \
--cc=npiggin@kernel.dk \
--cc=rientjes@google.com \
/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.