find_next_best_node — find the next node that should appear in a given node's fallback list
|nodemask_t * used_node_mask|
node whose fallback list we're appending
nodemask_t * used_node_mask
nodemask_t of already used nodes
We use a number of factors to determine which is the next node that should
appear on a given node's fallback list. The node should not have appeared
node's fallback list, and it should be the next closest node
according to the distance array (which contains arbitrary distance values
from each node to each node in the system), and should also prefer nodes
with no CPUs, since presumably they'll have very little allocation pressure
on them otherwise.
It returns -1 if no node is found.