Re: NUMA policy interface

Andi Kleen
2005-08-04T23:40:25Z

On Thu, Aug 04, 2005 at 03:19:52PM -0700, Christoph Lameter wrote:
> There are three possibilites:
>
> 1. do what cpusets is doing by versioning.
>
> 2. Have the task notifier access the task_struct information.
> See http://lwn.net/Articles/145232/ "A new path to the refrigerator"
>
> 3. Maybe the easiest: Require mmap_sem to be taken for all policy
> accesses. Currently its only require for vma policies. Then we need
> to make a copy of the policy at some point so that alloc_pages can
> access policy information lock free. This may also allow us to fix
> the bind issue if we would f.e. keep a bitmap in the taskstruct or (ab)use
> the cpusets map.

None of them seem very attractive to me. I would prefer to just
not support external accesses keeping things lean and fast.

> > If they cannot afford enough disk space it might be possible
> > to do the page migration in swap cache like Hugh proposed.
>
> This code already exist in the memory hotplug code base and Ray already
> had a working implementation for page migration. The migration code will
> also be necessary in order to relocate pages with ECC single bit failures
> that Russ is working on (of course that will only work for some pages) and
> for Mel Gorman's defragmentation approach (if we ever get the split into
> differnet types of memory chunks in).

Individual physical page migration is quite different from
address space migration.

-Andi