Re: [PATCH 2/4] sched,numa: weigh nearby nodes for task placement on complex NUMA topologies

From: Peter Zijlstra
Date: Fri May 09 2014 - 05:53:31 EST


On Thu, May 08, 2014 at 01:23:29PM -0400, riel@xxxxxxxxxx wrote:
> + /*
> + * For nodes with distances in-between LOCAL_DISTANCE
> + * and max_distance, we count the faults on those nodes
> + * in proportion to their distance, using this formula:
> + *
> + * max_distance - node_distance
> + * -----------------------------
> + * max_distance - LOCAL_DISTANCE
> + */
> + if (task)
> + faults = task_faults(p, node);
> + else
> + faults = group_faults(p, node);
> +
> + score += 1000 * faults *
> + (max_distance - distance) /
> + (max_distance - LOCAL_DISTANCE);

OK that makes sense, except I would suggest you use a power-of-two scale
factor :-)

Attachment: pgpBkJtshQcHe.pgp
Description: PGP signature