From 86a536ca58f4eccd25174372a2cf23c746531521 Mon Sep 17 00:00:00 2001 From: Brice Goglin Date: Mon, 10 Nov 2014 17:13:02 +0100 Subject: [PATCH] hwloc: x86 and OSF: Don't forget to set NUMA node nodeset x86: Not critical since BSDs that use this backend have no membind support, but better fix it for uniformization. (cherry picked from commit open-mpi/hwloc@a431361c7d2a3772ea7a2ffee922b3cf61e858cd) OSF: Looks like nobody ever tried to play with memory binding on OSF/Tru64. (cherry picked from commit open-mpi/hwloc@2d6c73356d8d2dd7a22b99b3d51fbecb002e77b9) Conflicts: NEWS Signed-off-by: Jeff Squyres --- opal/mca/hwloc/hwloc191/hwloc/src/topology-osf.c | 4 +++- opal/mca/hwloc/hwloc191/hwloc/src/topology-x86.c | 2 ++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/opal/mca/hwloc/hwloc191/hwloc/src/topology-osf.c b/opal/mca/hwloc/hwloc191/hwloc/src/topology-osf.c index c7ed7b2457..c2f1e59fb6 100644 --- a/opal/mca/hwloc/hwloc191/hwloc/src/topology-osf.c +++ b/opal/mca/hwloc/hwloc191/hwloc/src/topology-osf.c @@ -1,6 +1,6 @@ /* * Copyright © 2009 CNRS - * Copyright © 2009-2012 Inria. All rights reserved. + * Copyright © 2009-2014 Inria. All rights reserved. * Copyright © 2009-2011 Université Bordeaux 1 * Copyright © 2011 Cisco Systems, Inc. All rights reserved. * See COPYING in top-level directory. @@ -283,6 +283,8 @@ hwloc_look_osf(struct hwloc_backend *backend) indexes[radid] = radid; nodes[radid] = obj = hwloc_alloc_setup_object(HWLOC_OBJ_NODE, radid); + obj->nodeset = hwloc_bitmap_alloc(); + hwloc_bitmap_set(obj->nodeset, radid); obj->cpuset = hwloc_bitmap_alloc(); obj->memory.local_memory = rad_get_physmem(radid) * hwloc_getpagesize(); obj->memory.page_types_len = 2; diff --git a/opal/mca/hwloc/hwloc191/hwloc/src/topology-x86.c b/opal/mca/hwloc/hwloc191/hwloc/src/topology-x86.c index 611aea1e92..81d8bd4cb5 100644 --- a/opal/mca/hwloc/hwloc191/hwloc/src/topology-x86.c +++ b/opal/mca/hwloc/hwloc191/hwloc/src/topology-x86.c @@ -517,6 +517,8 @@ static void summarize(hwloc_topology_t topology, struct procinfo *infos, unsigne } node = hwloc_alloc_setup_object(HWLOC_OBJ_NODE, nodeid); node->cpuset = node_cpuset; + node->nodeset = hwloc_bitmap_alloc(); + hwloc_bitmap_set(node->nodeset, nodeid); hwloc_debug_1arg_bitmap("os node %u has cpuset %s\n", nodeid, node_cpuset); hwloc_insert_object_by_cpuset(topology, node);