Re: page migration: Fail with error if swap not setup

Christoph Lameter
2006-03-15T17:11:07Z

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