linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
From: Christoph Lameter <clameter@sgi.com>
To: Lee Schermerhorn <lee.schermerhorn@hp.com>
Cc: linux-mm@kvack.org, nickpiggin@yahoo.com.au, akpm@osdl.org,
	Marcelo Tosatti <marcelo.tosatti@cyclades.com>
Subject: Re: page migration: Fail with error if swap not setup
Date: Wed, 15 Mar 2006 09:11:07 -0800 (PST)	[thread overview]
Message-ID: <Pine.LNX.4.64.0603150901530.26799@schroedinger.engr.sgi.com> (raw)
In-Reply-To: <1142434053.5198.1.camel@localhost.localdomain>

On Wed, 15 Mar 2006, Lee Schermerhorn wrote:

> On Tue, 2006-03-14 at 19:05 -0800, Christoph Lameter wrote:
> > Currently the migration of anonymous pages will silently fail if no swap 
> > is setup. This patch makes page migration functions check for available 
> > swap and fail with -ENODEV if no swap space is available.
> 
> Migration Cache, anyone?  ;-)

Yes, but please cleanly integrated into the way swap works.

At that point we can also follow Marcelo's suggestion and move the 
migration code into mm/mmigrate.c because it then becomes easier to 
separate the migration code from swap.

There are a couple of other pending things that are also listed in 
the todo list in Documentation/vm/page-migration

1. Somehow safely track the prior mm_structs that a pte was mapped to 
(increase mm refcount?) and restore those mappings to avoid faults to 
restore ptes after a page was moved.

2. Avoid dirty bit faults for dirty pages.

More things to consider:

- Add migration support for more filesystems.

- Lazy migration in the fault paths (seems to depend on first implementing 
proper policy support for file backed pages).

- Support migration of VM_LOCKED pages (First question is if we want to 
  have that at all. Does VM_LOCKED imply that a page is fixed at a 
  specific location in memory?).

- Think about how to realize migration of kernel pages (some arches have
  page table for kernel space, one could potentially remap the address 
  instead of going through all the twists and turns of the existing 
  hotplug approach. See also what virtual iron has done about this.).

--
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:[~2006-03-15 17:11 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-03-15  3:05 Christoph Lameter
2006-03-15  3:24 ` Andrew Morton
2006-03-15  3:49   ` Christoph Lameter
2006-03-15  3:52     ` Andrew Morton
2006-03-15  3:59       ` Christoph Lameter
2006-03-15 12:49         ` Nick Piggin
2006-03-15 16:35           ` Christoph Lameter
2006-03-15  3:53   ` Christoph Lameter
2006-03-15 14:47 ` Lee Schermerhorn
2006-03-15 17:11   ` Christoph Lameter [this message]
2006-03-15 20:47     ` Marcelo Tosatti
2006-03-15 18:08       ` Christoph Lameter
2006-03-15 21:39         ` Marcelo Tosatti
2006-03-15 19:00           ` Christoph Lameter
2006-03-15 23:06             ` Marcelo Tosatti

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=Pine.LNX.4.64.0603150901530.26799@schroedinger.engr.sgi.com \
    --to=clameter@sgi.com \
    --cc=akpm@osdl.org \
    --cc=lee.schermerhorn@hp.com \
    --cc=linux-mm@kvack.org \
    --cc=marcelo.tosatti@cyclades.com \
    --cc=nickpiggin@yahoo.com.au \
    /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