On Wed, Oct 08, 2014 at 03:37:27PM -0400, [email protected] wrote:
> +static void init_numa_topology_type(void)
> +{
> +     int a, b, c, n;
> +
> +     n = sched_domains_numa_levels;
> +
> +     if (n <= 1)
> +             sched_numa_topology_type = NUMA_DIRECT;
> +
> +     for_each_online_node(a) {
> +             for_each_online_node(b) {
> +                     /* Find two nodes furthest removed from each other. */
> +                     if (node_hops(a, b) < n)
> +                             continue;
> +
> +                     /* Is there an intermediary node between a and b? */
> +                     for_each_online_node(c) {
> +                             if (node_hops(a, c) < n &&
> +                                 node_hops(b, c) < n) {
> +                                     sched_numa_topology_type =
> +                                                     NUMA_GLUELESS_MESH;
> +                                     return;
> +                             }
> +                     }
> +
> +                     sched_numa_topology_type = NUMA_BACKPLANE;
> +                     return;
> +             }
> +     }
> +}

We can find max_distance nodes in sched_init_numa(), right? Could we not
avoid this second iteration?
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to