linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
From: Michal Hocko <mhocko@suse.cz>
To: Frank Mehnert <frank.mehnert@oracle.com>
Cc: Robin Holt <holt@sgi.com>,
	linux-mm@kvack.org,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	Hugh Dickins <hughd@google.com>
Subject: Re: Handling NUMA page migration
Date: Wed, 5 Jun 2013 11:56:30 +0200	[thread overview]
Message-ID: <20130605095630.GL15997@dhcp22.suse.cz> (raw)
In-Reply-To: <201306051132.15788.frank.mehnert@oracle.com>

On Wed 05-06-13 11:32:15, Frank Mehnert wrote:
[...]
> Thank you very much for your help. As I said, this problem happens _only_
> with NUMA_BALANCING enabled. I understand that you treat the VirtualBox
> code as untrusted but the reason for the problem is that some assumption
> is obviously not met: The VirtualBox code assumes that the memory it
> allocates using case A and case B is
> 
>  1. always present and
>  2. will always be backed by the same phyiscal memory
> 
> over the entire life time. Enabling NUMA_BALANCING seems to make this
> assumption false. I only want to know why.

As I said earlier. Both the manual node migration and numa_fault handler
do not migrate pages with elevated ref count (your A case) and pages
that are not on the LRU. So if your Referenced pages might be on the LRU
then you probably have to look into numamigrate_isolate_page and do an
exception for PageReserved pages. But I am a bit suspicious this is the
cause because the reclaim doesn't consider PageReserved pages either so
they could get reclaimed. Or maybe you have handled that path in your
kernel.

Or the other option is that you depend on a timing or something like
that which doesn't hold anymore. That would be hard to debug though.
 
> I see, you don't believe me. I will add more code to the kernel logging
> which pages were migrated.

Simple test for PageReserved flag in numamigrate_isolate_page should
tell you more.

This would cover the migration part. Another potential problem could be
that the page might get unmapped and marked for the numa fault (see
do_numa_page). So maybe your code just assumes that the page even
doesn't get unmapped?
-- 
Michal Hocko
SUSE Labs

--
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>

  reply	other threads:[~2013-06-05  9:56 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <201306040922.10235.frank.mehnert@oracle.com>
2013-06-04 11:58 ` Handling NUMA page migration Robin Holt
2013-06-04 12:14   ` Frank Mehnert
2013-06-04 13:34     ` Robin Holt
2013-06-04 14:02     ` Michal Hocko
2013-06-04 18:17       ` Frank Mehnert
2013-06-04 21:54         ` Frank Mehnert
2013-06-05  7:54           ` Michal Hocko
2013-06-05  8:34             ` Frank Mehnert
2013-06-05  8:56               ` Frank Mehnert
2013-06-05  9:10               ` Michal Hocko
2013-06-05  9:32                 ` Frank Mehnert
2013-06-05  9:56                   ` Michal Hocko [this message]
2013-06-05 10:22                     ` Frank Mehnert
2013-06-05 11:41                       ` Michal Hocko
2013-06-04 15:45     ` Jerome Glisse
2013-06-04 17:49       ` Jerome Glisse
2013-06-05 10:10   ` Mel Gorman
2013-06-05 10:35     ` Frank Mehnert
2013-06-05 12:34       ` Mel Gorman
2013-06-06 10:09         ` Frank Mehnert

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=20130605095630.GL15997@dhcp22.suse.cz \
    --to=mhocko@suse.cz \
    --cc=frank.mehnert@oracle.com \
    --cc=holt@sgi.com \
    --cc=hughd@google.com \
    --cc=linux-kernel@vger.kernel.org \
    --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;
as well as URLs for NNTP newsgroup(s).