Open MPI logo

Hardware Locality Development Mailing List Archives

  |   Home   |   Support   |   FAQ   |   all Hardware Locality Development mailing list

Subject: Re: [hwloc-devel] Memory affinity
From: Jeff Squyres (jsquyres_at_[hidden])
Date: 2011-02-28 13:51:18


On Feb 28, 2011, at 12:24 PM, Bernd Kallies wrote:

>> 1. I have no reason to doubt this person, but was wondering if someone could confirm this (for Linux).
>
> set_mempolicy(2) of recent 2.6 kernels says:
> Process policy is not remembered if the page is swapped out. When such a
> page is paged back in, it will use the policy of the process or memory
> range that is in effect at the time the page is allocated.

Ah, interesting. That implies two different scenarios:

1. I set a policy, malloc some memory, that memory gets swapped out, I change the policy, then the memory gets swapped back in. And it now obeys the new policy.

2. I malloc some memory and set an explicit policy with hwloc_set_area_membind*(). That memory then gets swapped out, and later gets swapped back in. Since the memory will be the same memory range, it'll keep the same policy as I set with hwloc_set_area_membind(), right?

That would seem to imply that I should always hwloc_set_area_membind() if I want it to persist beyond any potential future swapping.

Does that sound right?

-- 
Jeff Squyres
jsquyres_at_[hidden]
For corporate legal information go to:
http://www.cisco.com/web/about/doing_business/legal/cri/