Messages in this thread | | | Date | Fri, 30 Mar 2012 11:15:01 -0500 (CDT) | From | Christoph Lameter <> | Subject | Re: [PATCH -mm] do_migrate_pages() calls migrate_to_node() even if task is already on a correct node |
| |
On Thu, 29 Mar 2012, KOSAKI Motohiro wrote:
> > > > 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 */ > > + if ((nodes_weight(*from_nodes) != > > nodes_weight(*to_nodes)) && > > + (node_isset(s, *to_nodes))) > > + continue; > > + > > d = node_remap(s, *from_nodes, *to_nodes); > > if (s == d) > > continue; > > I'm confused. Could you please explain why you choose nodes_weight()? On my > first impression, > it seems almostly unrelated factor.
Isnt this the original code by Paul? I would think that the 1-1 movement is only useful to do if the number of nodes in both the destination and the source is the same.
| |