Skip to content
  • Tang Chen's avatar
    Documentation/vm/numa_memory_policy.txt: fix wrong document in numa_memory_policy.txt · 8f28ed92
    Tang Chen authored
    In document numa_memory_policy.txt, the following examples for flag
    MPOL_F_RELATIVE_NODES are incorrect.
    
    	For example, consider a task that is attached to a cpuset with
    	mems 2-5 that sets an Interleave policy over the same set with
    	MPOL_F_RELATIVE_NODES.  If the cpuset's mems change to 3-7, the
    	interleave now occurs over nodes 3,5-6.  If the cpuset's mems
    	then change to 0,2-3,5, then the interleave occurs over nodes
    	0,3,5.
    
    According to the comment of the patch adding flag MPOL_F_RELATIVE_NODES,
    the nodemasks the user specifies should be considered relative to the
    current task's mems_allowed.
    
     (https://lkml.org/lkml/2008/2/29/428
    
    )
    
    And according to numa_memory_policy.txt, if the user's nodemask includes
    nodes that are outside the range of the new set of allowed nodes, then
    the remap wraps around to the beginning of the nodemask and, if not
    already set, sets the node in the mempolicy nodemask.
    
    So in the example, if the user specifies 2-5, for a task whose
    mems_allowed is 3-7, the nodemasks should be remapped the third, fourth,
    fifth, sixth node in mems_allowed.  like the following:
    
    	mems_allowed:       3  4  5  6  7
    
    	relative index:     0  1  2  3  4
    	                    5
    
    So the nodemasks should be remapped to 3,5-7, but not 3,5-6.
    
    And for a task whose mems_allowed is 0,2-3,5, the nodemasks should be
    remapped to 0,2-3,5, but not 0,3,5.
    
    	mems_allowed:       0  2  3  5
    
            relative index:     0  1  2  3
                                4  5
    
    Signed-off-by: default avatarTang Chen <tangchen@cn.fujitsu.com>
    Cc: Randy Dunlap <rdunlap@infradead.org>
    Acked-by: default avatarDavid Rientjes <rientjes@google.com>
    Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
    Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
    8f28ed92