Re: MPOL_INTERLEAVE page-wise binding dump
Ananya Muddukrishna <[email protected]> Thu, 22 Dec 2011 20:56:16 +0000 (UTC)
| Newsgroups | org.kernel.vger.linux-numa |
|---|---|
| Message-ID | <[email protected]> |
> > Is there an inexpensive way to determine > > which pages (virtual addresses) > > are bound to which NUMA nodes when > > using MPOL_INTERLEAVE or MPOL_BIND > > with a given set of nodes? > > > get_mempolicy MPOL_F_ADDR|MPOL_F_NODE > Thanks! I will check this out and get back. I hope this returns the affinity as a page-to-node map. > > > > I want to implement a strict > > round-robin based interleaving > > policy based on MPOL_INTERLEAVE. > > What's the rationale? The rationale relates to scheduling tasks (OpenMP and the like) with page affinity in a user-level runtime system (work-crew threading model). The runtime system allocates memory pages in a deterministic way using mbind and from then on, schedules tasks such that accesses to task operated pages (affinity) do not incur large NUMA overheads. I am thinking of using mlock so that swapin_readahead does not affect the affinity of runtime-allocated pages. The first-touch policy is not of much help since the allocated memory is initialized before tasks are scheduled. -- Ananya