Re: [PATCH RFC 5/5] sched,numa: find the preferred nid with complex NUMA topology

From: Peter Zijlstra
Date: Sun Oct 12 2014 - 10:56:35 EST


On Wed, Oct 08, 2014 at 03:37:30PM -0400, riel@xxxxxxxxxx wrote:
> +static int preferred_group_nid(struct task_struct *p, int nid)
> +{
> + nodemask_t nodes;
> + int hops;
> +
> + /* Direct connections between all NUMA nodes. */
> + if (sched_numa_topology_type == NUMA_DIRECT)
> + return nid;
> +
> + /*
> + * On a system with glueless mesh NUMA topology, group_weight
> + * scores nodes according to the number of NUMA hinting faults on
> + * both the node itself, and on nearby nodes.
> + */
> + if (sched_numa_topology_type == NUMA_GLUELESS_MESH) {
> + unsigned long score, max_score = 0;
> + int node, max_node = nid;
> +
> + hops = sched_domains_numa_levels;
> +
> + for_each_online_node(node) {
> + score = group_weight(p, node, hops);
> + if (score > max_score) {
> + max_score = score;
> + max_node = node;
> + }
> + }
> + return max_node;
> + }

This too is O(nr_nodes^2), right?
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/