diff --git a/mm/mempolicy.c b/mm/mempolicy.c index 47296fe..6c189fa 100644 --- a/mm/mempolicy.c +++ b/mm/mempolicy.c @@ -1012,6 +1012,16 @@ int do_migrate_pages(struct mm_struct *mm, int dest = 0; for_each_node_mask(s, tmp) { + + /* IFF there is an equal number of source and + * destination nodes, maintain relative node distance + * even when source and destination nodes overlap. + * However, when the node weight is unequal, never move + * memory out of any destination nodes */
Please use /* * foo bar */ style comment. and this comment only explain how code work but don't explain why. I hope the comment describe HPC usecase require to migrate if src and dest have the same weight. Otherwise looks ok. please feel free to use my ack to your next spin. Acked-by: KOSAKI Motohiro <kosaki.motohiro@xxxxxxxxxxxxxx>
+ if ((nodes_weight(*from_nodes) != nodes_weight(*to_nodes)) && + (node_isset(s, *to_nodes))) + continue; +
-- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/ Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>