On Mon, 4 Mar 2013, Will Huck wrote:Could you explain me why shmem has more relationship with mempolicy? It seemsNUMA mempolicy is mostly handled in mm/mempolicy.c, which services the
that there are many codes in shmem handle mempolicy, but other components in
mm subsystem just have little.
mbind, migrate_pages, set_mempolicy, get_mempolicy system calls: which
govern how process memory is distributed across NUMA nodes.
mm/shmem.c is affected because it was also found useful to specify
mempolicy on the shared memory objects which may back process memory:
that includes SysV SHM and POSIX shared memory and tmpfs. mm/hugetlb.c
contains some mempolicy handling for hugetlbfs; fs/ramfs is kept minimal,
so nothing in there.
Those are the memory-based filesystems, where NUMA mempolicy is most
natural. The regular filesystems could support shared mempolicy too,
but that would raise more awkward design questions.
Hugh